[CVS] RPM: rpm/ devtool.conf
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Anders F. Björklund Root: /v/rpm/cvs Email: a...@rpm5.org Module: rpm Date: 15-Dec-2008 21:04:50 Branch: HEAD Handle: 2008121520045000 Modified files: rpm devtool.conf Log: macosx: explicitly enable bzip2 too Summary: RevisionChanges Path 2.255 +1 -0 rpm/devtool.conf patch -p0 '@@ .' Index: rpm/devtool.conf $ cvs diff -u -r2.254 -r2.255 devtool.conf --- rpm/devtool.conf 10 Dec 2008 20:22:10 - 2.254 +++ rpm/devtool.conf 15 Dec 2008 20:04:50 - 2.255 @@ -1681,6 +1681,7 @@ --with-db=internal \ --with-lua=internal \ --with-zlib=external \ +--with-bzip2=external \ --with-file=internal \ --with-xar=internal \ --with-lzma=internal \ @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ rpm.spec.in
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Anders F. Björklund Root: /v/rpm/cvs Email: a...@rpm5.org Module: rpm Date: 15-Dec-2008 22:02:51 Branch: HEAD Handle: 2008121521025100 Modified files: rpm rpm.spec.in Log: add lzma for completeness, using external/yes fails Summary: RevisionChanges Path 2.454 +18 -1 rpm/rpm.spec.in patch -p0 '@@ .' Index: rpm/rpm.spec.in $ cvs diff -u -r2.453 -r2.454 rpm.spec.in --- rpm/rpm.spec.in 1 Dec 2008 19:29:46 - 2.453 +++ rpm/rpm.spec.in 15 Dec 2008 21:02:51 - 2.454 @@ -2,6 +2,7 @@ %define with_python_version @python_vers...@%{nil} %define with_perl_subpackage@with_perl_subpack...@%{nil} %define with_bzip2 @with_bz...@%{nil} +%define with_lzma @with_l...@%{nil} %define with_apidocs@with_apid...@%{nil} %{!?_usrlibrpm:%global _usrlibrpm @usrlib...@} @@ -38,6 +39,9 @@ %if %{with_bzip2} == yes BuildRequires: bzip2-devel = 1.0 %endif +%if %{with_lzma} == yes +BuildRequires: lzma-utils-devel = 4.999.3 +%endif %if %{with_apidocs} == 1 BuildRequires: doxygen graphviz %endif @@ -152,6 +156,18 @@ # XXX rpm needs functioning nptl for configure tests unset LD_ASSUME_KERNEL || : +%if %{with_bzip2} == yes +WITH_BZIP2=--with-bzip2=external +%else +WITH_BZIP2=--without-bzip2 +%endif + +%if %{with_lzma} == yes +WITH_LZMA=--with-lzma=%{_prefix} +%else +WITH_LZMA=--without-lzma +%endif + %if %{with_python_subpackage} WITH_PYTHON=--with-python=%{with_python_version} %else @@ -181,7 +197,8 @@ --with-nss=external \ --with-neon=external \ --with-xar=internal \ ---with-bzip2=external \ + $WITH_BZIP2 \ + $WITH_LZMA \ --with-popt=external \ --with-keyutils=external \ --with-libelf \ @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: file/src/ compress.c rpm/build/ pack.c parsePrep.c rpm/lib/...
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Per Øyvind Karlsen Root: /v/rpm/cvs Email: pkarl...@rpm5.org Module: rpm file Date: 15-Dec-2008 23:43:45 Branch: HEAD Handle: 2008121522434302 Modified files: file/srccompress.c rpm macros.in rpm/build pack.c parsePrep.c rpm/lib psm.c rpmds.c rpm/rpmio lzdio.c macro.c rpmgrep.c rpmio.c rpmio.h rpmmacro.h rpmtar.c rpm/tools rpm2cpio.c rpmrepo.c Log: - proyvind: lzdio: set memlimit for decoding to 100MiB. - proyvind: add support for xz for all tools shipped with rpm. - proyvind: lzdio: add support for xz format. (removes liblzma 4.999.3 support) Summary: RevisionChanges Path 1.19+2 -1 file/src/compress.c 2.303 +8 -0 rpm/build/pack.c 2.127 +6 -0 rpm/build/parsePrep.c 2.341 +2 -0 rpm/lib/psm.c 2.114 +3 -0 rpm/lib/rpmds.c 1.263 +3 -2 rpm/macros.in 1.19+167 -120 rpm/rpmio/lzdio.c 2.209 +11 -1 rpm/rpmio/macro.c 1.79+2 -0 rpm/rpmio/rpmgrep.c 1.150 +7 -2 rpm/rpmio/rpmio.c 1.80+4 -0 rpm/rpmio/rpmio.h 2.51+2 -1 rpm/rpmio/rpmmacro.h 1.23+2 -0 rpm/rpmio/rpmtar.c 2.7 +2 -0 rpm/tools/rpm2cpio.c 2.10+6 -0 rpm/tools/rpmrepo.c patch -p0 '@@ .' Index: file/src/compress.c $ cvs diff -u -r1.18 -r1.19 compress.c --- file/src/compress.c 28 Apr 2008 17:42:12 - 1.18 +++ file/src/compress.c 15 Dec 2008 22:43:43 - 1.19 @@ -82,7 +82,8 @@ { BZh, 3, { bzip2, -cd, NULL }, 1 }, /* bzip2-ed */ /* The first bytes of a LZMA compressed file describe some compression settings and thus vary. This handles the most common case: */ - { ]\000\000,3, { lzma, -cdq, NULL }, 1 }, /* lzma-ed */ + { ]\000\000,3, { lzma, -cdq, NULL }, 1 }, /* lzma-ed */ + { \xFD\x37zXZ\x00,3, { xz, -cdq, NULL }, 1 }, /* xz-ed */ }; /*...@=nullassign@*/ @@ . patch -p0 '@@ .' Index: rpm/build/pack.c $ cvs diff -u -r2.302 -r2.303 pack.c --- rpm/build/pack.c 14 Nov 2008 10:01:25 - 2.302 +++ rpm/build/pack.c 15 Dec 2008 22:43:43 - 2.303 @@ -688,6 +688,14 @@ xx = headerPut(h, he, 0); he-p.ptr = _free(he-p.ptr); (void) rpmlibNeedsFeature(h, PayloadIsLzma, 4.4.6-1); + } else if (s[1] == 'x' s[2] == 'z') { + he-tag = RPMTAG_PAYLOADCOMPRESSOR; + he-t = RPM_STRING_TYPE; + he-p.str = xstrdup(xz); + he-c = 1; + xx = headerPut(h, he, 0); + he-p.ptr = _free(he-p.ptr); + (void) rpmlibNeedsFeature(h, PayloadIsXz, 5.2-1); } strcpy(buf, rpmio_flags); buf[s - rpmio_flags] = '\0'; @@ . patch -p0 '@@ .' Index: rpm/build/parsePrep.c $ cvs diff -u -r2.126 -r2.127 parsePrep.c --- rpm/build/parsePrep.c 14 Nov 2008 10:01:25 - 2.126 +++ rpm/build/parsePrep.c 15 Dec 2008 22:43:43 - 2.127 @@ -165,6 +165,9 @@ case COMPRESSED_LZMA: zipper = %{__lzma}; break; + case COMPRESSED_XZ: + zipper = %{__xz}; + break; } zipper = rpmGetPath(zipper, NULL); @@ -299,6 +302,9 @@ case COMPRESSED_LZMA: t = %{__lzma} -dc; break; + case COMPRESSED_XZ: + t = %{__xz} -dc; + break; case COMPRESSED_ZIP: #if defined(RPM_VENDOR_OPENPKG) /* use-bsdtar-for-zip-files */ t = %{__bsdtar} -x -f; @@ . patch -p0 '@@ .' Index: rpm/lib/psm.c $ cvs diff -u -r2.340 -r2.341 psm.c --- rpm/lib/psm.c 13 Dec 2008 20:37:56 - 2.340 +++ rpm/lib/psm.c 15 Dec 2008 22:43:44 - 2.341 @@ -2752,6 +2752,8 @@ t = stpcpy(t, .bzdio); if (!strcmp(payload_compressor, lzma)) t = stpcpy(t, .lzdio); + if (!strcmp(payload_compressor, xz)) + t = stpcpy(t, .xzdio); payload_compressor = _free(payload_compressor); he-tag = RPMTAG_PAYLOADFORMAT; @@ . patch -p0 '@@ .' Index:
[CVS] RPM: rpm/ CHANGES
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Per Øyvind Karlsen Root: /v/rpm/cvs Email: pkarl...@rpm5.org Module: rpm Date: 15-Dec-2008 23:44:35 Branch: HEAD Handle: 2008121522443500 Modified files: rpm CHANGES Log: - proyvind: lzdio: set memlimit for decoding to 100MiB. - proyvind: add support for xz for all tools shipped with rpm. - proyvind: lzdio: add support for xz format. (removes liblzma 4.999.3 support) Summary: RevisionChanges Path 1.2690 +3 -0 rpm/CHANGES patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.2689 -r1.2690 CHANGES --- rpm/CHANGES 14 Dec 2008 15:55:45 - 1.2689 +++ rpm/CHANGES 15 Dec 2008 22:44:35 - 1.2690 @@ -1,5 +1,8 @@ 5.2a2 - 5.2a3: +- proyvind: lzdio: set memlimit for decoding to 100MiB. +- proyvind: add support for xz for all tools shipped with rpm. +- proyvind: lzdio: add support for xz format. (removes liblzma 4.999.3 support) - jbj: rpmgc: display errors with gcry_strerror(). - jbj: rpmnss: eliminate pubkey type wrapping methods. - jbj: stub in pgpImpl{Set,Verify}ECDSA methods. @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: file/src/ compress.c
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Per Øyvind Karlsen Root: /v/rpm/cvs Email: pkarl...@rpm5.org Module: file Date: 15-Dec-2008 23:52:26 Branch: HEAD Handle: 2008121522522600 Modified files: file/srccompress.c Log: hex string escape cosmetics.. Summary: RevisionChanges Path 1.20+1 -1 file/src/compress.c patch -p0 '@@ .' Index: file/src/compress.c $ cvs diff -u -r1.19 -r1.20 compress.c --- file/src/compress.c 15 Dec 2008 22:43:43 - 1.19 +++ file/src/compress.c 15 Dec 2008 22:52:26 - 1.20 @@ -83,7 +83,7 @@ /* The first bytes of a LZMA compressed file describe some compression settings and thus vary. This handles the most common case: */ { ]\000\000,3, { lzma, -cdq, NULL }, 1 }, /* lzma-ed */ - { \xFD\x37zXZ\x00,3, { xz, -cdq, NULL }, 1 }, /* xz-ed */ + { \3757zXZ\x00,3, { xz, -cdq, NULL }, 1 },/* xz-ed */ }; /*...@=nullassign@*/ @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: file/src/ compress.c
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Per Øyvind Karlsen Root: /v/rpm/cvs Email: pkarl...@rpm5.org Module: file Date: 16-Dec-2008 00:04:38 Branch: HEAD Handle: 2008121523043700 Modified files: file/srccompress.c Log: set proper length of xz magic (thx lasse collin!) Summary: RevisionChanges Path 1.21+1 -1 file/src/compress.c patch -p0 '@@ .' Index: file/src/compress.c $ cvs diff -u -r1.20 -r1.21 compress.c --- file/src/compress.c 15 Dec 2008 22:52:26 - 1.20 +++ file/src/compress.c 15 Dec 2008 23:04:37 - 1.21 @@ -83,7 +83,7 @@ /* The first bytes of a LZMA compressed file describe some compression settings and thus vary. This handles the most common case: */ { ]\000\000,3, { lzma, -cdq, NULL }, 1 }, /* lzma-ed */ - { \3757zXZ\x00,3, { xz, -cdq, NULL }, 1 },/* xz-ed */ + { \3757zXZ\x00,6, { xz, -cdq, NULL }, 1 },/* xz-ed */ }; /*...@=nullassign@*/ @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/po/ POTFILES.in rpm/rpmio/ Makefile.am lzdio.c xzdio.c
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Per Øyvind Karlsen Root: /v/rpm/cvs Email: pkarl...@rpm5.org Module: rpm Date: 16-Dec-2008 00:33:58 Branch: HEAD Handle: 2008121523335701 Added files: rpm/rpmio xzdio.c Modified files: rpm/po POTFILES.in rpm/rpmio Makefile.am Removed files: rpm/rpmio lzdio.c Log: xzdio: rename from lzdio. Summary: RevisionChanges Path 1.76+1 -1 rpm/po/POTFILES.in 1.199 +1 -1 rpm/rpmio/Makefile.am 1.20+0 -483rpm/rpmio/lzdio.c 1.1 +483 -0 rpm/rpmio/xzdio.c patch -p0 '@@ .' Index: rpm/po/POTFILES.in $ cvs diff -u -r1.75 -r1.76 POTFILES.in --- rpm/po/POTFILES.in10 Sep 2008 09:40:11 - 1.75 +++ rpm/po/POTFILES.in15 Dec 2008 23:33:57 - 1.76 @@ -77,7 +77,7 @@ rpmio/gzdio.c rpmio/iosm.c rpmio/lookup3.c -rpmio/lzdio.c +rpmio/xzdio.c rpmio/macro.c rpmio/md2.c rpmio/md4.c @@ . patch -p0 '@@ .' Index: rpm/rpmio/Makefile.am $ cvs diff -u -r1.198 -r1.199 Makefile.am --- rpm/rpmio/Makefile.am 5 Dec 2008 20:56:51 - 1.198 +++ rpm/rpmio/Makefile.am 15 Dec 2008 23:33:58 - 1.199 @@ -72,7 +72,7 @@ usrlib_LTLIBRARIES = librpmio.la librpmio_la_SOURCES = \ ar.c argv.c bzdio.c cpio.c crc.c digest.c fnmatch.c fts.c \ - getdate.c gzdio.c glob.c iosm.c lzdio.c \ + getdate.c gzdio.c glob.c iosm.c xzdio.c \ macro.c mire.c mount.c poptIO.c \ md2.c md4.c rmd128.c rmd160.c rmd256.c rmd320.c sha224.c \ salsa10.c salsa20.c tiger.c \ @@ . rm -f rpm/rpmio/lzdio.c '@@ .' Index: rpm/rpmio/lzdio.c [NO CHANGE SUMMARY BECAUSE FILE AS A WHOLE IS JUST REMOVED] @@ . patch -p0 '@@ .' Index: rpm/rpmio/xzdio.c $ cvs diff -u -r0 -r1.1 xzdio.c --- /dev/null 2008-12-16 00:33:05 +0100 +++ xzdio.c 2008-12-16 00:33:58 +0100 @@ -0,0 +1,483 @@ +/** \ingroup rpmio + * \file rpmio/xzdio.c + * Support for LZMA compression library. + */ + +#include system.h +#include rpmio_internal.h +#include rpmmacro.h +#include rpmcb.h + +#if defined(HAVE_LZMA_H) + +/* provide necessary defines for inclusion of lzma.h + similar to LZMAUtils's internal common.h and as + explicitly stated in the top-level comment of lzma.h */ +#ifndef UINT32_C +#define UINT32_C(n) n ## U +#endif +#ifndef UINT32_MAX +#define UINT32_MAX UINT32_C(4294967295) +#endif +#if SIZEOF_UNSIGNED_LONG == 4 +#ifndef UINT64_C +#define UINT64_C(n) n ## ULL +#endif +#else +#ifndef UINT64_C +#define UINT64_C(n) n ## UL +#endif +#endif +#ifndef UINT64_MAX +#define UINT64_MAX UINT64_C(18446744073709551615) +#endif + +#include lzma.h + +#include debug.h + +/*...@access FD_t @*/ + +#define XZDONLY(fd) assert(fdGetIo(fd) == xzdio) + +#define kBufferSize (1 15) + +typedef struct xzfile { +/*...@only@*/ +rpmuint8_t buf[kBufferSize]; /*! IO buffer */ +lzma_stream strm;/*! LZMA stream */ +/*...@dependent@*/ +FILE * fp; +int encoding; +int eof; +} XZFILE; + +/*...@-globstate@*/ +/*...@null@*/ +static XZFILE *xzopen_internal(const char *path, const char *mode, int fd, int xz) + /*...@globals fileSystem @*/ + /*...@modifies fileSystem @*/ +{ +int level = 5; +int encoding = 0; +FILE *fp; +XZFILE *xzfile; +lzma_stream tmp; +lzma_ret ret; + +for (; *mode != '\0'; mode++) { + if (*mode == 'w') + encoding = 1; + else if (*mode == 'r') + encoding = 0; + else if (*mode = '1' *mode = '9') + level = (int)(*mode - '0'); +} +if (fd != -1) + fp = fdopen(fd, encoding ? w : r); +else + fp = fopen(path, encoding ? w : r); +if (!fp) + return NULL; +xzfile = calloc(1, sizeof(*xzfile)); +if (!xzfile) { + (void) fclose(fp); + return NULL; +} +xzfile-fp = fp; +xzfile-encoding = encoding; +xzfile-eof = 0; +tmp = (lzma_stream)LZMA_STREAM_INIT; +xzfile-strm = tmp; +if (encoding) { + if (xz) + ret =
[CVS] RPM: xar/lib/ lzmaxar.c
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Anders F. Björklund Root: /v/rpm/cvs Email: a...@rpm5.org Module: xar Date: 16-Dec-2008 08:45:31 Branch: HEAD Handle: 2008121607453100 Modified files: xar/lib lzmaxar.c Log: support lzma 4.999.6alpha as well Summary: RevisionChanges Path 1.10+8 -4 xar/lib/lzmaxar.c patch -p0 '@@ .' Index: xar/lib/lzmaxar.c $ cvs diff -u -r1.9 -r1.10 lzmaxar.c --- xar/lib/lzmaxar.c 19 Oct 2008 22:13:53 - 1.9 +++ xar/lib/lzmaxar.c 16 Dec 2008 07:45:31 - 1.10 @@ -66,7 +66,7 @@ lzma_stream lzma; #if LZMA_VERSION 49990050U lzma_options_stream options; -#else +#elif LZMA_VERSION 49990060U lzma_check check; lzma_filter filters[2]; #endif @@ -264,7 +264,7 @@ LZMA_CONTEXT(context)-options.filters[0].options = (lzma_options_lzma *)(lzma_preset_lzma + level - 1); /* Terminate the filter options array. */ LZMA_CONTEXT(context)-options.filters[1].id = UINT64_MAX; -#else +#elif LZMA_VERSION 49990060U LZMA_CONTEXT(context)-check = LZMA_CHECK_CRC64; LZMA_CONTEXT(context)-filters[0].id = LZMA_FILTER_LZMA; LZMA_CONTEXT(context)-filters[0].options = (lzma_options_lzma *)(lzma_preset_lzma + level - 1); @@ -286,10 +286,14 @@ LZMA_CONTEXT(context)-allocator.opaque = LZMA_CONTEXT(context)-limit; LZMA_CONTEXT(context)-lzma.allocator = LZMA_CONTEXT(context)-allocator; #if LZMA_VERSION 49990050U - r = lzma_stream_encoder_single(LZMA_CONTEXT(context)-lzma, (LZMA_CONTEXT(context)-options)); -#else + r = lzma_stream_encoder_single(LZMA_CONTEXT(context)-lzma, + (LZMA_CONTEXT(context)-options)); +#elif LZMA_VERSION 49990060U r = lzma_stream_encoder(LZMA_CONTEXT(context)-lzma, LZMA_CONTEXT(context)-filters, LZMA_CONTEXT(context)-check); +#else + r = lzma_easy_encoder(LZMA_CONTEXT(context)-lzma, + (lzma_easy_level) level); #endif if( (r != LZMA_OK) ) { xar_err_new(x); @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: xar/lib/ lzmaxar.c
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Anders F. Björklund Root: /v/rpm/cvs Email: a...@rpm5.org Module: xar Date: 16-Dec-2008 08:46:47 Branch: HEAD Handle: 2008121607464700 Modified files: xar/lib lzmaxar.c Log: report errno on error Summary: RevisionChanges Path 1.11+1 -0 xar/lib/lzmaxar.c patch -p0 '@@ .' Index: xar/lib/lzmaxar.c $ cvs diff -u -r1.10 -r1.11 lzmaxar.c --- xar/lib/lzmaxar.c 16 Dec 2008 07:45:31 - 1.10 +++ xar/lib/lzmaxar.c 16 Dec 2008 07:46:47 - 1.11 @@ -298,6 +298,7 @@ if( (r != LZMA_OK) ) { xar_err_new(x); xar_err_set_file(x, f); + xar_err_set_errno(x, r); xar_err_set_string(x, Error compressing file); xar_err_callback(x, XAR_SEVERITY_FATAL, XAR_ERR_ARCHIVE_CREATION); return -1; @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org