RPM Community Forums

Mailing List Message of <rpm-cvs>

[CVS] RPM: rpm/ CHANGES rpm/build/ files.c pack.c rpm/lib/ rpmchecksig...

From: Jeff Johnson <jbj@rpm5.org>
Date: Thu 08 Nov 2007 - 17:20:13 CET
Message-Id: <20071108162013.7C6FC34845C@rpm5.org>
  RPM Package Manager, CVS Repository
  http://rpm5.org/cvs/
  ____________________________________________________________________________

  Server: rpm5.org                         Name:   Jeff Johnson
  Root:   /v/rpm/cvs                       Email:  jbj@rpm5.org
  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);
   }
   /*@=bounds@*/
   
  @@ .
  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);
   		/*@switchbreak@*/ break;
   	    case RPMSIGTAG_RSA:
  -		xx = headerRemoveEntry(sigh, RPMSIGTAG_PGP);
  +		he->tag = RPMSIGTAG_PGP;
  +		xx = hre(sigh, he, 0);
   		/*@switchbreak@*/ break;
   	    case RPMSIGTAG_GPG:
  -		xx = headerRemoveEntry(sigh, RPMSIGTAG_DSA);
  +		he->tag = RPMSIGTAG_DSA;
  +		xx = hre(sigh, he, 0);
   		/*@fallthrough@*/
   	    case RPMSIGTAG_PGP5:
   	    case RPMSIGTAG_PGP:
  -		xx = headerRemoveEntry(sigh, RPMSIGTAG_RSA);
  +		he->tag = RPMSIGTAG_RSA;
  +		xx = hre(sigh, he, 0);
   		/*@switchbreak@*/ 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)
           /*@modifies 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 @@
       }
       /*@=branchstate@*/
   
  -    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);
   }
   
   /*@-bounds@*/
  @@ -203,9 +206,9 @@
   static void compressFilelist(Header h)
   	/*@modifies 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);
   }
   /*@=bounds@*/
   
  @@ -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
  + */
  +/*@mayexit@*/
  +/*@unused@*/ static inline
  +int headerRemoveExtension(Header h, HE_t he, /*@unused@*/ unsigned int flags)
  +	/*@modifies 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)
   	/*@modifies 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;
  @@ .
Received on Thu Nov 8 17:20:13 2007
Driven by Jeff Johnson and the RPM project team.
Hosted by OpenPKG and Ralf S. Engelschall.
Powered by FreeBSD and OpenPKG.