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: 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 */ @@ . ______________________________________________________________________ RPM Package Manager http://rpm5.org CVS Sources Repository rpm-cvs@rpm5.org