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]

Reply via email to