RPM Community Forums

Mailing List Message of <rpm-cvs>

[CVS] RPM: rpm/ CHANGES rpm/build/ pack.c rpm/lib/ librpm.vers rpmvers...

From: Jeff Johnson <jbj@rpm5.org>
Date: Mon 03 Dec 2007 - 18:19:29 CET
Message-Id: <20071203171929.0752834845C@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:   03-Dec-2007 18:19:29
  Branch: HEAD                             Handle: 2007120317192701

  Modified files:
    rpm                     CHANGES
    rpm/build               pack.c
    rpm/lib                 librpm.vers rpmversion.c
    rpm/rpmdb               rpmtag.h

  Log:
    - hijack rse's versioning name space, add to *.rpm packages too.

  Summary:
    Revision    Changes     Path
    1.1915      +1  -0      rpm/CHANGES
    2.264       +55 -39     rpm/build/pack.c
    1.28        +3  -3      rpm/lib/librpm.vers
    2.2         +6  -6      rpm/lib/rpmversion.c
    1.22        +3  -0      rpm/rpmdb/rpmtag.h
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: rpm/CHANGES
  ============================================================================
  $ cvs diff -u -r1.1914 -r1.1915 CHANGES
  --- rpm/CHANGES	3 Dec 2007 15:42:37 -0000	1.1914
  +++ rpm/CHANGES	3 Dec 2007 17:19:27 -0000	1.1915
  @@ -1,4 +1,5 @@
   5.0a4 -> 5.0b1:
  +    - jbj: hijack rse's versioning name space, add to *.rpm packages too.
       - jbj: fix: rpmbuild -ba dir/foo.spec was broken.
       - jbj: arbitrary tags w RPM_STRING_ARRAY_TYPE default type, append assumed.
       - jbj: eliminate tagName "(unknown)" failure, return "Tag_0x12345678"
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/build/pack.c
  ============================================================================
  $ cvs diff -u -r2.263 -r2.264 pack.c
  --- rpm/build/pack.c	30 Nov 2007 02:23:33 -0000	2.263
  +++ rpm/build/pack.c	3 Dec 2007 17:19:28 -0000	2.264
  @@ -941,6 +941,55 @@
   }
   /*@=boundswrite@*/
   
  +static int rpmlibMarkers(Header h)
  +	/*@modifies h @*/
  +{
  +    HE_t he = memset(alloca(sizeof(*he)), 0, sizeof(*he));
  +    uint32_t val;
  +    int xx;
  +
  +    he->tag = RPMTAG_RPMVERSION;
  +    he->t = RPM_STRING_TYPE;
  +    he->p.str = VERSION;
  +    he->c = 1;
  +    xx = headerPut(h, he, 0);
  +
  +    val = rpmlibTimestamp();
  +    he->tag = RPMTAG_RPMLIBTIMESTAMP;
  +    he->t = RPM_UINT32_TYPE;
  +    he->p.ui32p = &val;
  +    he->c = 1;
  +    xx = headerPut(h, he, 0);
  +
  +    val = rpmlibVendor();
  +    he->tag = RPMTAG_RPMLIBVENDOR;
  +    he->t = RPM_UINT32_TYPE;
  +    he->p.ui32p = &val;
  +    he->c = 1;
  +    xx = headerPut(h, he, 0);
  +
  +    val = rpmlibVersion();
  +    he->tag = RPMTAG_RPMLIBVERSION;
  +    he->t = RPM_UINT32_TYPE;
  +    he->p.ui32p = &val;
  +    he->c = 1;
  +    xx = headerPut(h, he, 0);
  +
  +    he->tag = RPMTAG_BUILDHOST;
  +    he->t = RPM_STRING_TYPE;
  +    he->p.str = buildHost();
  +    he->c = 1;
  +    xx = headerPut(h, he, 0);
  +
  +    he->tag = RPMTAG_BUILDTIME;
  +    he->t = RPM_UINT32_TYPE;
  +    he->p.ui32p = getBuildTime();
  +    he->c = 1;
  +    xx = headerPut(h, he, 0);
  +
  +    return 0;
  +}
  +
   /*@unchecked@*/
   static uint32_t copyTags[] = {
       RPMTAG_CHANGELOGTIME,
  @@ -976,25 +1025,10 @@
   
   	/* Copy changelog from src rpm */
   	headerCopyTags(spec->packages->header, pkg->header, copyTags);
  -	
  -	he->tag = RPMTAG_RPMVERSION;
  -	he->t = RPM_STRING_TYPE;
  -	he->p.str = VERSION;
  -	he->c = 1;
  -	xx = headerPut(pkg->header, he, 0);
  -
  -	he->tag = RPMTAG_BUILDHOST;
  -	he->t = RPM_STRING_TYPE;
  -	he->p.str = buildHost();
  -	he->c = 1;
  -	xx = headerPut(pkg->header, he, 0);
  -
  -	he->tag = RPMTAG_BUILDTIME;
  -	he->t = RPM_UINT32_TYPE;
  -	he->p.ui32p = getBuildTime();
  -	he->c = 1;
  -	xx = headerPut(pkg->header, he, 0);
   
  +	/* Add rpmlib markers for tracking. */
  +	(void) rpmlibMarkers(pkg->header);
  +	
   	he->tag = RPMTAG_OPTFLAGS;
   	he->t = RPM_STRING_TYPE;
   	he->p.str = rpmExpand("%{optflags}", NULL);
  @@ -1080,31 +1114,13 @@
   /*@-boundswrite@*/
   int packageSources(Spec spec)
   {
  -    HE_t he = memset(alloca(sizeof(*he)), 0, sizeof(*he));
       struct cpioSourceArchive_s csabuf;
       CSA_t csa = &csabuf;
       int rc;
  -    int xx;
  -
  -    /* Add some cruft */
  -    he->tag = RPMTAG_RPMVERSION;
  -    he->t = RPM_STRING_TYPE;
  -    he->p.str = VERSION;
  -    he->c = 1;
  -    xx = headerPut(spec->sourceHeader, he, 0);
  -
  -    he->tag = RPMTAG_BUILDHOST;
  -    he->t = RPM_STRING_TYPE;
  -    he->p.str = buildHost();
  -    he->c = 1;
  -    xx = headerPut(spec->sourceHeader, he, 0);
  -
  -    he->tag = RPMTAG_BUILDTIME;
  -    he->t = RPM_UINT32_TYPE;
  -    he->p.ui32p = getBuildTime();
  -    he->c = 1;
  -    xx = headerPut(spec->sourceHeader, he, 0);
   
  +    /* Add rpmlib markers for tracking. */
  +    (void) rpmlibMarkers(spec->sourceHeader);
  +	
       (void) genSourceRpmName(spec);
   
       spec->cookie = _free(spec->cookie);
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/lib/librpm.vers
  ============================================================================
  $ cvs diff -u -r1.27 -r1.28 librpm.vers
  --- rpm/lib/librpm.vers	2 Dec 2007 15:33:54 -0000	1.27
  +++ rpm/lib/librpm.vers	3 Dec 2007 17:19:28 -0000	1.28
  @@ -217,6 +217,9 @@
       rpmInstallPoptTable;
       rpmInstallSource;
       rpmInstallSourcePackage;
  +    rpmlibVersion;
  +    rpmlibTimestamp;
  +    rpmlibVendor;
       rpmMkdirPath;
       rpmNAME;
       _rpmns_debug;
  @@ -423,9 +426,6 @@
       XrpmtsiInit;
       XrpmtsLink;
       XrpmtsUnlink;
  -    rpm_version;
  -    rpm_timestamp;
  -    rpm_vendor;
     local:
       *;
   };
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/lib/rpmversion.c
  ============================================================================
  $ cvs diff -u -r2.1 -r2.2 rpmversion.c
  --- rpm/lib/rpmversion.c	2 Dec 2007 15:33:54 -0000	2.1
  +++ rpm/lib/rpmversion.c	3 Dec 2007 17:19:28 -0000	2.2
  @@ -6,18 +6,18 @@
   #include "rpmversion.h"
   #include "debug.h"
   
  -unsigned long rpm_version(void)
  +uint32_t rpmlibVersion(void)
   {
  -    return (unsigned long)RPM_VERSION;
  +    return (uint32_t)RPMLIB_VERSION;
   }
   
  -unsigned long rpm_timestamp(void)
  +uint32_t rpmlibTimestamp(void)
   {
  -    return (unsigned long)RPM_TIMESTAMP;
  +    return (uint32_t)RPMLIB_TIMESTAMP;
   }
   
  -unsigned long rpm_vendor(void)
  +uint32_t rpmlibVendor(void)
   {
  -    return (unsigned long)RPM_VENDOR;
  +    return (uint32_t)RPMLIB_VENDOR;
   }
   
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/rpmdb/rpmtag.h
  ============================================================================
  $ cvs diff -u -r1.21 -r1.22 rpmtag.h
  --- rpm/rpmdb/rpmtag.h	3 Dec 2007 15:12:09 -0000	1.21
  +++ rpm/rpmdb/rpmtag.h	3 Dec 2007 17:19:28 -0000	1.22
  @@ -401,6 +401,9 @@
       RPMTAG_NVRA			= 1196, /* s */
       RPMTAG_FILEPATHS		= 1197, /* s[] */
       RPMTAG_ORIGPATHS		= 1198, /* s[] */
  +    RPMTAG_RPMLIBVERSION	= 1199, /* i */
  +    RPMTAG_RPMLIBTIMESTAMP	= 1200, /* i */
  +    RPMTAG_RPMLIBVENDOR		= 1201, /* i */
   
   /*@-enummemuse@*/
       RPMTAG_FIRSTFREE_TAG	/*!< internal */
  @@ .
Received on Mon Dec 3 18:19:29 2007
Driven by Jeff Johnson and the RPM project team.
Hosted by OpenPKG and Ralf S. Engelschall.
Powered by FreeBSD and OpenPKG.