RPM Package Manager, CVS Repository http://rpm5.org/cvs/ ____________________________________________________________________________
Server: rpm5.org Name: Jeff Johnson Root: /v/rpm/cvs Email: [email protected] Module: rpm Date: 22-Feb-2009 00:43:17 Branch: HEAD Handle: 2009022123431500 Modified files: rpm/rpmio rpmz.c Log: - jbj: naive attempts to support AutoFu "flexibility". Summary: Revision Changes Path 1.33 +39 -0 rpm/rpmio/rpmz.c ____________________________________________________________________________ patch -p0 <<'@@ .' Index: rpm/rpmio/rpmz.c ============================================================================ $ cvs diff -u -r1.32 -r1.33 rpmz.c --- rpm/rpmio/rpmz.c 21 Feb 2009 22:23:31 -0000 1.32 +++ rpm/rpmio/rpmz.c 21 Feb 2009 23:43:15 -0000 1.33 @@ -2046,9 +2046,41 @@ const char * name = (s ? (s + 1) : argv0); rpmRC rc = RPMRC_OK; +#if defined(WITH_XZ) + if (strstr(name, "xz") != NULL) { + z->_format_compress_auto = RPMZ_FORMAT_XZ; + z->format = RPMZ_FORMAT_XZ; /* XXX eliminate */ + } else if (strstr(name, "lz") != NULL) { z->_format_compress_auto = RPMZ_FORMAT_LZMA; z->format = RPMZ_FORMAT_LZMA; /* XXX eliminate */ + } else +#endif /* WITH_XZ */ +#if defined(WITH_ZLIB) + if (strstr(name, "gz") != NULL) { + z->_format_compress_auto = RPMZ_FORMAT_GZIP; + z->format = RPMZ_FORMAT_GZIP; /* XXX eliminate */ + } else + if (strstr(name, "zlib") != NULL) { + z->_format_compress_auto = RPMZ_FORMAT_ZLIB; + z->format = RPMZ_FORMAT_ZLIB; /* XXX eliminate */ + } else +#ifdef NOTYET /* XXX watchout for bzip2 */ + if (strstr(name, "zip") != NULL) { + z->_format_compress_auto = RPMZ_FORMAT_ZIP; + z->format = RPMZ_FORMAT_ZIP; /* XXX eliminate */ + } else +#endif +#endif /* WITH_ZLIB */ +#if defined(WITH_BZIP2) + if (strstr(name, "bz") != NULL) { + z->_format_compress_auto = RPMZ_FORMAT_BZIP2; + z->format = RPMZ_FORMAT_BZIP2; /* XXX eliminate */ + } else +#endif /* WITH_BZIP2 */ + { + z->_format_compress_auto = RPMZ_FORMAT_AUTO; + z->format = RPMZ_FORMAT_AUTO; /* XXX eliminate */ } if (strstr(name, "cat") != NULL) { @@ -2105,9 +2137,11 @@ /* XXX Set additional parameters from z->format. */ switch (z->format) { + default: case RPMZ_FORMAT_AUTO: /* XXX W2DO? */ break; +#if defined(WITH_XZ) case RPMZ_FORMAT_XZ: z->idio = z->odio = xzdio; z->osuffix = ".xz"; @@ -2119,6 +2153,8 @@ case RPMZ_FORMAT_RAW: /* XXX W2DO? */ break; +#endif /* WITH_XZ */ +#if defined(WITH_ZLIB) case RPMZ_FORMAT_GZIP: z->idio = z->odio = gzdio; z->osuffix = ".gz"; @@ -2131,10 +2167,13 @@ z->idio = z->odio = gzdio; z->osuffix = ".zip"; break; +#endif /* WITH_ZLIB */ +#if defined(WITH_BZIP2) case RPMZ_FORMAT_BZIP2: z->idio = z->odio = bzdio; z->osuffix = ".bz2"; break; +#endif /* WITH_BZIP2 */ } /* Add files from CLI. */ @@ . ______________________________________________________________________ RPM Package Manager http://rpm5.org CVS Sources Repository [email protected]
