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 22:10:14
  Branch: HEAD                             Handle: 2009022221101300

  Modified files:
    rpm/rpmio               rpmz.c

  Log:
    - jbj: rpmz: fiddle up name/time from header defaults for pigz.
    - jbj: rpmz: -l,--list needs to be a bit attribute, not a mode, for pigz.

  Summary:
    Revision    Changes     Path
    1.34        +28 -32     rpm/rpmio/rpmz.c
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: rpm/rpmio/rpmz.c
  ============================================================================
  $ cvs diff -u -r1.33 -r1.34 rpmz.c
  --- rpm/rpmio/rpmz.c  21 Feb 2009 23:43:15 -0000      1.33
  +++ rpm/rpmio/rpmz.c  22 Feb 2009 21:10:13 -0000      1.34
  @@ -44,7 +44,6 @@
       RPMZ_MODE_COMPRESS               = 0,
       RPMZ_MODE_DECOMPRESS     = 1,
       RPMZ_MODE_TEST           = 2,
  -    RPMZ_MODE_LIST           = 3,
   };
   
   /**
  @@ -56,8 +55,9 @@
       RPMZ_FORMAT_RAW          = 3,
       RPMZ_FORMAT_GZIP         = 4,
       RPMZ_FORMAT_ZLIB         = 5,
  -    RPMZ_FORMAT_ZIP          = 6,
  -    RPMZ_FORMAT_BZIP2                = 7,
  +    RPMZ_FORMAT_ZIP2         = 6,
  +    RPMZ_FORMAT_ZIP3         = 7,
  +    RPMZ_FORMAT_BZIP2                = 8,
   };
   
   /*...@unchecked@*/
  @@ -123,11 +123,14 @@
       RPMZ_FLAGS_BEST          = _ZFB( 6),     /*!<     --best ... */
   
     /* XXX logic is reversed, disablers should clear with toggle. */
  -    RPMZ_FLAGS_NONAME                = _ZFB( 7),     /*!< -n, --no-name ... 
*/
  -    RPMZ_FLAGS_NOTIME                = _ZFB( 8),     /*!< -T, --no-time ... 
*/
  +    RPMZ_FLAGS_HNAME         = _ZFB( 7),     /*!< -n, --no-name ... */
  +    RPMZ_FLAGS_HTIME         = _ZFB( 8),     /*!< -T, --no-time ... */
   
  +  /* XXX unimplemented */
       RPMZ_FLAGS_RSYNCABLE     = _ZFB( 9),     /*!< -R, --rsyncable ... */
  +  /* XXX logic is reversed. */
       RPMZ_FLAGS_INDEPENDENT   = _ZFB(10),     /*!< -i, --independent ... */
  +    RPMZ_FLAGS_LIST          = _ZFB(11),     /*!< -l, --list ... */
   
   #ifdef       NOTYET
       RPMZ_FLAGS_SUBBLOCK              = INT_MIN,
  @@ -215,11 +218,7 @@
   /*...@unchecked@*/
   static struct rpmz_s __rpmz = {
     /* XXX logic is reversed, disablers should clear with toggle. */
  -#ifdef       NOTYET
  -    .flags   = (RPMZ_FLAGS_NONAME|RPMZ_FLAGS_NOTIME),
  -#else
  -    .flags   = RPMZ_FLAGS_NONE,
  -#endif
  +    .flags   = (RPMZ_FLAGS_HNAME|RPMZ_FLAGS_HTIME|RPMZ_FLAGS_INDEPENDENT),
       .format  = RPMZ_FORMAT_GZIP,     /* XXX RPMZ_FORMAT_AUTO? */
       .mode    = RPMZ_MODE_COMPRESS,
       .level   = 6,            /* XXX compression level is type specific. */
  @@ -567,9 +566,9 @@
       { RPMZ_FORMAT_GZIP,              ".tgz", ".tar" },
       { RPMZ_FORMAT_ZLIB,              ".zz",  "" },
       { RPMZ_FORMAT_ZLIB,              ".tzz", ".tar" },
  -    { RPMZ_FORMAT_ZIP,               ".zip", "" },
  +    { RPMZ_FORMAT_ZIP2,              ".zip", "" },   /* XXX zip3 from pigz? 
*/
   #ifdef       NOTYET
  -    { RPMZ_FORMAT_ZIP,               ".tgz", ".tar" },
  +    { RPMZ_FORMAT_ZIP2,              ".tgz", ".tar" },
   #endif
       { RPMZ_FORMAT_BZIP2,     ".bz2", "" },
       { RPMZ_FORMAT_RAW,               NULL,   NULL }
  @@ -1718,7 +1717,7 @@
        else if (!strcmp(arg, "zlib"))
            z->format = RPMZ_FORMAT_ZLIB;
        else if (!strcmp(arg, "zip"))
  -         z->format = RPMZ_FORMAT_ZIP;
  +         z->format = RPMZ_FORMAT_ZIP2;       /* XXX zip3 from pigz? */
        else if (!strcmp(arg, "bzip2") || !strcmp(arg, "bz2"))
            z->format = RPMZ_FORMAT_BZIP2;
        else {
  @@ -1772,9 +1771,9 @@
        N_("force decompression"), NULL },
     { "test", 't', POPT_ARG_VAL,                       &__rpmz.mode,  
RPMZ_MODE_TEST,
        N_("test compressed file integrity"), NULL },
  -  { "list", 'l', POPT_ARG_VAL,                       &__rpmz.mode,  
RPMZ_MODE_LIST,
  +  { "list", 'l', POPT_BIT_SET,                       &__rpmz.flags,  
RPMZ_FLAGS_LIST,
        N_("list block sizes, total sizes, and possible metadata"), NULL },
  -  { "info", '\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN,      &__rpmz.mode,  
RPMZ_MODE_LIST,
  +  { "info", '\0', POPT_BIT_SET|POPT_ARGFLAG_DOC_HIDDEN,      &__rpmz.flags,  
RPMZ_FLAGS_LIST,
        N_("list block sizes, total sizes, and possible metadata"), NULL },
   
     /* ===== Operation modifiers */
  @@ -1911,7 +1910,7 @@
        N_("Input-determined block locations for rsync"), NULL },
     { "zlib", 'z', POPT_ARG_VAL,               &__rpmz.format, 
RPMZ_FORMAT_ZLIB,
        N_("Compress to zlib (.zz) instead of gzip format"), NULL },
  -  { "zip", 'K', POPT_ARG_VAL,                &__rpmz.format, RPMZ_FORMAT_ZIP,
  +  { "zip", 'K', POPT_ARG_VAL,                &__rpmz.format, 
RPMZ_FORMAT_ZIP2,
        N_("Compress to PKWare zip (.zip) single entry format"), NULL },
   
   #ifdef       REFERENCE
  @@ -1933,12 +1932,12 @@
   
     /* ===== Metadata options */
     /* XXX logic is reversed, disablers should clear with toggle. */
  -  { "name", 'N', POPT_BIT_CLR|POPT_ARGFLAG_TOGGLE,                   
&__rpmz.flags, (RPMZ_FLAGS_NONAME|RPMZ_FLAGS_NOTIME),
  +  { "name", 'N', POPT_BIT_SET|POPT_ARGFLAG_TOGGLE,                   
&__rpmz.flags, (RPMZ_FLAGS_HNAME|RPMZ_FLAGS_HTIME),
        N_("Store/restore file name and mod time in/from header"), NULL },
  -  { "no-name", 'n', POPT_BIT_SET,            &__rpmz.flags, 
RPMZ_FLAGS_NONAME,
  +  { "no-name", 'n', POPT_BIT_CLR,            &__rpmz.flags, RPMZ_FLAGS_HNAME,
        N_("Do not store or restore file name in/from header"), NULL },
     /* XXX -T collides with xz -T,--threads */
  -  { "no-time", 'T', POPT_BIT_SET,            &__rpmz.flags, 
RPMZ_FLAGS_NOTIME,
  +  { "no-time", 'T', POPT_BIT_CLR,            &__rpmz.flags, RPMZ_FLAGS_HTIME,
        N_("Do not store or restore mod time in/from header"), NULL },
   
   #ifdef       NOTYET
  @@ -2056,6 +2055,12 @@
        z->format = RPMZ_FORMAT_LZMA;   /* XXX eliminate */
       } else
   #endif       /* WITH_XZ */
  +#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 */
   #if defined(WITH_ZLIB)
       if (strstr(name, "gz") != NULL) {
        z->_format_compress_auto = RPMZ_FORMAT_GZIP;
  @@ -2065,19 +2070,12 @@
        z->_format_compress_auto = RPMZ_FORMAT_ZLIB;
        z->format = RPMZ_FORMAT_ZLIB;   /* XXX eliminate */
       } else
  -#ifdef       NOTYET          /* XXX watchout for bzip2 */
  +     /* XXX watchout for "bzip2" matching */
       if (strstr(name, "zip") != NULL) {
  -     z->_format_compress_auto = RPMZ_FORMAT_ZIP;
  -     z->format = RPMZ_FORMAT_ZIP;    /* XXX eliminate */
  +     z->_format_compress_auto = RPMZ_FORMAT_ZIP2;
  +     z->format = RPMZ_FORMAT_ZIP2;   /* 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 */
  @@ -2163,7 +2161,7 @@
        z->idio = z->odio = gzdio;
        z->osuffix = ".zz";
        break;
  -    case RPMZ_FORMAT_ZIP:
  +    case RPMZ_FORMAT_ZIP2:
        z->idio = z->odio = gzdio;
        z->osuffix = ".zip";
        break;
  @@ -2239,8 +2237,6 @@
            break;
        case RPMZ_MODE_TEST:
            break;
  -     case RPMZ_MODE_LIST:
  -         break;
        }
   
        if (frc != RPMRC_OK || signals_terminating(0))
  @@ .
______________________________________________________________________
RPM Package Manager                                    http://rpm5.org
CVS Sources Repository                                [email protected]

Reply via email to