RPM Package Manager, CVS Repository
  http://rpm5.org/cvs/
  ____________________________________________________________________________

  Server: rpm5.org                         Name:   Jeff Johnson
  Root:   /v/rpm/cvs                       Email:  j...@rpm5.org
  Module: rpm                              Date:   25-Apr-2012 22:34:51
  Branch: rpm-5_4                          Handle: 2012042520344703

  Modified files:           (Branch: rpm-5_4)
    rpm                     CHANGES build.c devtool.conf rpmqv.c
    rpm/lib                 poptALL.c tgi.c transaction.c
    rpm/perl                RPM_Header.xs
    rpm/python              rpmmodule.c rpmts-py.c
    rpm/rpmdb               tagname.c
    rpm/rpmio               rpmiotypes.h
    rpm/tools               dbconvert.c rpm2cpio.c rpmcache.c rpmrepo.c

  Log:
    - crypto: refactor/eliminate _RPMVSF_{NOSIGNATURES,NODIGESTS}.

  Summary:
    Revision    Changes     Path
    1.3501.2.247+1  -0      rpm/CHANGES
    2.124.4.4   +38 -8      rpm/build.c
    2.365.2.57  +1  -1      rpm/devtool.conf
    2.144.2.4   +30 -3      rpm/lib/poptALL.c
    2.28.4.2    +39 -7      rpm/lib/tgi.c
    1.429.2.9   +38 -5      rpm/lib/transaction.c
    1.25.6.1    +25 -5      rpm/perl/RPM_Header.xs
    1.180.2.3   +0  -2      rpm/python/rpmmodule.c
    1.111.2.2   +1  -6      rpm/python/rpmts-py.c
    1.34.2.6    +1  -0      rpm/rpmdb/tagname.c
    1.47.2.9    +0  -12     rpm/rpmio/rpmiotypes.h
    1.167.4.5   +42 -5      rpm/rpmqv.c
    2.1.2.13    +49 -15     rpm/tools/dbconvert.c
    2.11.2.1    +38 -4      rpm/tools/rpm2cpio.c
    2.41.4.1    +39 -7      rpm/tools/rpmcache.c
    2.32.2.2    +28 -1      rpm/tools/rpmrepo.c
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: rpm/CHANGES
  ============================================================================
  $ cvs diff -u -r1.3501.2.246 -r1.3501.2.247 CHANGES
  --- rpm/CHANGES       23 Apr 2012 17:32:27 -0000      1.3501.2.246
  +++ rpm/CHANGES       25 Apr 2012 20:34:47 -0000      1.3501.2.247
  @@ -1,4 +1,5 @@
   5.4.8 -> 5.4.9:
  +    - jbj: crypto: refactore/iminate _RPMVSF_{NOSIGNATURES,NODIGESTS}.
       - devzero2000: add @rpm.org brp-python-hardlink in a more
         portable way 
       - mdawkins: doxygen-1.7.4 bug
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/build.c
  ============================================================================
  $ cvs diff -u -r2.124.4.3 -r2.124.4.4 build.c
  --- rpm/build.c       22 Feb 2012 00:24:53 -0000      2.124.4.3
  +++ rpm/build.c       25 Apr 2012 20:34:47 -0000      2.124.4.4
  @@ -28,6 +28,26 @@
   /*@access rpmdb @*/          /* XXX compared with NULL @*/
   /*@access FD_t @*/           /* XXX compared with NULL @*/
   
  +#ifdef __cplusplus
  +
  +#define QVA_ISSET(_qvaflags, _FLAG)  ((_qvaflags) & (VERIFY_##_FLAG))
  +
  +#define VSF_ISSET(_vsflags, _FLAG)   ((_vsflags) & (RPMVSF_##_FLAG))
  +#define VSF_SET(_vsflags, _FLAG)     \
  +     (*((unsigned *)&(_vsflags)) |= (RPMVSF_##_FLAG))
  +#define VSF_CLR(_vsflags, _FLAG)     \
  +     (*((unsigned *)&(_vsflags)) &= ~(RPMVSF_##_FLAG))
  +
  +#else        /* __cplusplus */
  +
  +#define QVA_ISSET(_qvaflags, _FLAG)  ((_qvaflags) & (VERIFY_##_FLAG))
  +
  +#define VSF_ISSET(_vsflags, _FLAG)   ((_vsflags) & (RPMVSF_##_FLAG))
  +#define VSF_SET(_vsflags, _FLAG)     (_vsflags) |= (RPMVSF_##_FLAG)
  +#define VSF_CLR(_vsflags, _FLAG)     (_vsflags) &= ~(RPMVSF_##_FLAG)
  +
  +#endif       /* __cplusplus */
  +
   /**
    */
   static int checkSpec(rpmts ts, Header h)
  @@ -269,14 +289,24 @@
       rpmVSFlags vsflags, ovsflags;
       int nbuilds = 0;
   
  -    vsflags = rpmExpandNumeric("%{_vsflags_build}");
  -    vsflags = 0;     /* XXX FIXME: ignore default disablers. */
  -    if (ba->qva_flags & VERIFY_DIGEST)
  -     vsflags |= _RPMVSF_NODIGESTS;
  -    if (ba->qva_flags & VERIFY_SIGNATURE)
  -     vsflags |= _RPMVSF_NOSIGNATURES;
  -    if (ba->qva_flags & VERIFY_HDRCHK)
  -     vsflags |= RPMVSF_NOHDRCHK;
  +    vsflags = (rpmVSFlags) rpmExpandNumeric("%{?_vsflags_build}");
  +    vsflags = (rpmVSFlags) 0;        /* XXX FIXME: ignore default disablers. 
*/
  +    if (!QVA_ISSET(ba->qva_flags, DIGEST)) {
  +     VSF_SET(vsflags, NOSHA1HEADER);
  +     VSF_SET(vsflags, NOMD5HEADER);
  +     VSF_SET(vsflags, NOSHA1);
  +     VSF_SET(vsflags, NOMD5);
  +    }
  +    if (!QVA_ISSET(ba->qva_flags, SIGNATURE)) {
  +     VSF_SET(vsflags, NODSAHEADER);
  +     VSF_SET(vsflags, NORSAHEADER);
  +     VSF_SET(vsflags, NODSA);
  +     VSF_SET(vsflags, NORSA);
  +    }
  +    if (!QVA_ISSET(ba->qva_flags, HDRCHK)) {
  +     VSF_SET(vsflags, NOHDRCHK);
  +    }
  +    VSF_CLR(vsflags, NEEDPAYLOAD);   /* XXX needed? */
       ovsflags = rpmtsSetVSFlags(ts, vsflags);
   
       if (targets == NULL) {
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/devtool.conf
  ============================================================================
  $ cvs diff -u -r2.365.2.56 -r2.365.2.57 devtool.conf
  --- rpm/devtool.conf  18 Apr 2012 15:09:49 -0000      2.365.2.56
  +++ rpm/devtool.conf  25 Apr 2012 20:34:47 -0000      2.365.2.57
  @@ -528,7 +528,7 @@
           --with-python \
           --with-pythonembed=/usr/lib:/usr/include/python2.6 \
           --with-perl \
  -        --with-perl-urpm \
  +        --without-perl-urpm \
           --with-perlembed=/usr/lib64/perl5/CORE/:/usr/lib64/perl5/CORE \
           --with-ruby=/usr/lib64:/usr/lib64/ruby/1.8 \
           --with-selinux \
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/lib/poptALL.c
  ============================================================================
  $ cvs diff -u -r2.144.2.3 -r2.144.2.4 poptALL.c
  --- rpm/lib/poptALL.c 19 Apr 2012 17:26:06 -0000      2.144.2.3
  +++ rpm/lib/poptALL.c 25 Apr 2012 20:34:48 -0000      2.144.2.4
  @@ -37,7 +37,25 @@
   #include "debug.h"
   
   #ifdef __cplusplus
  +
  +#define QVA_ISSET(_qvaflags, _FLAG)  ((_qvaflags) & (VERIFY_##_FLAG))
  +
  +#define VSF_ISSET(_vsflags, _FLAG)   ((_vsflags) & (RPMVSF_##_FLAG))
  +#define VSF_SET(_vsflags, _FLAG)     \
  +     (*((unsigned *)&(_vsflags)) |= (RPMVSF_##_FLAG))
  +#define VSF_CLR(_vsflags, _FLAG)     \
  +     (*((unsigned *)&(_vsflags)) &= ~(RPMVSF_##_FLAG))
  +
   GENfree(unsigned int *)
  +
  +#else        /* __cplusplus */
  +
  +#define QVA_ISSET(_qvaflags, _FLAG)  ((_qvaflags) & (VERIFY_##_FLAG))
  +
  +#define VSF_ISSET(_vsflags, _FLAG)   ((_vsflags) & (RPMVSF_##_FLAG))
  +#define VSF_SET(_vsflags, _FLAG)     (_vsflags) |= (RPMVSF_##_FLAG)
  +#define VSF_CLR(_vsflags, _FLAG)     (_vsflags) &= ~(RPMVSF_##_FLAG)
  +
   #endif       /* __cplusplus */
   
   /*@unchecked@*/ /*@only@*/ /*@null@*/
  @@ -313,17 +331,26 @@
        /*@notreached@*/ break;
       case RPMCLI_POPT_NODIGEST:
        rpmcliQueryFlags = (rpmQueryFlags)(rpmcliQueryFlags | VERIFY_DIGEST);
  -     pgpDigVSFlags = (pgpVSFlags) (pgpDigVSFlags | _RPMVSF_NODIGESTS);
  +     VSF_SET(pgpDigVSFlags, NOSHA1HEADER);
  +     VSF_SET(pgpDigVSFlags, NOMD5HEADER);
  +     VSF_SET(pgpDigVSFlags, NOSHA1);
  +     VSF_SET(pgpDigVSFlags, NOMD5);
  +     VSF_CLR(pgpDigVSFlags, NEEDPAYLOAD);    /* XXX needed? */
        break;
   
       case RPMCLI_POPT_NOSIGNATURE:
        rpmcliQueryFlags = (rpmQueryFlags)(rpmcliQueryFlags | VERIFY_SIGNATURE);
  -     pgpDigVSFlags = (pgpVSFlags) (pgpDigVSFlags | _RPMVSF_NOSIGNATURES);
  +     VSF_SET(pgpDigVSFlags, NODSAHEADER);
  +     VSF_SET(pgpDigVSFlags, NORSAHEADER);
  +     VSF_SET(pgpDigVSFlags, NODSA);
  +     VSF_SET(pgpDigVSFlags, NORSA);
  +     VSF_CLR(pgpDigVSFlags, NEEDPAYLOAD);    /* XXX needed? */
        break;
   
       case RPMCLI_POPT_NOHDRCHK:
        rpmcliQueryFlags = (rpmQueryFlags) (rpmcliQueryFlags | VERIFY_HDRCHK);
  -     pgpDigVSFlags = (pgpVSFlags) (pgpDigVSFlags | RPMVSF_NOHDRCHK);
  +     VSF_SET(pgpDigVSFlags, NOHDRCHK);
  +     VSF_CLR(pgpDigVSFlags, NEEDPAYLOAD);    /* XXX needed? */
        break;
   
       case RPMCLI_POPT_TARGETPLATFORM:
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/lib/tgi.c
  ============================================================================
  $ cvs diff -u -r2.28.4.1 -r2.28.4.2 tgi.c
  --- rpm/lib/tgi.c     14 Dec 2010 10:25:13 -0000      2.28.4.1
  +++ rpm/lib/tgi.c     25 Apr 2012 20:34:48 -0000      2.28.4.2
  @@ -19,6 +19,26 @@
   
   #include "debug.h"
   
  +#ifdef __cplusplus
  +
  +#define QVA_ISSET(_qvaflags, _FLAG)  ((_qvaflags) & (VERIFY_##_FLAG))
  +
  +#define VSF_ISSET(_vsflags, _FLAG)   ((_vsflags) & (RPMVSF_##_FLAG))
  +#define VSF_SET(_vsflags, _FLAG)     \
  +     (*((unsigned *)&(_vsflags)) |= (RPMVSF_##_FLAG))
  +#define VSF_CLR(_vsflags, _FLAG)     \
  +     (*((unsigned *)&(_vsflags)) &= ~(RPMVSF_##_FLAG))
  +
  +#else        /* __cplusplus */
  +
  +#define QVA_ISSET(_qvaflags, _FLAG)  ((_qvaflags) & (VERIFY_##_FLAG))
  +
  +#define VSF_ISSET(_vsflags, _FLAG)   ((_vsflags) & (RPMVSF_##_FLAG))
  +#define VSF_SET(_vsflags, _FLAG)     (_vsflags) |= (RPMVSF_##_FLAG)
  +#define VSF_CLR(_vsflags, _FLAG)     (_vsflags) &= ~(RPMVSF_##_FLAG)
  +
  +#endif       /* __cplusplus */
  +
   static const char * gitagstr = NULL;
   static const char * gikeystr = NULL;
   static rpmtransFlags transFlags = 0;
  @@ -180,13 +200,25 @@
       (void) rpmtsSetFlags(ts, transFlags);
       (void) rpmtsSetDFlags(ts, depFlags);
   
  -    vsflags = rpmExpandNumeric("%{?_vsflags_query}");
  -    if (rpmcliQueryFlags & VERIFY_DIGEST)
  -     vsflags |= _RPMVSF_NODIGESTS;
  -    if (rpmcliQueryFlags & VERIFY_SIGNATURE)
  -     vsflags |= _RPMVSF_NOSIGNATURES;
  -    if (rpmcliQueryFlags & VERIFY_HDRCHK)
  -     vsflags |= RPMVSF_NOHDRCHK;
  +    vsflags = (rpmVSFlags) rpmExpandNumeric("%{?_vsflags_query}");
  +    vsflags = (rpmVSFlags) 0;        /* XXX FIXME: ignore default disablers. 
*/
  +    if (!QVA_ISSET(rpmcliQueryFlags, DIGEST)) {
  +     VSF_SET(vsflags, NOSHA1HEADER);
  +     VSF_SET(vsflags, NOMD5HEADER);
  +     VSF_SET(vsflags, NOSHA1);
  +     VSF_SET(vsflags, NOMD5);
  +    }
  +    if (!QVA_ISSET(rpmcliQueryFlags, SIGNATURE)) {
  +     VSF_SET(vsflags, NODSAHEADER);
  +     VSF_SET(vsflags, NORSAHEADER);
  +     VSF_SET(vsflags, NODSA);
  +     VSF_SET(vsflags, NORSA);
  +    }
  +    if (!QVA_ISSET(rpmcliQueryFlags, HDRCHK)) {
  +     VSF_SET(vsflags, NOHDRCHK);
  +    }
  +    VSF_CLR(vsflags, NEEDPAYLOAD);   /* XXX needed? */
  +
       (void) rpmtsSetVSFlags(ts, vsflags);
   
       gi = rpmgiNew(ts, gitag, gikeystr, 0);
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/lib/transaction.c
  ============================================================================
  $ cvs diff -u -r1.429.2.8 -r1.429.2.9 transaction.c
  --- rpm/lib/transaction.c     15 Apr 2012 21:20:58 -0000      1.429.2.8
  +++ rpm/lib/transaction.c     25 Apr 2012 20:34:48 -0000      1.429.2.9
  @@ -68,6 +68,30 @@
   /*@access IDTX @*/
   /*@access FD_t @*/
   
  +#ifdef __cplusplus
  +
  +#define FF_ISSET(_fflags, _FLAG)     ((_fflags) & (RPMFILE_##_FLAG))
  +
  +#define QVA_ISSET(_qvaflags, _FLAG)  ((_qvaflags) & (VERIFY_##_FLAG))
  +
  +#define VSF_ISSET(_vsflags, _FLAG)   ((_vsflags) & (RPMVSF_##_FLAG))
  +#define VSF_SET(_vsflags, _FLAG)     \
  +     (*((unsigned *)&(_vsflags)) |= (RPMVSF_##_FLAG))
  +#define VSF_CLR(_vsflags, _FLAG)     \
  +     (*((unsigned *)&(_vsflags)) &= ~(RPMVSF_##_FLAG))
  +
  +#else        /* __cplusplus */
  +
  +#define FF_ISSET(_fflags, _FLAG)     ((_fflags) & (RPMFILE_##_FLAG))
  +
  +#define QVA_ISSET(_qvaflags, _FLAG)  ((_qvaflags) & (VERIFY_##_FLAG))
  +
  +#define VSF_ISSET(_vsflags, _FLAG)   ((_vsflags) & (RPMVSF_##_FLAG))
  +#define VSF_SET(_vsflags, _FLAG)     (_vsflags) |= (RPMVSF_##_FLAG)
  +#define VSF_CLR(_vsflags, _FLAG)     (_vsflags) &= ~(RPMVSF_##_FLAG)
  +
  +#endif       /* __cplusplus */
  +
   static int handleInstInstalledFile(const rpmts ts, rpmte p, rpmfi fi,
                                   Header otherHeader, rpmfi otherFi,
                                   int beingRemoved)
  @@ -2000,11 +2024,20 @@
        */
       {
        rpmVSFlags vsflags = rpmExpandNumeric("%{?_vsflags_erase}");
  -     vsflags = 0;    /* XXX FIXME: ignore default disablers. */
  -     vsflags |= _RPMVSF_NODIGESTS;
  -     vsflags |= _RPMVSF_NOSIGNATURES;
  -     vsflags |= RPMVSF_NOHDRCHK;
  -     vsflags |= RPMVSF_NEEDPAYLOAD;      
  +     vsflags = (rpmVSFlags) 0; /* XXX FIXME: ignore default disablers. */
  +     /* --nodigest */
  +     VSF_SET(vsflags, NOSHA1HEADER);
  +     VSF_SET(vsflags, NOMD5HEADER);
  +     VSF_SET(vsflags, NOSHA1);
  +     VSF_SET(vsflags, NOMD5);
  +     /* --nosignature */
  +     VSF_SET(vsflags, NODSAHEADER);
  +     VSF_SET(vsflags, NORSAHEADER);
  +     VSF_SET(vsflags, NODSA);
  +     VSF_SET(vsflags, NORSA);
  +     /* --nohdrchk */
  +     VSF_SET(vsflags, NOHDRCHK);
  +     VSF_SET(vsflags, NEEDPAYLOAD);  /* XXX needed? */
        xx = rpmtsSetVSFlags(rbts, vsflags); 
       }
   
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/perl/RPM_Header.xs
  ============================================================================
  $ cvs diff -u -r1.25 -r1.25.6.1 RPM_Header.xs
  --- rpm/perl/RPM_Header.xs    26 Mar 2009 18:07:32 -0000      1.25
  +++ rpm/perl/RPM_Header.xs    25 Apr 2012 20:34:49 -0000      1.25.6.1
  @@ -30,6 +30,22 @@
   
   #include "rpmcli.h"
   
  +#ifdef __cplusplus
  +
  +#define VSF_ISSET(_vsflags, _FLAG)   ((_vsflags) & (RPMVSF_##_FLAG))
  +#define VSF_SET(_vsflags, _FLAG)     \
  +     (*((unsigned *)&(_vsflags)) |= (RPMVSF_##_FLAG))
  +#define VSF_CLR(_vsflags, _FLAG)     \
  +     (*((unsigned *)&(_vsflags)) &= ~(RPMVSF_##_FLAG))
  +
  +#else        /* __cplusplus */
  +
  +#define VSF_ISSET(_vsflags, _FLAG)   ((_vsflags) & (RPMVSF_##_FLAG))
  +#define VSF_SET(_vsflags, _FLAG)     (_vsflags) |= (RPMVSF_##_FLAG)
  +#define VSF_CLR(_vsflags, _FLAG)     (_vsflags) &= ~(RPMVSF_##_FLAG)
  +
  +#endif       /* __cplusplus */
  +
   #include "rpmxs.h"
   
   MODULE = RPM::Header         PACKAGE = RPM::Header
  @@ -89,12 +105,16 @@
       SV * sv_vsflags
       PREINIT:
       rpmts ts = rpmtsCreate();
  -    rpmVSFlags vsflags = RPMVSF_DEFAULT; 
  +    rpmVSFlags vsflags = (rpmVSFlags) 0; 
       PPCODE:
  -    if (sv_vsflags == NULL) /* Nothing has been passed, default is no 
signature */
  -        vsflags |= _RPMVSF_NOSIGNATURES;
  -    else
  -        vsflags = sv2constant(sv_vsflags, "rpmvsflags");
  +    if (sv_vsflags == NULL) { /* Nothing has been passed, default is no 
signature */
  +     /* --nosignatures */
  +     VSF_SET(vsflags, NODSAHEADER);
  +     VSF_SET(vsflags, NORSAHEADER);
  +     VSF_SET(vsflags, NODSA);
  +     VSF_SET(vsflags, NORSA);
  +    } else
  +        vsflags = (rpmVSFlags) sv2constant(sv_vsflags, "rpmvsflags");
       rpmtsSetVSFlags(ts, vsflags);
       _rpm2header(ts, filename, 0);
       SPAGAIN;
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/python/rpmmodule.c
  ============================================================================
  $ cvs diff -u -r1.180.2.2 -r1.180.2.3 rpmmodule.c
  --- rpm/python/rpmmodule.c    1 Feb 2012 13:06:25 -0000       1.180.2.2
  +++ rpm/python/rpmmodule.c    25 Apr 2012 20:34:49 -0000      1.180.2.3
  @@ -601,8 +601,6 @@
       REGISTER_ENUM(RPMVSF_NOMD5);
       REGISTER_ENUM(RPMVSF_NODSA);
       REGISTER_ENUM(RPMVSF_NORSA);
  -    REGISTER_ENUM(_RPMVSF_NODIGESTS);
  -    REGISTER_ENUM(_RPMVSF_NOSIGNATURES);
       REGISTER_ENUM(_RPMVSF_NOHEADER);
       REGISTER_ENUM(_RPMVSF_NOPAYLOAD);
   
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/python/rpmts-py.c
  ============================================================================
  $ cvs diff -u -r1.111.2.1 -r1.111.2.2 rpmts-py.c
  --- rpm/python/rpmts-py.c     1 Feb 2012 13:06:25 -0000       1.111.2.1
  +++ rpm/python/rpmts-py.c     25 Apr 2012 20:34:49 -0000      1.111.2.2
  @@ -71,10 +71,6 @@
    * - rpm.RPMVSF_NODSA        if set, don't check header+payload DSA signature
    * - rpm.RPMVSF_NORSA        if set, don't check header+payload RSA signature
    *
  - * For convenience, there are the following masks:
  - * -    rpm._RPMVSF_NODIGESTS                if set, don't check digest(s).
  - * -    rpm._RPMVSF_NOSIGNATURES     if set, don't check signature(s).
  - *
    * A rpm.ts object has the following methods:
    *
    * - addInstall(hdr,data,mode)  Add an install element to a transaction set.
  @@ -1502,8 +1498,7 @@
       rpm.RPMVSF_NOMD5         if set, don't check header+payload MD5 digest\n\
       rpm.RPMVSF_NODSA         if set, don't check header+payload DSA 
signature\n\
       rpm.RPMVSF_NORSA         if set, don't check header+payload RSA 
signature\n\
  -    rpm._RPMVSF_NODIGESTS    if set, don't check digest(s)\n\
  -    rpm._RPMVSF_NOSIGNATURES if set, don't check signature(s)\n" },
  +" },
    {"setColor",(PyCFunction) rpmts_SetColor,   METH_VARARGS|METH_KEYWORDS,
        NULL },
    {"pgpPrtPkts",      (PyCFunction) rpmts_PgpPrtPkts, 
METH_VARARGS|METH_KEYWORDS,
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/rpmdb/tagname.c
  ============================================================================
  $ cvs diff -u -r1.34.2.5 -r1.34.2.6 tagname.c
  --- rpm/rpmdb/tagname.c       16 Apr 2012 23:43:35 -0000      1.34.2.5
  +++ rpm/rpmdb/tagname.c       25 Apr 2012 20:34:49 -0000      1.34.2.6
  @@ -488,6 +488,7 @@
    * Validate that implicit and explicit types are identical.
    * @param he         tag container
    */
  +void tagTypeValidate(HE_t he);
   void tagTypeValidate(HE_t he)
   {
       /* XXX Re-map RPM_I18NSTRING_TYPE -> RPM_STRING_TYPE */
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/rpmio/rpmiotypes.h
  ============================================================================
  $ cvs diff -u -r1.47.2.8 -r1.47.2.9 rpmiotypes.h
  --- rpm/rpmio/rpmiotypes.h    16 Apr 2012 20:53:33 -0000      1.47.2.8
  +++ rpm/rpmio/rpmiotypes.h    25 Apr 2012 20:34:49 -0000      1.47.2.9
  @@ -114,18 +114,6 @@
       /* bit(s) 20-31 unused */
   } pgpVSFlags;
   
  -#define      _RPMVSF_NODIGESTS       \
  -  ( RPMVSF_NOSHA1HEADER |    \
  -    RPMVSF_NOMD5HEADER |     \
  -    RPMVSF_NOSHA1 |          \
  -    RPMVSF_NOMD5 )
  -
  -#define      _RPMVSF_NOSIGNATURES    \
  -  ( RPMVSF_NODSAHEADER |     \
  -    RPMVSF_NORSAHEADER |     \
  -    RPMVSF_NODSA |           \
  -    RPMVSF_NORSA )
  -
   #define      _RPMVSF_NOHEADER        \
     ( RPMVSF_NOSHA1HEADER |    \
       RPMVSF_NOMD5HEADER |     \
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/rpmqv.c
  ============================================================================
  $ cvs diff -u -r1.167.4.4 -r1.167.4.5 rpmqv.c
  --- rpm/rpmqv.c       30 Mar 2011 14:25:39 -0000      1.167.4.4
  +++ rpm/rpmqv.c       25 Apr 2012 20:34:47 -0000      1.167.4.5
  @@ -56,6 +56,27 @@
   
   #include "debug.h"
   
  +
  +#ifdef __cplusplus
  +
  +#define QVA_ISSET(_qvaflags, _FLAG)  ((_qvaflags) & (VERIFY_##_FLAG))
  +
  +#define VSF_ISSET(_vsflags, _FLAG)   ((_vsflags) & (RPMVSF_##_FLAG))
  +#define VSF_SET(_vsflags, _FLAG)     \
  +     (*((unsigned *)&(_vsflags)) |= (RPMVSF_##_FLAG))
  +#define VSF_CLR(_vsflags, _FLAG)     \
  +     (*((unsigned *)&(_vsflags)) &= ~(RPMVSF_##_FLAG))
  +
  +#else        /* __cplusplus */
  +
  +#define QVA_ISSET(_qvaflags, _FLAG)  ((_qvaflags) & (VERIFY_##_FLAG))
  +
  +#define VSF_ISSET(_vsflags, _FLAG)   ((_vsflags) & (RPMVSF_##_FLAG))
  +#define VSF_SET(_vsflags, _FLAG)     (_vsflags) |= (RPMVSF_##_FLAG)
  +#define VSF_CLR(_vsflags, _FLAG)     (_vsflags) &= ~(RPMVSF_##_FLAG)
  +
  +#endif       /* __cplusplus */
  +
   enum modes {
       MODE_UNKNOWN     = 0,
   
  @@ -748,12 +769,28 @@
       switch (bigMode) {
   #ifdef       IAM_RPMDB
       case MODE_REBUILDDB:
  -    {   rpmVSFlags vsflags = rpmExpandNumeric("%{_vsflags_rebuilddb}");
  +    {   rpmVSFlags vsflags;
        rpmVSFlags ovsflags;
  -     if (rpmcliQueryFlags & VERIFY_DIGEST)
  -         vsflags |= _RPMVSF_NODIGESTS;
  -     if (rpmcliQueryFlags & VERIFY_SIGNATURE)
  -         vsflags |= _RPMVSF_NOSIGNATURES;
  +
  +     vsflags = (rpmVSFlags) rpmExpandNumeric("%{?_vsflags_rebuilddb}");
  +     vsflags = (rpmVSFlags) 0; /* XXX FIXME: ignore default disablers. */
  +     if (!QVA_ISSET(rpmcliQueryFlags, DIGEST)) {
  +         VSF_SET(vsflags, NOSHA1HEADER);
  +         VSF_SET(vsflags, NOMD5HEADER);
  +         VSF_SET(vsflags, NOSHA1);
  +         VSF_SET(vsflags, NOMD5);
  +     }
  +     if (!QVA_ISSET(rpmcliQueryFlags, SIGNATURE)) {
  +         VSF_SET(vsflags, NODSAHEADER);
  +         VSF_SET(vsflags, NORSAHEADER);
  +         VSF_SET(vsflags, NODSA);
  +         VSF_SET(vsflags, NORSA);
  +     }
  +     if (!QVA_ISSET(rpmcliQueryFlags, HDRCHK)) {
  +         VSF_SET(vsflags, NOHDRCHK);
  +     }
  +     VSF_CLR(vsflags, NEEDPAYLOAD);
  +
        ovsflags = rpmtsSetVSFlags(ts, vsflags);
        ec = rpmtsRebuildDB(ts);
        vsflags = rpmtsSetVSFlags(ts, ovsflags);
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/tools/dbconvert.c
  ============================================================================
  $ cvs diff -u -r2.1.2.12 -r2.1.2.13 dbconvert.c
  --- rpm/tools/dbconvert.c     22 Feb 2012 00:24:55 -0000      2.1.2.12
  +++ rpm/tools/dbconvert.c     25 Apr 2012 20:34:50 -0000      2.1.2.13
  @@ -1,6 +1,21 @@
   
   #include "system.h"
   
  +#ifdef HAVE_SYS_ENDIAN_H
  +#include <sys/endian.h>
  +#endif
  +#ifdef __APPLE__
  +#include <libkern/OSByteOrder.h>
  +
  +#define htobe32(x) OSSwapHostToBigInt32(x)
  +#define htole32(x) OSSwapHostToLittleInt32(x)
  +#endif /* __APPLE__ */
  +#if BYTE_ORDER == LITTLE_ENDIAN
  +#define bswap32(x) htobe32(x)
  +#elif BYTE_ORDER == BIG_ENDIAN
  +#define bswap32(x) htole32(x)
  +#endif
  +
   #include <poptIO.h>
   
   #include <rpmio.h>
  @@ -17,20 +32,25 @@
   
   #include "debug.h"
   
  -#ifdef HAVE_SYS_ENDIAN_H
  -#include <sys/endian.h>
  -#endif
  -#ifdef __APPLE__
  -#include <libkern/OSByteOrder.h>
  +#ifdef __cplusplus
   
  -#define htobe32(x) OSSwapHostToBigInt32(x)
  -#define htole32(x) OSSwapHostToLittleInt32(x)
  -#endif /* __APPLE__ */
  -#if BYTE_ORDER == LITTLE_ENDIAN
  -#define bswap32(x) htobe32(x)
  -#elif BYTE_ORDER == BIG_ENDIAN
  -#define bswap32(x) htole32(x)
  -#endif
  +#define QVA_ISSET(_qvaflags, _FLAG)  ((_qvaflags) & (VERIFY_##_FLAG))
  +
  +#define VSF_ISSET(_vsflags, _FLAG)   ((_vsflags) & (RPMVSF_##_FLAG))
  +#define VSF_SET(_vsflags, _FLAG)     \
  +     (*((unsigned *)&(_vsflags)) |= (RPMVSF_##_FLAG))
  +#define VSF_CLR(_vsflags, _FLAG)     \
  +     (*((unsigned *)&(_vsflags)) &= ~(RPMVSF_##_FLAG))
  +
  +#else        /* __cplusplus */
  +
  +#define QVA_ISSET(_qvaflags, _FLAG)  ((_qvaflags) & (VERIFY_##_FLAG))
  +
  +#define VSF_ISSET(_vsflags, _FLAG)   ((_vsflags) & (RPMVSF_##_FLAG))
  +#define VSF_SET(_vsflags, _FLAG)     (_vsflags) |= (RPMVSF_##_FLAG)
  +#define VSF_CLR(_vsflags, _FLAG)     (_vsflags) &= ~(RPMVSF_##_FLAG)
  +
  +#endif       /* __cplusplus */
   
   static int disable_fsync(int arg) {
       return 0;
  @@ -203,8 +223,22 @@
              xx = rpmtsCloseDB(tsCur);
   
              rpmVSFlags vsflags = rpmExpandNumeric("%{_vsflags_rebuilddb}");
  -           vsflags = 0;      /* XXX FIXME: ignore default disablers. */
  -           vsflags |= _RPMVSF_NODIGESTS | _RPMVSF_NOSIGNATURES;
  +           vsflags = (rpmVSFlags) 0; /* XXX FIXME: ignore default disablers. 
*/
  +           /* XXX FIXME: hotwire --nodigest/--nosignature for now */
  +           /* --nodigest */
  +           VSF_SET(vsflags, NOSHA1HEADER);
  +           VSF_SET(vsflags, NOMD5HEADER);
  +           VSF_SET(vsflags, NOSHA1);
  +           VSF_SET(vsflags, NOMD5);
  +           /* --nosignature */
  +           VSF_SET(vsflags, NODSAHEADER);
  +           VSF_SET(vsflags, NORSAHEADER);
  +           VSF_SET(vsflags, NODSA);
  +           VSF_SET(vsflags, NORSA);
  +           /* --nohdrchk */
  +           VSF_SET(vsflags, NOHDRCHK);
  +           VSF_CLR(vsflags, NEEDPAYLOAD);    /* XXX needed? */
  +
              rpmtsSetVSFlags(tsNew, vsflags);
   
              {
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/tools/rpm2cpio.c
  ============================================================================
  $ cvs diff -u -r2.11 -r2.11.2.1 rpm2cpio.c
  --- rpm/tools/rpm2cpio.c      24 Apr 2010 11:57:10 -0000      2.11
  +++ rpm/tools/rpm2cpio.c      25 Apr 2012 20:34:50 -0000      2.11.2.1
  @@ -14,6 +14,26 @@
   
   #include "debug.h"
   
  +#ifdef __cplusplus
  +
  +#define QVA_ISSET(_qvaflags, _FLAG)  ((_qvaflags) & (VERIFY_##_FLAG))
  +
  +#define VSF_ISSET(_vsflags, _FLAG)   ((_vsflags) & (RPMVSF_##_FLAG))
  +#define VSF_SET(_vsflags, _FLAG)     \
  +     (*((unsigned *)&(_vsflags)) |= (RPMVSF_##_FLAG))
  +#define VSF_CLR(_vsflags, _FLAG)     \
  +     (*((unsigned *)&(_vsflags)) &= ~(RPMVSF_##_FLAG))
  +
  +#else        /* __cplusplus */
  +
  +#define QVA_ISSET(_qvaflags, _FLAG)  ((_qvaflags) & (VERIFY_##_FLAG))
  +
  +#define VSF_ISSET(_vsflags, _FLAG)   ((_vsflags) & (RPMVSF_##_FLAG))
  +#define VSF_SET(_vsflags, _FLAG)     (_vsflags) |= (RPMVSF_##_FLAG)
  +#define VSF_CLR(_vsflags, _FLAG)     (_vsflags) &= ~(RPMVSF_##_FLAG)
  +
  +#endif       /* __cplusplus */
  +
   int main(int argc, char **argv)
   {
       FD_t fdi, fdo;
  @@ -43,12 +63,26 @@
       fdo = fdDup(STDOUT_FILENO);
   
       {        rpmts ts = rpmtsCreate();
  -     rpmVSFlags vsflags = 0;
  +     rpmVSFlags vsflags;
   
        /* XXX retain the ageless behavior of rpm2cpio */
  -        vsflags |= _RPMVSF_NODIGESTS;
  -        vsflags |= _RPMVSF_NOSIGNATURES;
  -        vsflags |= RPMVSF_NOHDRCHK;
  +     vsflags = (rpmVSFlags) 0; /* XXX FIXME: ignore default disablers. */
  +     /* --nodigests */
  +     VSF_SET(vsflags, NOSHA1HEADER);
  +     VSF_SET(vsflags, NOMD5HEADER);
  +     VSF_SET(vsflags, NOSHA1);
  +     VSF_SET(vsflags, NOMD5);
  +
  +     /* --nosignature */
  +     VSF_SET(vsflags, NODSAHEADER);
  +     VSF_SET(vsflags, NORSAHEADER);
  +     VSF_SET(vsflags, NODSA);
  +     VSF_SET(vsflags, NORSA);
  +
  +     /* --nohdrchk */
  +     VSF_SET(vsflags, NOHDRCHK);
  +
  +     VSF_CLR(vsflags, NEEDPAYLOAD);  /* XXX needed? */
        (void) rpmtsSetVSFlags(ts, vsflags);
   
        /*@-mustmod@*/      /* LCL: segfault */
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/tools/rpmcache.c
  ============================================================================
  $ cvs diff -u -r2.41 -r2.41.4.1 rpmcache.c
  --- rpm/tools/rpmcache.c      4 Oct 2009 22:40:43 -0000       2.41
  +++ rpm/tools/rpmcache.c      25 Apr 2012 20:34:50 -0000      2.41.4.1
  @@ -27,6 +27,27 @@
   
   #include "debug.h"
   
  +
  +#ifdef __cplusplus
  +
  +#define QVA_ISSET(_qvaflags, _FLAG)  ((_qvaflags) & (VERIFY_##_FLAG))
  +
  +#define VSF_ISSET(_vsflags, _FLAG)   ((_vsflags) & (RPMVSF_##_FLAG))
  +#define VSF_SET(_vsflags, _FLAG)     \
  +     (*((unsigned *)&(_vsflags)) |= (RPMVSF_##_FLAG))
  +#define VSF_CLR(_vsflags, _FLAG)     \
  +     (*((unsigned *)&(_vsflags)) &= ~(RPMVSF_##_FLAG))
  +
  +#else        /* __cplusplus */
  +
  +#define QVA_ISSET(_qvaflags, _FLAG)  ((_qvaflags) & (VERIFY_##_FLAG))
  +
  +#define VSF_ISSET(_vsflags, _FLAG)   ((_vsflags) & (RPMVSF_##_FLAG))
  +#define VSF_SET(_vsflags, _FLAG)     (_vsflags) |= (RPMVSF_##_FLAG)
  +#define VSF_CLR(_vsflags, _FLAG)     (_vsflags) &= ~(RPMVSF_##_FLAG)
  +
  +#endif       /* __cplusplus */
  +
   static int _debug = 0;
   
   /* XXX should be flag in ts */
  @@ -523,9 +544,10 @@
       ftsSet = _free(ftsSet);
   }
   
  -static rpmVSFlags vsflags = 0;
  +static rpmVSFlags vsflags = (rpmVSFlags) 0;
   
   static struct poptOption optionsTable[] = {
  + /* XXX FIXME: --nolegacy looks bogus */
    { "nolegacy", '\0', POPT_BIT_SET,      &vsflags, RPMVSF_NEEDPAYLOAD,
        N_("don't verify header+payload signature"), NULL },
   
  @@ -578,12 +600,22 @@
   
       ts = rpmtsCreate();
   
  -    if (rpmcliQueryFlags & VERIFY_DIGEST)
  -     vsflags |= _RPMVSF_NODIGESTS;
  -    if (rpmcliQueryFlags & VERIFY_SIGNATURE)
  -     vsflags |= _RPMVSF_NOSIGNATURES;
  -    if (rpmcliQueryFlags & VERIFY_HDRCHK)
  -     vsflags |= RPMVSF_NOHDRCHK;
  +    if (!QVA_ISSET(rpmcliQueryFlags, DIGEST)) {
  +     VSF_SET(vsflags, NOSHA1HEADER);
  +     VSF_SET(vsflags, NOMD5HEADER);
  +     VSF_SET(vsflags, NOSHA1);
  +     VSF_SET(vsflags, NOMD5);
  +    }
  +    if (!QVA_ISSET(rpmcliQueryFlags, SIGNATURE)) {
  +     VSF_SET(vsflags, NODSAHEADER);
  +     VSF_SET(vsflags, NORSAHEADER);
  +     VSF_SET(vsflags, NODSA);
  +     VSF_SET(vsflags, NORSA);
  +    }
  +    if (!QVA_ISSET(rpmcliQueryFlags, HDRCHK)) {
  +     VSF_SET(vsflags, NOHDRCHK);
  +    }
  +    VSF_CLR(vsflags, NEEDPAYLOAD);   /* XXX needed? */
       (void) rpmtsSetVSFlags(ts, vsflags);
   
       {   uint32_t tid = (uint32_t) time(NULL);
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/tools/rpmrepo.c
  ============================================================================
  $ cvs diff -u -r2.32.2.1 -r2.32.2.2 rpmrepo.c
  --- rpm/tools/rpmrepo.c       5 Sep 2011 23:08:22 -0000       2.32.2.1
  +++ rpm/tools/rpmrepo.c       25 Apr 2012 20:34:50 -0000      2.32.2.2
  @@ -60,6 +60,26 @@
   
   #include "debug.h"
   
  +#ifdef __cplusplus
  +
  +#define QVA_ISSET(_qvaflags, _FLAG)  ((_qvaflags) & (VERIFY_##_FLAG))
  +
  +#define VSF_ISSET(_vsflags, _FLAG)   ((_vsflags) & (RPMVSF_##_FLAG))
  +#define VSF_SET(_vsflags, _FLAG)     \
  +     (*((unsigned *)&(_vsflags)) |= (RPMVSF_##_FLAG))
  +#define VSF_CLR(_vsflags, _FLAG)     \
  +     (*((unsigned *)&(_vsflags)) &= ~(RPMVSF_##_FLAG))
  +
  +#else        /* __cplusplus */
  +
  +#define QVA_ISSET(_qvaflags, _FLAG)  ((_qvaflags) & (VERIFY_##_FLAG))
  +
  +#define VSF_ISSET(_vsflags, _FLAG)   ((_vsflags) & (RPMVSF_##_FLAG))
  +#define VSF_SET(_vsflags, _FLAG)     (_vsflags) |= (RPMVSF_##_FLAG)
  +#define VSF_CLR(_vsflags, _FLAG)     (_vsflags) &= ~(RPMVSF_##_FLAG)
  +
  +#endif       /* __cplusplus */
  +
   /*==============================================================*/
   
   int
  @@ -139,11 +159,18 @@
   
       /* XXX enable --stats using transaction set. */
       {        rpmts ts = repo->_ts;
  +     rpmVSFlags vsflags;
        _rpmts_stats = _rpmsw_stats;
        repo->_ts = ts = rpmtsCreate();
   
       /* XXX todo wire up usual rpm CLI options. hotwire --nosignature for now 
*/
  -     (void) rpmtsSetVSFlags(ts, _RPMVSF_NOSIGNATURES);
  +     vsflags = (rpmVSFlags) 0; /* XXX FIXME: ignore default disablers. */
  +     VSF_SET(vsflags, NODSAHEADER);
  +     VSF_SET(vsflags, NORSAHEADER);
  +     VSF_SET(vsflags, NODSA);
  +     VSF_SET(vsflags, NORSA);
  +     VSF_CLR(vsflags, NEEDPAYLOAD);  /* XXX needed? */
  +     (void) rpmtsSetVSFlags(ts, vsflags);
       }
   
       rc = rpmrepoTestSetupDirs(repo);
  @@ .
______________________________________________________________________
RPM Package Manager                                    http://rpm5.org
CVS Sources Repository                                rpm-cvs@rpm5.org

Reply via email to