RPM Community Forums

Mailing List Message of <rpm-cvs>

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

From: Jeff Johnson <jbj@rpm5.org>
Date: Sun 23 Dec 2007 - 02:56:40 CET
Message-Id: <20071223015640.6D95234845B@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:   23-Dec-2007 02:56:40
  Branch: HEAD                             Handle: 2007122301563901

  Modified files:
    rpm                     CHANGES
    rpm/build               files.c pack.c

  Log:
    - jbj: permit rpm -q --qf '%{track}\n' --specsrpm foo.spec queries.

  Summary:
    Revision    Changes     Path
    1.2008      +1  -0      rpm/CHANGES
    1.310       +43 -0      rpm/build/files.c
    2.280       +0  -42     rpm/build/pack.c
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: rpm/CHANGES
  ============================================================================
  $ cvs diff -u -r1.2007 -r1.2008 CHANGES
  --- rpm/CHANGES	23 Dec 2007 00:14:01 -0000	1.2007
  +++ rpm/CHANGES	23 Dec 2007 01:56:39 -0000	1.2008
  @@ -1,4 +1,5 @@
   5.0b3 -> 5.0b4:
  +    - jbj: permit rpm -q --qf '%{track}\n' --specsrpm foo.spec queries.
       - jbj: fix: supply additional indentation for forced array[1] with --yaml.
   
   5.0b2 -> 5.0b3:
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/build/files.c
  ============================================================================
  $ cvs diff -u -r1.309 -r1.310 files.c
  --- rpm/build/files.c	19 Dec 2007 03:00:23 -0000	1.309
  +++ rpm/build/files.c	23 Dec 2007 01:56:40 -0000	1.310
  @@ -17,6 +17,7 @@
   #include <rpmio_internal.h>	/* XXX fdGetFp */
   #include <fts.h>
   
  +#define	_RPMTAG_INTERNAL	/* XXX rpmTags->aTags */
   #define	_RPMFI_INTERNAL
   #define	_RPMTE_INTERNAL
   #include <rpmbuild.h>
  @@ -2489,6 +2490,7 @@
       struct Source *srcPtr;
       static rpmTag classTag = 0xffffffff;
       int xx;
  +    int i;
   
       if (classTag == 0xffffffff)
   	classTag = tagValue("Class");
  @@ -2546,6 +2548,47 @@
   	he->c = spec->BACount;
   	xx = headerPut(spec->sourceHeader, he, 0);
       }
  +
  +    /* Load arbitrary tags into srpm header. */
  +    if (spec->foo)
  +    for (i = 0; i < spec->nfoo; i++) {
  +	const char * str = spec->foo[i].str;
  +	rpmTag tag = spec->foo[i].tag;
  +	StringBuf sb = spec->foo[i].val;
  +	char * s;
  +
  +	if (str == NULL || sb == NULL)
  +	    continue;
  +
  +	/* XXX Special case %track interpreter for now. */
  +	if (!xstrcasecmp(str, "track")) {
  +	    he->p.str = rpmExpand("%{?__vcheck}", NULL);
  +	    if (!(he->p.str != NULL && he->p.str[0] != '\0')) {
  +		he->p.str = _free(he->p.str);
  +		continue;
  +	    }
  +	    he->tag = tagValue("Trackprog");
  +	    he->t = RPM_STRING_TYPE;
  +	    he->c = 1;
  +	    xx = headerPut(spec->sourceHeader, he, 0);
  +	    he->p.str = _free(he->p.str);
  +	}
  +
  +	s = getStringBuf(sb);
  +	he->tag = tag;
  +	he->append = headerIsEntry(spec->sourceHeader, tag);
  +	if (he->append) {
  +	    he->t = RPM_STRING_ARRAY_TYPE;
  +	    he->p.argv = (const char **) &s;
  +	    he->c = 1;
  +	} else {
  +	    he->t = RPM_STRING_TYPE;
  +	    he->p.str = s;
  +	    he->c = 1;
  +	}
  +	xx = headerPut(spec->sourceHeader, he, 0);
  +	he->append = 0;
  +    }
     }
   
       if (sfp != NULL && *sfp != NULL)
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/build/pack.c
  ============================================================================
  $ cvs diff -u -r2.279 -r2.280 pack.c
  --- rpm/build/pack.c	19 Dec 2007 03:03:39 -0000	2.279
  +++ rpm/build/pack.c	23 Dec 2007 01:56:40 -0000	2.280
  @@ -1111,7 +1111,6 @@
       CSA_t csa = &csabuf;
       rpmRC rc;
       int xx;
  -    int i;
   
       /* Add rpmlib markers for tracking. */
       (void) rpmlibMarkers(spec->sourceHeader);
  @@ -1130,47 +1129,6 @@
   	av = argvFree(av);
       }
   
  -    /* Load arbitrary tags into srpm header. */
  -    if (spec->foo)
  -    for (i = 0; i < spec->nfoo; i++) {
  -	const char * str = spec->foo[i].str;
  -	rpmTag tag = spec->foo[i].tag;
  -	StringBuf sb = spec->foo[i].val;
  -	char * s;
  -
  -	if (str == NULL || sb == NULL)
  -	    continue;
  -
  -	/* XXX Special case %track interpreter for now. */
  -	if (!xstrcasecmp(str, "track")) {
  -	    he->p.str = rpmExpand("%{?__vcheck}", NULL);
  -	    if (!(he->p.str != NULL && he->p.str[0] != '\0')) {
  -		he->p.str = _free(he->p.str);
  -		continue;
  -	    }
  -	    he->tag = tagValue("Trackprog");
  -	    he->t = RPM_STRING_TYPE;
  -	    he->c = 1;
  -	    xx = headerPut(spec->sourceHeader, he, 0);
  -	    he->p.str = _free(he->p.str);
  -	}
  -
  -	s = getStringBuf(sb);
  -	he->tag = tag;
  -	he->append = headerIsEntry(spec->sourceHeader, tag);
  -	if (he->append) {
  -	    he->t = RPM_STRING_ARRAY_TYPE;
  -	    he->p.argv = (const char **) &s;
  -	    he->c = 1;
  -	} else {
  -	    he->t = RPM_STRING_TYPE;
  -	    he->p.str = s;
  -	    he->c = 1;
  -	}
  -	xx = headerPut(spec->sourceHeader, he, 0);
  -	he->append = 0;
  -    }
  -
       spec->cookie = _free(spec->cookie);
       
       /* XXX this should be %_srpmdir */
  @@ .
Received on Sun Dec 23 02:56:40 2007
Driven by Jeff Johnson and the RPM project team.
Hosted by OpenPKG and Ralf S. Engelschall.
Powered by FreeBSD and OpenPKG.