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:   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 @@
   }
   /[EMAIL PROTECTED]@*/
   
  +static int rpmlibMarkers(Header h)
  +     /[EMAIL PROTECTED] 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;
  +}
  +
   /[EMAIL PROTECTED]@*/
   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 @@
   /[EMAIL PROTECTED]@*/
   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 */
   
   /[EMAIL PROTECTED]@*/
       RPMTAG_FIRSTFREE_TAG     /*!< internal */
  @@ .
______________________________________________________________________
RPM Package Manager                                    http://rpm5.org
CVS Sources Repository                                [email protected]

Reply via email to