RPM Package Manager, CVS Repository
http://rpm5.org/cvs/
____________________________________________________________________________
Server: rpm5.org Name: Anders F. Björklund
Root: /v/rpm/cvs Email: [EMAIL PROTECTED]
Module: rpm Date: 06-Dec-2007 11:03:25
Branch: HEAD Handle: 2007120610032500
Modified files:
rpm/rpmio rpmxar.c
Log:
don't compress payload twice
Summary:
Revision Changes Path
2.13 +6 -0 rpm/rpmio/rpmxar.c
____________________________________________________________________________
patch -p0 <<'@@ .'
Index: rpm/rpmio/rpmxar.c
============================================================================
$ cvs diff -u -r2.12 -r2.13 rpmxar.c
--- rpm/rpmio/rpmxar.c 26 Nov 2007 15:33:20 -0000 2.12
+++ rpm/rpmio/rpmxar.c 6 Dec 2007 10:03:25 -0000 2.13
@@ -149,13 +149,19 @@
int rpmxarPush(rpmxar xar, const char * fn, unsigned char * b, size_t bsize)
{
+ int payload = !strcmp(fn, "Payload");
+
/[EMAIL PROTECTED]@*/
if (_xar_debug)
fprintf(stderr, "--> rpmxarPush(%p, %s) %p[%u]
%02x%02x%02x%02x%02x%02x%02x%02x\n", xar, fn, b, (unsigned)bsize, b[0], b[1],
b[2], b[3], b[4], b[5], b[6], b[7]);
/[EMAIL PROTECTED]@*/
if (xar->x && b != NULL) {
+ if (payload) /* payload is already compressed */
+ xar_opt_set(xar->x, XAR_OPT_COMPRESSION, XAR_OPT_VAL_NONE);
xar->f = xar_add_frombuffer(xar->x, NULL, fn, (char *)b, bsize);
+ if (payload) /* restore default xar compression */
+ xar_opt_set(xar->x, XAR_OPT_COMPRESSION, XAR_OPT_VAL_GZIP);
if (xar->f == NULL)
return 2;
}
@@ .
______________________________________________________________________
RPM Package Manager http://rpm5.org
CVS Sources Repository [email protected]