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