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:   08-Nov-2007 17:20:13
  Branch: HEAD                             Handle: 2007110816201102

  Modified files:
    rpm                     CHANGES
    rpm/build               files.c pack.c
    rpm/lib                 rpmchecksig.c rpmfc.c
    rpm/python              header-py.c
    rpm/rpmdb               hdrinline.h header.h rpmdb.c

  Log:
    - add headerRemoveExtension everywhere.

  Summary:
    Revision    Changes     Path
    1.1774      +1  -0      rpm/CHANGES
    1.286       +5  -3      rpm/build/files.c
    2.246       +2  -1      rpm/build/pack.c
    1.166       +35 -17     rpm/lib/rpmchecksig.c
    1.33        +13 -6      rpm/lib/rpmfc.c
    1.73        +18 -13     rpm/python/header-py.c
    1.26        +16 -0      rpm/rpmdb/hdrinline.h
    1.59        +1  -1      rpm/rpmdb/header.h
    1.201       +5  -1      rpm/rpmdb/rpmdb.c
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: rpm/CHANGES
  ============================================================================
  $ cvs diff -u -r1.1773 -r1.1774 CHANGES
  --- rpm/CHANGES       8 Nov 2007 15:15:37 -0000       1.1773
  +++ rpm/CHANGES       8 Nov 2007 16:20:11 -0000       1.1774
  @@ -1,4 +1,5 @@
   4.5 -> 5.0:
  +    - jbj: add headerRemoveExtension everywhere.
       - jbj: finish converting to headerAddExtension() everywhere.
       - jbj: change names of header tag integer types: s/INT32/UINT32/ etc.
       - jbj: finish bulldozing headerAddEntry throughout rpmbuild.
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/build/files.c
  ============================================================================
  $ cvs diff -u -r1.285 -r1.286 files.c
  --- rpm/build/files.c 8 Nov 2007 15:15:38 -0000       1.285
  +++ rpm/build/files.c 8 Nov 2007 16:20:12 -0000       1.286
  @@ -1172,7 +1172,7 @@
   {
       HGE_t hge = headerGetExtension;
       HAE_t hae = headerAddExtension;
  -    HRE_t hre = (HRE_t)headerRemoveEntry;
  +    HRE_t hre = headerRemoveExtension;
       HE_t he = memset(alloca(sizeof(*he)), 0, sizeof(*he));
       const char ** fileNames;
       const char * fn;
  @@ -1191,7 +1191,8 @@
        */
   
       if (headerIsEntry(h, RPMTAG_DIRNAMES)) {
  -     xx = hre(h, RPMTAG_OLDFILENAMES);
  +     he->tag = RPMTAG_OLDFILENAMES;
  +     xx = hre(h, he, 0);
        return;         /* Already converted. */
       }
   
  @@ -1272,7 +1273,8 @@
   
       fileNames = _free(fileNames);
   
  -    xx = hre(h, RPMTAG_OLDFILENAMES);
  +    he->tag = RPMTAG_OLDFILENAMES;
  +    xx = hre(h, he, 0);
   }
   /[EMAIL PROTECTED]@*/
   
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/build/pack.c
  ============================================================================
  $ cvs diff -u -r2.245 -r2.246 pack.c
  --- rpm/build/pack.c  8 Nov 2007 15:15:38 -0000       2.245
  +++ rpm/build/pack.c  8 Nov 2007 16:20:12 -0000       2.246
  @@ -175,6 +175,7 @@
   {
       HGE_t hge = (HGE_t)headerGetExtension;
       HAE_t hae = headerAddExtension;
  +    HRE_t hre = headerRemoveExtension;
       HE_t he = memset(alloca(sizeof(*he)), 0, sizeof(*he));
       StringBuf sb = newStringBuf();
       int xx;
  @@ -183,7 +184,7 @@
       xx = hge(h, he, 0);
       if (xx) {
        appendLineStringBuf(sb, he->p.str);
  -     (void) headerRemoveEntry(h, tag);
  +     (void) hre(h, he, 0);
       }
       he->p.ptr = _free(he->p.ptr);
   
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/lib/rpmchecksig.c
  ============================================================================
  $ cvs diff -u -r1.165 -r1.166 rpmchecksig.c
  --- rpm/lib/rpmchecksig.c     8 Nov 2007 15:15:39 -0000       1.165
  +++ rpm/lib/rpmchecksig.c     8 Nov 2007 16:20:12 -0000       1.166
  @@ -179,6 +179,7 @@
   {
       HGE_t hge = headerGetExtension;
       HAE_t hae = headerAddExtension;
  +    HRE_t hre = headerRemoveExtension;
       HE_t he = memset(alloca(sizeof(*he)), 0, sizeof(*he));
       rpmgi gi = NULL;
       FD_t fd = NULL;
  @@ -296,25 +297,37 @@
   
   if (sigh != NULL) {
        /* Eliminate broken digest values. */
  -     xx = headerRemoveEntry(sigh, RPMSIGTAG_LEMD5_1);
  -     xx = headerRemoveEntry(sigh, RPMSIGTAG_LEMD5_2);
  -     xx = headerRemoveEntry(sigh, RPMSIGTAG_BADSHA1_1);
  -     xx = headerRemoveEntry(sigh, RPMSIGTAG_BADSHA1_2);
  +     he->tag = RPMSIGTAG_LEMD5_1;
  +     xx = hre(sigh, he, 0);
  +     he->tag = RPMSIGTAG_LEMD5_2;
  +     xx = hre(sigh, he, 0);
  +     he->tag = RPMSIGTAG_BADSHA1_1;
  +     xx = hre(sigh, he, 0);
  +     he->tag = RPMSIGTAG_BADSHA1_2;
  +     xx = hre(sigh, he, 0);
   
        /* Toss and recalculate header+payload size and digests. */
  -     xx = headerRemoveEntry(sigh, RPMSIGTAG_SIZE);
  +     he->tag = RPMSIGTAG_SIZE;
  +     xx = hre(sigh, he, 0);
        xx = rpmAddSignature(sigh, sigtarget, RPMSIGTAG_SIZE, qva->passPhrase);
  -     xx = headerRemoveEntry(sigh, RPMSIGTAG_MD5);
  +     he->tag = RPMSIGTAG_MD5;
  +     xx = hre(sigh, he, 0);
        xx = rpmAddSignature(sigh, sigtarget, RPMSIGTAG_MD5, qva->passPhrase);
  -     xx = headerRemoveEntry(sigh, RPMSIGTAG_SHA1);
  +     he->tag = RPMSIGTAG_SHA1;
  +     xx = hre(sigh, he, 0);
        xx = rpmAddSignature(sigh, sigtarget, RPMSIGTAG_SHA1, qva->passPhrase);
   
        if (deleting) { /* Nuke all the signature tags. */
  -         xx = headerRemoveEntry(sigh, RPMSIGTAG_GPG);
  -         xx = headerRemoveEntry(sigh, RPMSIGTAG_PGP5);
  -         xx = headerRemoveEntry(sigh, RPMSIGTAG_PGP);
  -         xx = headerRemoveEntry(sigh, RPMSIGTAG_DSA);
  -         xx = headerRemoveEntry(sigh, RPMSIGTAG_RSA);
  +         he->tag = RPMSIGTAG_GPG;
  +         xx = hre(sigh, he, 0);
  +         he->tag = RPMSIGTAG_PGP5;
  +         xx = hre(sigh, he, 0);
  +         he->tag = RPMSIGTAG_PGP;
  +         xx = hre(sigh, he, 0);
  +         he->tag = RPMSIGTAG_DSA;
  +         xx = hre(sigh, he, 0);
  +         he->tag = RPMSIGTAG_RSA;
  +         xx = hre(sigh, he, 0);
        } else {                /* If gpg/pgp is configured, replace the 
signature. */
          int addsig = 0;
   #if defined(SUPPORT_PGP_SIGNING)
  @@ -333,21 +346,26 @@
   
            switch (sigtag) {
            case RPMSIGTAG_DSA:
  -             xx = headerRemoveEntry(sigh, RPMSIGTAG_GPG);
  +             he->tag = RPMSIGTAG_GPG;
  +             xx = hre(sigh, he, 0);
                /[EMAIL PROTECTED]@*/ break;
            case RPMSIGTAG_RSA:
  -             xx = headerRemoveEntry(sigh, RPMSIGTAG_PGP);
  +             he->tag = RPMSIGTAG_PGP;
  +             xx = hre(sigh, he, 0);
                /[EMAIL PROTECTED]@*/ break;
            case RPMSIGTAG_GPG:
  -             xx = headerRemoveEntry(sigh, RPMSIGTAG_DSA);
  +             he->tag = RPMSIGTAG_DSA;
  +             xx = hre(sigh, he, 0);
                /[EMAIL PROTECTED]@*/
            case RPMSIGTAG_PGP5:
            case RPMSIGTAG_PGP:
  -             xx = headerRemoveEntry(sigh, RPMSIGTAG_RSA);
  +             he->tag = RPMSIGTAG_RSA;
  +             xx = hre(sigh, he, 0);
                /[EMAIL PROTECTED]@*/ break;
            }
   
  -         xx = headerRemoveEntry(sigh, sigtag);
  +         he->tag = sigtag;
  +         xx = hre(sigh, he, 0);
            xx = rpmAddSignature(sigh, sigtarget, sigtag, qva->passPhrase);
   
            /* If package was previously signed, check for same signer. */
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/lib/rpmfc.c
  ============================================================================
  $ cvs diff -u -r1.32 -r1.33 rpmfc.c
  --- rpm/lib/rpmfc.c   8 Nov 2007 15:15:39 -0000       1.32
  +++ rpm/lib/rpmfc.c   8 Nov 2007 16:20:12 -0000       1.33
  @@ -1391,6 +1391,7 @@
   int rpmfcGenerateDepends(void * specp, void * pkgp)
   {
       HAE_t hae = headerAddExtension;
  +    HRE_t hre = headerRemoveExtension;
       HE_t he = memset(alloca(sizeof(*he)), 0, sizeof(*he));
       const Spec spec = specp;
       Package pkg = pkgp;
  @@ -1469,9 +1470,12 @@
        ds = rpmdsNew(pkg->header, RPMTAG_PROVIDENAME, flags);
        xx = rpmdsMerge(&fc->provides, ds);
        ds = rpmdsFree(ds);
  -     xx = headerRemoveEntry(pkg->header, RPMTAG_PROVIDENAME);
  -     xx = headerRemoveEntry(pkg->header, RPMTAG_PROVIDEVERSION);
  -     xx = headerRemoveEntry(pkg->header, RPMTAG_PROVIDEFLAGS);
  +     he->tag = RPMTAG_PROVIDENAME;
  +     xx = hre(pkg->header, he, 0);
  +     he->tag = RPMTAG_PROVIDEVERSION;
  +     xx = hre(pkg->header, he, 0);
  +     he->tag = RPMTAG_PROVIDEFLAGS;
  +     xx = hre(pkg->header, he, 0);
   
        /* Add config dependency, Provides: config(N) = EVR */
        if (genConfigDeps) {
  @@ -1491,9 +1495,12 @@
        ds = rpmdsNew(pkg->header, RPMTAG_REQUIRENAME, flags);
        xx = rpmdsMerge(&fc->requires, ds);
        ds = rpmdsFree(ds);
  -     xx = headerRemoveEntry(pkg->header, RPMTAG_REQUIRENAME);
  -     xx = headerRemoveEntry(pkg->header, RPMTAG_REQUIREVERSION);
  -     xx = headerRemoveEntry(pkg->header, RPMTAG_REQUIREFLAGS);
  +     he->tag = RPMTAG_REQUIRENAME;
  +     xx = hre(pkg->header, he, 0);
  +     he->tag = RPMTAG_REQUIREVERSION;
  +     xx = hre(pkg->header, he, 0);
  +     he->tag = RPMTAG_REQUIREFLAGS;
  +     xx = hre(pkg->header, he, 0);
   
        /* Add config dependency,  Requires: config(N) = EVR */
        if (genConfigDeps) {
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/python/header-py.c
  ============================================================================
  $ cvs diff -u -r1.72 -r1.73 header-py.c
  --- rpm/python/header-py.c    8 Nov 2007 15:25:55 -0000       1.72
  +++ rpm/python/header-py.c    8 Nov 2007 16:20:12 -0000       1.73
  @@ -172,9 +172,9 @@
   static void expandFilelist(Header h)
           /[EMAIL PROTECTED] h @*/
   {
  -    HGE_t hge = (HGE_t)headerGetExtension;
  -    HAE_t hae = (HAE_t)headerAddExtension;
  -    HRE_t hre = (HRE_t)headerRemoveEntry;
  +    HGE_t hge = headerGetExtension;
  +    HAE_t hae = headerAddExtension;
  +    HRE_t hre = headerRemoveExtension;
       HE_t he = memset(alloca(sizeof(*he)), 0, sizeof(*he));
       int xx;
   
  @@ -190,9 +190,12 @@
       }
       /[EMAIL PROTECTED]@*/
   
  -    xx = hre(h, RPMTAG_DIRNAMES);
  -    xx = hre(h, RPMTAG_BASENAMES);
  -    xx = hre(h, RPMTAG_DIRINDEXES);
  +    he->tag = RPMTAG_DIRNAMES;
  +    xx = hre(h, he, 0);
  +    he->tag = RPMTAG_BASENAMES;
  +    xx = hre(h, he, 0);
  +    he->tag = RPMTAG_DIRINDEXES;
  +    xx = hre(h, he, 0);
   }
   
   /[EMAIL PROTECTED]@*/
  @@ -203,9 +206,9 @@
   static void compressFilelist(Header h)
        /[EMAIL PROTECTED] h @*/
   {
  -    HGE_t hge = (HGE_t)headerGetExtension;
  +    HGE_t hge = headerGetExtension;
       HAE_t hae = headerAddExtension;
  -    HRE_t hre = (HRE_t)headerRemoveEntry;
  +    HRE_t hre = headerRemoveExtension;
       HE_t he = memset(alloca(sizeof(*he)), 0, sizeof(*he));
       const char ** fileNames;
       const char ** dirNames;
  @@ -223,7 +226,8 @@
        */
   
       if (headerIsEntry(h, RPMTAG_DIRNAMES)) {
  -     xx = hre(h, RPMTAG_OLDFILENAMES);
  +     he->tag = RPMTAG_OLDFILENAMES;
  +     xx = hre(h, he, 0);
        return;         /* Already converted. */
       }
   
  @@ -303,7 +307,8 @@
   
       fileNames = _free(fileNames);
   
  -    xx = hre(h, RPMTAG_OLDFILENAMES);
  +    he->tag = RPMTAG_OLDFILENAMES;
  +    xx = hre(h, he, 0);
   }
   /[EMAIL PROTECTED]@*/
   
  @@ -1137,9 +1142,9 @@
    */
   int rpmMergeHeaders(PyObject * list, FD_t fd, int matchTag)
   {
  -    HGE_t hge = (HGE_t)headerGetExtension;
  +    HGE_t hge = headerGetExtension;
       HAE_t hae = headerAddExtension;
  -    HRE_t hre = (HRE_t)headerRemoveEntry;
  +    HRE_t hre = headerRemoveExtension;
       HE_t he = memset(alloca(sizeof(*he)), 0, sizeof(*he));
       Header h;
       HeaderIterator hi;
  @@ -1190,7 +1195,7 @@
            he->p.ptr = headerFreeData(he->p.ptr, he->t))
        {
            /* could be dupes */
  -         xx = hre(hdr->h, he->tag);
  +         xx = hre(hdr->h, he, 0);
            xx = hae(hdr->h, he, 0);
        }
   
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/rpmdb/hdrinline.h
  ============================================================================
  $ cvs diff -u -r1.25 -r1.26 hdrinline.h
  --- rpm/rpmdb/hdrinline.h     3 Nov 2007 23:44:03 -0000       1.25
  +++ rpm/rpmdb/hdrinline.h     8 Nov 2007 16:20:13 -0000       1.26
  @@ -292,6 +292,22 @@
   }
   
   /** \ingroup header
  + * Remove tag container from header.
  + *
  + * @param h          header
  + * @param he         tag container
  + * @param flags              (unused)
  + * @return           1 on success, 0 on failure
  + */
  +/[EMAIL PROTECTED]@*/
  +/[EMAIL PROTECTED]@*/ static inline
  +int headerRemoveExtension(Header h, HE_t he, /[EMAIL PROTECTED]@*/ unsigned 
int flags)
  +     /[EMAIL PROTECTED] h @*/
  +{
  +    return (h2hv(h)->hdrremove) (h, he->tag);
  +}
  +
  +/** \ingroup header
    * Retrieve tag value.
    * Will never return RPM_I18NSTRING_TYPE! RPM_STRING_TYPE elements with
    * RPM_I18NSTRING_TYPE equivalent entries are translated (if HEADER_I18NTABLE
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/rpmdb/header.h
  ============================================================================
  $ cvs diff -u -r1.58 -r1.59 header.h
  --- rpm/rpmdb/header.h        8 Nov 2007 15:15:40 -0000       1.58
  +++ rpm/rpmdb/header.h        8 Nov 2007 16:20:13 -0000       1.59
  @@ -402,7 +402,7 @@
    * @param tag                tag
    * @return           0 on success, 1 on failure (INCONSISTENT)
    */
  -typedef int (*HRE_t) (Header h, uint32_t tag)
  +typedef int (*HRE_t) (Header h, HE_t he, unsigned int flags)
        /[EMAIL PROTECTED] h @*/;
   
   /** \ingroup header
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/rpmdb/rpmdb.c
  ============================================================================
  $ cvs diff -u -r1.200 -r1.201 rpmdb.c
  --- rpm/rpmdb/rpmdb.c 8 Nov 2007 15:15:40 -0000       1.200
  +++ rpm/rpmdb/rpmdb.c 8 Nov 2007 16:20:13 -0000       1.201
  @@ -3106,6 +3106,9 @@
   DBT * data = alloca(sizeof(*data));
       HGE_t hge = headerGetExtension;
       HAE_t hae = headerAddExtension;
  +#ifdef       NOTYET  /* XXX headerRemoveEntry() broken on dribbles. */
  +    HRE_t hre = headerRemoveExtension;
  +#endif
       HE_t he = memset(alloca(sizeof(*he)), 0, sizeof(*he));
       sigset_t signalMask;
   #if defined(SUPPORT_RPMV3_BASENAMES_HACKS)
  @@ -3133,7 +3136,8 @@
   memset(data, 0, sizeof(*data));
   
   #ifdef       NOTYET  /* XXX headerRemoveEntry() broken on dribbles. */
  -    xx = headerRemoveEntry(h, RPMTAG_REMOVETID);
  +    he->tag = RPMTAG_REMOVETID;
  +    xx = hre(h, he, 0);
   #endif
       if (iid != 0 && iid != -1) {
        uint32_t tid = iid;
  @@ .
______________________________________________________________________
RPM Package Manager                                    http://rpm5.org
CVS Sources Repository                                rpm-cvs@rpm5.org

Reply via email to