RPM Package Manager, CVS Repository http://rpm5.org/cvs/ ____________________________________________________________________________
Server: rpm5.org Name: Per Øyvind Karlsen Root: /v/rpm/cvs Email: [EMAIL PROTECTED] Module: rpm Date: 06-Dec-2007 23:58:17 Branch: rpm-4_5 Handle: 2007120622581601 Modified files: (Branch: rpm-4_5) rpm configure.ac macros.in rpm/rpmio LzmaDecode.c LzmaDecode.h rpmio.c rpmmacro.h Log: Removes obsolete lzma utils stuff and fixes lzma payload compression usage. PR: LZMA support used obsolete version of utils. Payload definition didn't set compression level.. Submitted by: Per Ãyvind Karlsen Obtained from: Anders F Björklund (rpm 5.0 branch) Summary: Revision Changes Path 2.70.2.21 +0 -1 rpm/configure.ac 1.159.2.9 +2 -3 rpm/macros.in 1.2.2.1 +1 -1 rpm/rpmio/LzmaDecode.c 1.2.2.1 +1 -1 rpm/rpmio/LzmaDecode.h 1.79.2.5 +18 -4 rpm/rpmio/rpmio.c 2.39.2.1 +1 -1 rpm/rpmio/rpmmacro.h ____________________________________________________________________________ patch -p0 <<'@@ .' Index: rpm/configure.ac ============================================================================ $ cvs diff -u -r2.70.2.20 -r2.70.2.21 configure.ac --- rpm/configure.ac 27 Sep 2007 07:47:42 -0000 2.70.2.20 +++ rpm/configure.ac 6 Dec 2007 22:58:16 -0000 2.70.2.21 @@ -264,7 +264,6 @@ AC_PATH_PROG(__LDCONFIG, ldconfig, /sbin/ldconfig, $MYPATH) AC_PATH_PROG(__LUA, lua, %{_bindir}/lua, $MYPATH) AC_PATH_PROG(__LZMA, lzma, %{_bindir}/lzma, $MYPATH) -AC_PATH_PROG(__LZMASH, lzmash, %{_bindir}/lzmash, $MYPATH) AC_PATH_PROG(__LZOP, lzop, %{_bindir}/lzop, $MYPATH) AC_PATH_PROG(__MAKE, make, %{_bindir}/make, $MYPATH) AC_PATH_PROG(__MKDIR, mkdir, /bin/mkdir, $MYPATH) @@ . patch -p0 <<'@@ .' Index: rpm/macros.in ============================================================================ $ cvs diff -u -r1.159.2.8 -r1.159.2.9 macros.in --- rpm/macros.in 19 Aug 2007 22:19:40 -0000 1.159.2.8 +++ rpm/macros.in 6 Dec 2007 22:58:16 -0000 1.159.2.9 @@ -1,7 +1,7 @@ #/*! \page config_macros Default configuration: @USRLIBRPM@/macros # \verbatim # -# $Id: macros.in,v 1.159.2.8 2007/08/19 22:19:40 robert Exp $ +# $Id: macros.in,v 1.159.2.9 2007/12/06 22:58:16 pkarlsen Exp $ # # This is a global RPM configuration file. All changes made here will # be lost when the rpm package is upgraded. Any per-system configuration @@ -64,7 +64,6 @@ %__lua @__LUA@ %__ln_s @LN_S@ %__lzma @__LZMA@ -%__lzmash @__LZMASH@ %__lzop @__LZOP@ %__make @__MAKE@ %make %{__make} @@ -345,7 +344,7 @@ # Compression type and level for source/binary package payloads. # "w9.gzdio" gzip level 9 (default). # "w9.bzdio" bzip2 level 9. -# "w9.lzdio" lzma level 9. +# "w5.lzdio" lzma level 5. (most optimal compromise) # #%_source_payload w9.gzdio #%_binary_payload w9.gzdio @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/LzmaDecode.c ============================================================================ $ cvs diff -u -r1.2 -r1.2.2.1 LzmaDecode.c --- rpm/rpmio/LzmaDecode.c 25 May 2007 18:34:14 -0000 1.2 +++ rpm/rpmio/LzmaDecode.c 6 Dec 2007 22:58:17 -0000 1.2.2.1 @@ -4,7 +4,7 @@ LzmaDecode.c LZMA Decoder (optimized for Speed version) - LZMA SDK 4.22 Copyright (c) 1999-2005 Igor Pavlov (2005-06-10) + LZMA SDK 4.32 Copyright (c) 1999-2005 Igor Pavlov (2005-12-09) http://www.7-zip.org/ LZMA SDK is licensed under two licenses: @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/LzmaDecode.h ============================================================================ $ cvs diff -u -r1.2 -r1.2.2.1 LzmaDecode.h --- rpm/rpmio/LzmaDecode.h 25 May 2007 18:34:14 -0000 1.2 +++ rpm/rpmio/LzmaDecode.h 6 Dec 2007 22:58:17 -0000 1.2.2.1 @@ -2,7 +2,7 @@ LzmaDecode.h LZMA Decoder interface - LZMA SDK 4.21 Copyright (c) 1999-2005 Igor Pavlov (2005-06-08) + LZMA SDK 4.32 Copyright (c) 1999-2005 Igor Pavlov (2005-12-09) http://www.7-zip.org/ LZMA SDK is licensed under two licenses: @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmio.c ============================================================================ $ cvs diff -u -r1.79.2.4 -r1.79.2.5 rpmio.c --- rpm/rpmio/rpmio.c 30 Jul 2007 02:59:55 -0000 1.79.2.4 +++ rpm/rpmio/rpmio.c 6 Dec 2007 22:58:17 -0000 1.79.2.5 @@ -2813,13 +2813,25 @@ return rc; } -static FD_t lzdWriteOpen(int fdno, int fopen) +/[EMAIL PROTECTED]@*/ /* XXX hide rpmGlobalMacroContext mods for now. */ +static FD_t lzdWriteOpen(int fdno, int fopen, const char * mode) /[EMAIL PROTECTED] fileSystem, internalState @*/ /[EMAIL PROTECTED] fileSystem, internalState @*/ { int pid; int p[2]; int xx; + const char *lzma; + char l[3]; + const char *level; + + if (isdigit(mode[1])) /* "w5" */ + { + sprintf(l, "-%c", mode[1]); + level = l; + } + else + level = NULL; if (fdno < 0) return NULL; if (pipe(p) < 0) { @@ -2856,8 +2868,10 @@ xx = dup2(fdno, 1); for (i = 3; i < 1024; i++) xx = close(i); - if (execl("/usr/bin/lzma", "lzma", "e", "-si", "-so", NULL)) + lzma = rpmGetPath("%{?__lzma}%{!?__lzma:/usr/bin/lzma}", NULL); + if (execl(lzma, "lzma", level, NULL)) _exit(1); + lzma = _free(lzma); } return NULL; /* warning */ } @@ -2923,7 +2937,7 @@ int fdno = open(path, O_WRONLY); if (fdno < 0) return NULL; - return lzdWriteOpen(fdno, 1); + return lzdWriteOpen(fdno, 1, mode); } else { int fdno = open(path, O_RDONLY); @@ -2946,7 +2960,7 @@ fdSetFdno(fd, -1); /* XXX skip the fdio close */ if (fdno < 0) return NULL; if (fmode[0] == 'w') { - return lzdWriteOpen(fdno, 0); + return lzdWriteOpen(fdno, 0, fmode); } else { return lzdReadOpen(fdno, 0); } @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmmacro.h ============================================================================ $ cvs diff -u -r2.39 -r2.39.2.1 rpmmacro.h --- rpm/rpmio/rpmmacro.h 25 May 2007 17:36:36 -0000 2.39 +++ rpm/rpmio/rpmmacro.h 6 Dec 2007 22:58:17 -0000 2.39.2.1 @@ -170,7 +170,7 @@ COMPRESSED_BZIP2 = 2, /*!< bzip2 can handle */ COMPRESSED_ZIP = 3, /*!< unzip can handle */ COMPRESSED_LZOP = 4, /*!< lzop can handle */ - COMPRESSED_LZMA = 5 /*!< lzmash can handle */ + COMPRESSED_LZMA = 5 /*!< lzma can handle */ } rpmCompressedMagic; /** @@ . ______________________________________________________________________ RPM Package Manager http://rpm5.org CVS Sources Repository rpm-cvs@rpm5.org