Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:rguenther:hw
rpm
hackweek-1.diff
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File hackweek-1.diff of Package rpm
Index: rpm-4.4.2.3/lib/rpmlib.h =================================================================== --- rpm-4.4.2.3.orig/lib/rpmlib.h 2009-07-24 14:47:22.000000000 +0200 +++ rpm-4.4.2.3/lib/rpmlib.h 2009-07-24 14:48:54.000000000 +0200 @@ -461,6 +461,7 @@ typedef enum rpmTag_e { RPMTAG_SCRIPTMETRICS = 1175, /*!< i scriptlet execution times */ RPMTAG_BUILDCPUCLOCK = 1176, /*!< i */ + RPMTAG_SUSEBUILDCNT = 1177, /* s */ /*@-enummemuse@*/ RPMTAG_FIRSTFREE_TAG /*!< internal */ /*@=enummemuse@*/ Index: rpm-4.4.2.3/build/parsePreamble.c =================================================================== --- rpm-4.4.2.3.orig/build/parsePreamble.c 2009-07-24 14:47:22.000000000 +0200 +++ rpm-4.4.2.3/build/parsePreamble.c 2009-07-24 14:48:54.000000000 +0200 @@ -32,6 +32,7 @@ static rpmTag copyTagsDuringParse[] = { RPMTAG_RHNPLATFORM, RPMTAG_DISTTAG, RPMTAG_CVSID, + RPMTAG_SUSEBUILDCNT, 0 }; @@ -335,6 +336,7 @@ static struct optionalTag { { RPMTAG_DISTRIBUTION, "%{distribution}" }, { RPMTAG_DISTURL, "%{disturl}" }, { RPMTAG_DISTTAG, "%{disttag}" }, + { RPMTAG_SUSEBUILDCNT, "%{susebuildcnt}" }, { -1, NULL } }; @@ -522,6 +524,7 @@ static int handlePreambleTag(Spec spec, case RPMTAG_RHNPLATFORM: case RPMTAG_DISTTAG: case RPMTAG_CVSID: + case RPMTAG_SUSEBUILDCNT: SINGLE_TOKEN_ONLY; /* These macros are for backward compatibility */ if (tag == RPMTAG_VERSION) { @@ -759,6 +762,7 @@ static struct PreambleRec_s preambleList {RPMTAG_NAME, 0, 0, 0, "name"}, {RPMTAG_VERSION, 0, 0, 0, "version"}, {RPMTAG_RELEASE, 0, 0, 0, "release"}, + {RPMTAG_SUSEBUILDCNT, 0, 0, 0, "susebuildcnt"}, {RPMTAG_EPOCH, 0, 0, 0, "epoch"}, {RPMTAG_EPOCH, 0, 0, 1, "serial"}, {RPMTAG_SUMMARY, 0, 1, 0, "summary"}, Index: rpm-4.4.2.3/lib/psm.c =================================================================== --- rpm-4.4.2.3.orig/lib/psm.c 2009-07-24 14:47:22.000000000 +0200 +++ rpm-4.4.2.3/lib/psm.c 2009-07-24 14:48:54.000000000 +0200 @@ -103,6 +103,7 @@ static struct tagMacro { { "version", RPMTAG_VERSION }, { "release", RPMTAG_RELEASE }, { "epoch", RPMTAG_EPOCH }, + { "susebuildcnt", RPMTAG_SUSEBUILDCNT }, { NULL, 0 } }; Index: rpm-4.4.2.3/build/pack.c =================================================================== --- rpm-4.4.2.3.orig/build/pack.c 2009-07-24 14:47:22.000000000 +0200 +++ rpm-4.4.2.3/build/pack.c 2009-07-24 14:48:54.000000000 +0200 @@ -41,7 +41,7 @@ static inline int genSourceRpmName(Spec const char *name, *version, *release; char fileName[BUFSIZ]; - (void) headerNVR(spec->packages->header, &name, &version, &release); + (void) headerNVR(spec->sourceHeader, &name, &version, &release); sprintf(fileName, "%s-%s-%s.%ssrc.rpm", name, version, release, spec->noSource ? "no" : ""); spec->sourceRpmName = xstrdup(fileName); @@ -849,6 +849,26 @@ int packageBinaries(Spec spec) (void) headerAddEntry(pkg->header, RPMTAG_BUILDTIME, RPM_INT32_TYPE, getBuildTime(), 1); + { + int type, count; + char *ap = NULL; + char *rp = NULL; + char *bp = NULL; + if ((!headerGetEntry(pkg->header, RPMTAG_ARCH, &type, (void **)&ap, &count) + || (type == RPM_STRING_TYPE && count == 1 + && strcmp (ap, "noarch") != 0)) + && headerGetEntry(pkg->header, RPMTAG_RELEASE, &type, (void **) &rp, &count) + && type == RPM_STRING_TYPE && count == 1 + && headerGetEntry(pkg->header, RPMTAG_SUSEBUILDCNT, &type, (void **) &bp, &count) + && type == RPM_STRING_TYPE && count == 1) + { + char tmp[1024]; + snprintf (tmp, 1024, "%s.%s", rp, bp); + headerModifyEntry (pkg->header, RPMTAG_RELEASE, RPM_STRING_TYPE, + strdup (tmp), 1); + } + } + providePackageNVR(pkg->header); { const char * optflags = rpmExpand("%{optflags}", NULL); Index: rpm-4.4.2.3/build/files.c =================================================================== --- rpm-4.4.2.3.orig/build/files.c 2009-07-24 14:47:50.000000000 +0200 +++ rpm-4.4.2.3/build/files.c 2009-07-24 14:48:54.000000000 +0200 @@ -2608,6 +2608,7 @@ static rpmTag copyTagsForDebug[] = { RPMTAG_DISTTAG, RPMTAG_CVSID, RPMTAG_ARCH, + RPMTAG_SUSEBUILDCNT, 0 };
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor