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: 19-Aug-2007 19:43:04
Branch: HEAD Handle: 2007081918430103
Modified files:
rpm CHANGES
rpm/build files.c pack.c parsePreamble.c parsePrep.c
parseSpec.c spec.c
rpm/lib psm.c rpmds.c rpminstall.c
rpm/python header-py.c rpmts-py.c
rpm/rpmdb hdrNVR.c hdrfmt.c librpmdb.vers rpmdb.c
Log:
- eliminate headerNVR, use headerNEVRA instead.
Summary:
Revision Changes Path
1.1591 +1 -0 rpm/CHANGES
1.262 +4 -3 rpm/build/files.c
2.223 +8 -6 rpm/build/pack.c
2.130 +2 -1 rpm/build/parsePreamble.c
2.89 +1 -1 rpm/build/parsePrep.c
2.102 +5 -3 rpm/build/parseSpec.c
2.153 +5 -3 rpm/build/spec.c
2.221 +57 -67 rpm/lib/psm.c
2.63 +2 -2 rpm/lib/rpmds.c
1.162 +6 -7 rpm/lib/rpminstall.c
1.51 +1 -1 rpm/python/header-py.c
1.68 +1 -1 rpm/python/rpmts-py.c
1.9 +0 -5 rpm/rpmdb/hdrNVR.c
1.5 +5 -3 rpm/rpmdb/hdrfmt.c
1.11 +0 -1 rpm/rpmdb/librpmdb.vers
1.153 +5 -4 rpm/rpmdb/rpmdb.c
____________________________________________________________________________
patch -p0 <<'@@ .'
Index: rpm/CHANGES
============================================================================
$ cvs diff -u -r1.1590 -r1.1591 CHANGES
--- rpm/CHANGES 19 Aug 2007 15:26:11 -0000 1.1590
+++ rpm/CHANGES 19 Aug 2007 17:43:01 -0000 1.1591
@@ -1,4 +1,5 @@
4.5 -> 5.0:
+ - jbj: eliminate headerNVR, use headerNEVRA instead.
- jbj: eliminate the rpmrbFoo, use rpmcliInstallFoo instead.
- jbj: load/unload header macros for %{_sourcedir} et al expansions.
- jbj: don't open rpmdb O_RDWR iff srpm to permit non-root installs.
@@ .
patch -p0 <<'@@ .'
Index: rpm/build/files.c
============================================================================
$ cvs diff -u -r1.261 -r1.262 files.c
--- rpm/build/files.c 18 Aug 2007 21:32:29 -0000 1.261
+++ rpm/build/files.c 19 Aug 2007 17:43:01 -0000 1.262
@@ -2650,7 +2650,7 @@
check_fileList = newStringBuf();
for (pkg = spec->packages; pkg != NULL; pkg = pkg->next) {
- const char *n, *v, *r;
+ const char *NVRA = NULL;
int rc;
if (pkg->fileList == NULL)
@@ -2658,8 +2658,9 @@
(void) headerMacrosLoad(pkg->header);
- (void) headerNVR(pkg->header, &n, &v, &r);
- rpmMessage(RPMMESS_NORMAL, _("Processing files: %s-%s-%s\n"), n, v, r);
+ (void) headerGetExtension(pkg->header, RPMTAG_NVRA, NULL, &NVRA, NULL);
+ rpmMessage(RPMMESS_NORMAL, _("Processing files: %s\n"), NVRA);
+ NVRA = _free(NVRA);
if ((rc = processPackageFiles(spec, pkg, installSpecialDoc, test)))
res = rc;
@@ .
patch -p0 <<'@@ .'
Index: rpm/build/pack.c
============================================================================
$ cvs diff -u -r2.222 -r2.223 pack.c
--- rpm/build/pack.c 17 Aug 2007 16:04:50 -0000 2.222
+++ rpm/build/pack.c 19 Aug 2007 17:43:01 -0000 2.223
@@ -45,7 +45,7 @@
const char *name, *version, *release;
char fileName[BUFSIZ];
- (void) headerNVR(spec->packages->header, &name, &version, &release);
+ (void) headerNEVRA(spec->packages->header, &name, NULL, &version, &release, NULL);
sprintf(fileName, "%s-%s-%s.%ssrc.rpm", name, version, release,
spec->noSource ? "no" : "");
spec->sourceRpmName = xstrdup(fileName);
@@ -430,7 +430,7 @@
int bingo = 1;
/* Generate provides for this package name-version-release. */
- xx = headerNVR(h, &name, &version, &release);
+ xx = headerNEVRA(h, &name, NULL, &version, &release, NULL);
if (!(name && version && release))
return;
pEVR = p = alloca(21 + strlen(version) + 1 + strlen(release) + 1);
@@ -707,7 +707,7 @@
lead.signature_type = RPMSIGTYPE_HEADERSIG;
{ const char *name, *version, *release;
- (void) headerNVR(h, &name, &version, &release);
+ (void) headerNEVRA(h, &name, NULL, &version, &release, NULL);
sprintf(buf, "%s-%s-%s", name, version, release);
strncpy(lead.name, buf, sizeof(lead.name));
}
@@ -876,10 +876,12 @@
rpmHeaderFormats, &errorString);
binFormat = _free(binFormat);
if (binRpm == NULL) {
- const char *name;
- (void) headerNVR(pkg->header, &name, NULL, NULL);
+ const char *NVRA = NULL;
+ (void) headerGetExtension(pkg->header, RPMTAG_NVRA,
+ NULL, &NVRA, NULL);
rpmError(RPMERR_BADFILENAME, _("Could not generate output "
- "filename for package %s: %s\n"), name, errorString);
+ "filename for package %s: %s\n"), NVRA, errorString);
+ NVRA = _free(NVRA);
return RPMERR_BADFILENAME;
}
fn = rpmGetPath("%{_rpmdir}/", binRpm, NULL);
@@ .
patch -p0 <<'@@ .'
Index: rpm/build/parsePreamble.c
============================================================================
$ cvs diff -u -r2.129 -r2.130 parsePreamble.c
--- rpm/build/parsePreamble.c 22 Jul 2007 01:35:29 -0000 2.129
+++ rpm/build/parsePreamble.c 19 Aug 2007 17:43:01 -0000 2.130
@@ -954,7 +954,8 @@
/* Construct the package */
if (flag == PART_SUBNAME) {
const char * mainName;
- xx = headerNVR(spec->packages->header, &mainName, NULL, NULL);
+ xx = headerGetEntry(spec->packages->header, RPMTAG_NAME,
+ NULL, &mainName, NULL);
sprintf(NVR, "%s-%s", mainName, name);
} else
strcpy(NVR, name);
@@ .
patch -p0 <<'@@ .'
Index: rpm/build/parsePrep.c
============================================================================
$ cvs diff -u -r2.88 -r2.89 parsePrep.c
--- rpm/build/parsePrep.c 17 Aug 2007 00:13:56 -0000 2.88
+++ rpm/build/parsePrep.c 19 Aug 2007 17:43:01 -0000 2.89
@@ -384,7 +384,7 @@
spec->buildSubdir = xstrdup(dirName);
} else {
const char *name, *version;
- (void) headerNVR(spec->packages->header, &name, &version, NULL);
+ (void) headerNEVRA(spec->packages->header, &name, NULL, &version, NULL, NULL);
sprintf(buf, "%s-%s", name, version);
spec->buildSubdir = xstrdup(buf);
}
@@ .
patch -p0 <<'@@ .'
Index: rpm/build/parseSpec.c
============================================================================
$ cvs diff -u -r2.101 -r2.102 parseSpec.c
--- rpm/build/parseSpec.c 10 Jul 2007 19:04:54 -0000 2.101
+++ rpm/build/parseSpec.c 19 Aug 2007 17:43:02 -0000 2.102
@@ -600,10 +600,12 @@
for (pkg = spec->packages; pkg != NULL; pkg = pkg->next) {
if (!headerIsEntry(pkg->header, RPMTAG_DESCRIPTION)) {
- const char * name;
- (void) headerNVR(pkg->header, &name, NULL, NULL);
+ const char * NVRA = NULL;
+ (void) headerGetExtension(pkg->header, RPMTAG_NVRA,
+ NULL, &NVRA, NULL);
rpmError(RPMERR_BADSPEC, _("Package has no %%description: %s\n"),
- name);
+ NVRA);
+ NVRA = _free(NVRA);
spec = freeSpec(spec);
return RPMERR_BADSPEC;
}
@@ .
patch -p0 <<'@@ .'
Index: rpm/build/spec.c
============================================================================
$ cvs diff -u -r2.152 -r2.153 spec.c
--- rpm/build/spec.c 17 Aug 2007 00:13:56 -0000 2.152
+++ rpm/build/spec.c 19 Aug 2007 17:43:02 -0000 2.153
@@ -81,7 +81,8 @@
/* Construct package name */
{ char *n;
if (flag == PART_SUBNAME) {
- (void) headerNVR(spec->packages->header, &pname, NULL, NULL);
+ (void) headerGetEntry(spec->packages->header, RPMTAG_NAME,
+ NULL, &pname, NULL);
fullName = n = alloca(strlen(pname) + 1 + strlen(name) + 1);
while (*pname != '\0') *n++ = *pname++;
*n++ = '-';
@@ -95,7 +96,8 @@
/* Locate package with fullName */
for (p = spec->packages; p != NULL; p = p->next) {
- (void) headerNVR(p->header, &pname, NULL, NULL);
+ (void) headerGetEntry(spec->packages->header, RPMTAG_NAME,
+ NULL, &pname, NULL);
if (pname && (! strcmp(fullName, pname))) {
break;
}
@@ -660,7 +662,7 @@
for (pkg = spec->packages; pkg != NULL; pkg = pkg->next) {
const char *pkgname;
h = pkg->header;
- (void) headerNVR(h, &pkgname, NULL, NULL);
+ (void) headerGetEntry(h, RPMTAG_NAME, NULL, &pkgname, NULL);
if (!strcmp(pkgname, fmt))
/*@innerbreak@*/ break;
}
@@ .
patch -p0 <<'@@ .'
Index: rpm/lib/psm.c
============================================================================
$ cvs diff -u -r2.220 -r2.221 psm.c
--- rpm/lib/psm.c 18 Aug 2007 21:32:29 -0000 2.220
+++ rpm/lib/psm.c 19 Aug 2007 17:43:03 -0000 2.221
@@ -471,7 +471,7 @@
{
const rpmts ts = psm->ts;
int rootFdno = -1;
- const char *n, *v, *r;
+ const char * NVRA = NULL;
rpmRC rc = RPMRC_OK;
int i;
int xx;
@@ -484,7 +484,8 @@
if (ssp != NULL)
*ssp |= (RPMSCRIPT_STATE_LUA|RPMSCRIPT_STATE_EXEC);
- xx = headerNVR(h, &n, &v, &r);
+ xx = headerGetExtension(h, RPMTAG_NVRA, NULL, &NVRA, NULL);
+assert(NVRA);
/* Save the current working directory. */
/*@-nullpass@*/
@@ -532,7 +533,7 @@
{
char buf[BUFSIZ];
- xx = snprintf(buf, BUFSIZ, "%s(%s-%s-%s)", sln, n, v, r);
+ xx = snprintf(buf, BUFSIZ, "%s(%s)", sln, NVRA);
xx = rpmluaRunScript(lua, script, buf);
if (xx == -1)
rc = RPMRC_FAIL;
@@ -559,6 +560,7 @@
xx = fchdir(rootFdno);
xx = close(rootFdno);
+ NVRA = _free(NVRA);
return rc;
}
@@ -617,8 +619,8 @@
int freePrefixes = 0;
FD_t scriptFd;
FD_t out;
- rpmRC rc = RPMRC_OK;
- const char *n, *v, *r, *a;
+ rpmRC rc = RPMRC_FAIL; /* assume failure */
+ const char * NVRA = NULL;
int * ssp = NULL;
if (psm->sstates != NULL)
@@ -627,22 +629,20 @@
*ssp = RPMSCRIPT_STATE_UNKNOWN;
if (progArgv == NULL && script == NULL)
- return rc;
+ return RPMRC_OK;
- /* XXX FIXME: except for %verifyscript, rpmteNEVR can be used. */
- xx = headerNVR(h, &n, &v, &r);
- xx = hge(h, RPMTAG_ARCH, NULL, &a, NULL);
+ xx = headerGetExtension(h, RPMTAG_NVRA, NULL, &NVRA, NULL);
+assert(NVRA);
if (progArgv && strcmp(progArgv[0], "<lua>") == 0) {
#ifdef WITH_LUA
rpmMessage(RPMMESS_DEBUG,
- D_("%s: %s(%s-%s-%s.%s) running <lua> scriptlet.\n"),
- psm->stepName, tag2sln(psm->scriptTag), n, v, r, a);
- return runLuaScript(psm, h, sln, progArgc, progArgv,
+ D_("%s: %s(%s) running <lua> scriptlet.\n"),
+ psm->stepName, tag2sln(psm->scriptTag), NVRA);
+ rc = runLuaScript(psm, h, sln, progArgc, progArgv,
script, arg1, arg2);
-#else
- return RPMRC_FAIL;
#endif
+ goto exit;
}
psm->sq.reaper = 1;
@@ -653,16 +653,17 @@
if (ldconfig_path && progArgv != NULL && psm->unorderedSuccessor) {
if (ldconfig_done && !strcmp(progArgv[0], ldconfig_path)) {
rpmMessage(RPMMESS_DEBUG,
- D_("%s: %s(%s-%s-%s.%s) skipping redundant \"%s\".\n"),
- psm->stepName, tag2sln(psm->scriptTag), n, v, r, a,
+ D_("%s: %s(%s) skipping redundant \"%s\".\n"),
+ psm->stepName, tag2sln(psm->scriptTag), NVRA,
progArgv[0]);
- return rc;
+ rc = RPMRC_OK;
+ goto exit;
}
}
rpmMessage(RPMMESS_DEBUG,
- D_("%s: %s(%s-%s-%s.%s) %ssynchronous scriptlet start\n"),
- psm->stepName, tag2sln(psm->scriptTag), n, v, r, a,
+ D_("%s: %s(%s) %ssynchronous scriptlet start\n"),
+ psm->stepName, tag2sln(psm->scriptTag), NVRA,
(psm->unorderedSuccessor ? "a" : ""));
if (!progArgv) {
@@ -700,10 +701,8 @@
FD_t fd;
/*@-branchstate@*/
- if (makeTempFile((!rpmtsChrootDone(ts) ? rootDir : "/"), &fn, &fd)) {
- if (prefixes != NULL && freePrefixes) free(prefixes);
- return RPMRC_FAIL;
- }
+ if (makeTempFile((!rpmtsChrootDone(ts) ? rootDir : "/"), &fn, &fd))
+ goto exit;
/*@=branchstate@*/
if (rpmIsDebug() &&
@@ -755,18 +754,18 @@
} else {
out = fdDup(STDOUT_FILENO);
}
- if (out == NULL) return RPMRC_FAIL; /* XXX can't happen */
+ if (out == NULL) /* XXX can't happen */
+ goto exit;
/*@-branchstate@*/
xx = rpmsqFork(&psm->sq);
if (psm->sq.child == 0) {
- const char * rootDir;
int pipes[2];
int flag;
int fdno;
pipes[0] = pipes[1] = 0;
- /* make stdin inaccessible */
+ /* Make stdin inaccessible */
xx = pipe(pipes);
xx = close(pipes[1]);
xx = dup2(pipes[0], STDIN_FILENO);
@@ -777,6 +776,10 @@
flag = fcntl(fdno, F_GETFD);
if (flag == -1 || (flag & FD_CLOEXEC))
continue;
+ rpmMessage(RPMMESS_DEBUG,
+ D_("%s: %s(%s)\tfdno(%d) missing FD_CLOEXEC\n"),
+ psm->stepName, sln, NVRA,
+ fdno);
xx = fcntl(fdno, F_SETFD, FD_CLOEXEC);
/* XXX W2DO? debug msg for inheirited fdno w/o FD_CLOEXEC */
}
@@ -819,14 +822,7 @@
}
}
- rootDir = ts->rootDir; /* HACK: rootDir = rpmtsRootDir(ts); instead */
- if (rootDir != NULL) /* XXX can't happen */
- switch(urlIsURL(rootDir)) {
- case URL_IS_PATH:
- rootDir += sizeof("file://") - 1;
- rootDir = strchr(rootDir, '/');
- /*@fallthrough@*/
- case URL_IS_UNKNOWN:
+ { const char * rootDir = rpmtsRootDir(ts);
if (!rpmtsChrootDone(ts) &&
!(rootDir[0] == '/' && rootDir[1] == '\0'))
{
@@ -835,8 +831,8 @@
/*@=superuser =noeffect @*/
}
xx = Chdir("/");
- rpmMessage(RPMMESS_DEBUG, D_("%s: %s(%s-%s-%s.%s)\texecv(%s) pid %d\n"),
- psm->stepName, sln, n, v, r, a,
+ rpmMessage(RPMMESS_DEBUG, D_("%s: %s(%s)\texecv(%s) pid %d\n"),
+ psm->stepName, sln, NVRA,
argv[0], (unsigned)getpid());
/* XXX Don't mtrace into children. */
@@ -852,21 +848,11 @@
/*@-moduncon@*/
xx = rpm_execcon(0, argv[0], (char *const *)argv, environ);
/*@=moduncon@*/
- if (xx != 0)
- break;
- }
-
+ } else {
/*@-nullstate@*/
- xx = execv(argv[0], (char *const *)argv);
+ xx = execv(argv[0], (char *const *)argv);
/*@=nullstate@*/
- break;
- case URL_IS_HTTPS:
- case URL_IS_HTTP:
- case URL_IS_FTP:
- case URL_IS_DASH:
- case URL_IS_HKP:
- default:
- break;
+ }
}
if (ssp != NULL)
@@ -879,7 +865,6 @@
if (psm->sq.child == (pid_t)-1) {
rpmError(RPMERR_FORK, _("Couldn't fork %s: %s\n"), sln, strerror(errno));
- rc = RPMRC_FAIL;
goto exit;
}
@@ -889,37 +874,42 @@
if (!(psm->sq.reaped >= 0 && !strcmp(argv[0], "/usr/sbin/glibc_post_upgrade") && WEXITSTATUS(psm->sq.status) == 110)) {
if (psm->sq.reaped < 0) {
rpmError(RPMERR_SCRIPT,
- _("%s(%s-%s-%s.%s) scriptlet failed, waitpid(%d) rc %d: %s\n"),
- sln, n, v, r, a, psm->sq.child, psm->sq.reaped, strerror(errno));
- rc = RPMRC_FAIL;
+ _("%s(%s) scriptlet failed, waitpid(%d) rc %d: %s\n"),
+ sln, NVRA, psm->sq.child, psm->sq.reaped, strerror(errno));
+ goto exit;
} else
if (!WIFEXITED(psm->sq.status) || WEXITSTATUS(psm->sq.status)) {
- if (WIFSIGNALED(psm->sq.status)) {
- rpmError(RPMERR_SCRIPT,
- _("%s(%s-%s-%s.%s) scriptlet failed, signal %d\n"),
- sln, n, v, r, a, WTERMSIG(psm->sq.status));
- } else {
- rpmError(RPMERR_SCRIPT,
- _("%s(%s-%s-%s.%s) scriptlet failed, exit status %d\n"),
- sln, n, v, r, a, WEXITSTATUS(psm->sq.status));
- }
- rc = RPMRC_FAIL;
+ if (WIFSIGNALED(psm->sq.status)) {
+ rpmError(RPMERR_SCRIPT,
+ _("%s(%s) scriptlet failed, signal %d\n"),
+ sln, NVRA, WTERMSIG(psm->sq.status));
+ } else {
+ rpmError(RPMERR_SCRIPT,
+ _("%s(%s) scriptlet failed, exit status %d\n"),
+ sln, NVRA, WEXITSTATUS(psm->sq.status));
+ }
+ goto exit;
}
}
+ rc = RPMRC_OK;
+
exit:
if (freePrefixes) prefixes = hfd(prefixes, ipt);
- xx = Fclose(out); /* XXX dup'd STDOUT_FILENO */
+ if (out)
+ xx = Fclose(out); /* XXX dup'd STDOUT_FILENO */
/*@-branchstate@*/
if (script) {
if (!rpmIsDebug())
- xx = unlink(fn);
+ xx = Unlink(fn);
fn = _free(fn);
}
/*@=branchstate@*/
+ NVRA = _free(NVRA);
+
return rc;
}
@@ -1005,8 +995,8 @@
int xx;
int i;
- xx = headerNVR(sourceH, &sourceName, NULL, NULL);
- xx = headerNVR(triggeredH, &triggerName, NULL, NULL);
+ xx = hge(sourceH, RPMTAG_NAME, NULL, &sourceName, NULL);
+ xx = hge(triggeredH, RPMTAG_NAME, NULL, &triggerName, NULL);
trigger = rpmdsInit(rpmdsNew(triggeredH, RPMTAG_TRIGGERNAME, scareMem));
if (trigger == NULL)
@@ .
patch -p0 <<'@@ .'
Index: rpm/lib/rpmds.c
============================================================================
$ cvs diff -u -r2.62 -r2.63 rpmds.c
--- rpm/lib/rpmds.c 1 Aug 2007 17:58:35 -0000 2.62
+++ rpm/lib/rpmds.c 19 Aug 2007 17:43:03 -0000 2.63
@@ -524,7 +524,7 @@
} else
goto exit;
- xx = headerNVR(h, &n, &v, &r);
+ xx = headerNEVRA(h, &n, NULL, &v, &r, NULL);
ep = NULL;
xx = hge(h, RPMTAG_EPOCH, NULL, &ep, NULL);
@@ -3820,7 +3820,7 @@
/*@=boundsread@*/
/* Get package information from header */
- (void) headerNVR(h, &pkgN, &V, &R);
+ (void) headerNEVRA(h, &pkgN, NULL, &V, &R, NULL);
nb = 21 + 1 + 1;
if (V) nb += strlen(V);
@@ .
patch -p0 <<'@@ .'
Index: rpm/lib/rpminstall.c
============================================================================
$ cvs diff -u -r1.161 -r1.162 rpminstall.c
--- rpm/lib/rpminstall.c 19 Aug 2007 02:34:49 -0000 1.161
+++ rpm/lib/rpminstall.c 19 Aug 2007 17:43:03 -0000 1.162
@@ -311,11 +311,9 @@
int numFailed = 0;
int numRPMS = 0;
rpmRelocation relocations = NULL;
- rpmRC rpmrc = RPMRC_OK;
rpmVSFlags vsflags, ovsflags;
int rc;
int xx;
- int i;
if (argv == NULL) goto exit;
@@ -423,10 +421,11 @@
relocations->oldPath = xstrdup(paths[0]);
paths = headerFreeData(paths, pft);
} else {
- const char * name;
- xx = headerNVR(h, &name, NULL, NULL);
+ const char * NVRA = NULL;
+ xx = headerGetExtension(h, RPMTAG_NVRA, NULL, &NVRA, NULL);
rpmMessage(RPMMESS_ERROR,
- _("package %s is not relocatable\n"), name);
+ _("package %s is not relocatable\n"), NVRA);
+ NVRA = _free(NVRA);
numFailed++;
goto exit;
/*@notreached@*/
@@ -436,11 +435,11 @@
/* === On --freshen, verify package is installed and newer. */
if (ia->installInterfaceFlags & INSTALL_FRESHEN) {
rpmdbMatchIterator mi;
- const char * name;
+ const char * name = NULL;
Header oldH;
int count;
- xx = headerNVR(h, &name, NULL, NULL);
+ xx = headerGetEntry(h, RPMTAG_NAME, NULL, &name, NULL);
mi = rpmtsInitIterator(ts, RPMTAG_NAME, name, 0);
count = rpmdbGetIteratorCount(mi);
while ((oldH = rpmdbNextIterator(mi)) != NULL) {
@@ .
patch -p0 <<'@@ .'
Index: rpm/python/header-py.c
============================================================================
$ cvs diff -u -r1.50 -r1.51 header-py.c
--- rpm/python/header-py.c 3 Aug 2007 20:46:39 -0000 1.50
+++ rpm/python/header-py.c 19 Aug 2007 17:43:04 -0000 1.51
@@ -339,7 +339,7 @@
int bingo = 1;
/* Generate provides for this package name-version-release. */
- xx = headerNVR(h, &name, &version, &release);
+ xx = headerNEVRA(h, &name, NULL, &version, &release, NULL);
if (!(name && version && release))
return;
pEVR = p = alloca(21 + strlen(version) + 1 + strlen(release) + 1);
@@ .
patch -p0 <<'@@ .'
Index: rpm/python/rpmts-py.c
============================================================================
$ cvs diff -u -r1.67 -r1.68 rpmts-py.c
--- rpm/python/rpmts-py.c 16 Jul 2007 13:40:47 -0000 1.67
+++ rpm/python/rpmts-py.c 19 Aug 2007 17:43:04 -0000 1.68
@@ -236,7 +236,7 @@
if (pkgObj == NULL) {
if (h) {
const char * n = NULL;
- (void) headerNVR(h, &n, NULL, NULL);
+ (void) headerGetEntry(h, RPMTAG_NAME, NULL, &n, NULL);
pkgObj = Py_BuildValue("s", n);
} else {
pkgObj = Py_None;
@@ .
patch -p0 <<'@@ .'
Index: rpm/rpmdb/hdrNVR.c
============================================================================
$ cvs diff -u -r1.8 -r1.9 hdrNVR.c
--- rpm/rpmdb/hdrNVR.c 18 Aug 2007 21:32:31 -0000 1.8
+++ rpm/rpmdb/hdrNVR.c 19 Aug 2007 17:43:04 -0000 1.9
@@ -135,11 +135,6 @@
return 0;
}
-int headerNVR(Header h, const char **np, const char **vp, const char **rp)
-{
- return headerNEVRA(h, np, NULL, vp, rp, NULL);
-}
-
int headerNEVRA(Header h, const char **np,
/*@unused@*/ const char **ep, const char **vp, const char **rp,
const char **ap)
@@ .
patch -p0 <<'@@ .'
Index: rpm/rpmdb/hdrfmt.c
============================================================================
$ cvs diff -u -r1.4 -r1.5 hdrfmt.c
--- rpm/rpmdb/hdrfmt.c 3 Aug 2007 22:45:12 -0000 1.4
+++ rpm/rpmdb/hdrfmt.c 19 Aug 2007 17:43:04 -0000 1.5
@@ -1101,7 +1101,7 @@
const char * n = NULL;
char * mk;
size_t nb = sizeof("()");
- int xx = headerNVR(h, &n, NULL, NULL);
+ int xx = headerGetEntry(h, RPMTAG_NAME, NULL, &n, NULL);
xx = 0; /* XXX keep gcc quiet */
if (tn) nb += strlen(tn);
if (n) nb += strlen(n);
@@ -1343,11 +1343,13 @@
char * NVRA, * t;
(void) headerNEVRA(h, &N, NULL, &V, &R, &A);
- if (N) nb += strlen(N) + 1;
+ if (N) nb += strlen(N);
if (V) nb += strlen(V) + 1;
if (R) nb += strlen(R) + 1;
if (A) nb += strlen(A) + 1;
- NVRA = t = xcalloc(1, nb);
+ nb++;
+ NVRA = t = xmalloc(nb);
+ *t = '\0';
/*@-boundswrite@*/
if (N) t = stpcpy(t, N);
if (V) t = stpcpy( stpcpy(t, "-"), V);
@@ .
patch -p0 <<'@@ .'
Index: rpm/rpmdb/librpmdb.vers
============================================================================
$ cvs diff -u -r1.10 -r1.11 librpmdb.vers
--- rpm/rpmdb/librpmdb.vers 6 Aug 2007 12:20:59 -0000 1.10
+++ rpm/rpmdb/librpmdb.vers 19 Aug 2007 17:43:04 -0000 1.11
@@ -32,7 +32,6 @@
headerMacrosLoad;
headerMacrosUnload;
headerNEVRA;
- headerNVR;
hGetColor;
_init;
rpm_mergesort;
@@ .
patch -p0 <<'@@ .'
Index: rpm/rpmdb/rpmdb.c
============================================================================
$ cvs diff -u -r1.152 -r1.153 rpmdb.c
--- rpm/rpmdb/rpmdb.c 18 Aug 2007 21:32:31 -0000 1.152
+++ rpm/rpmdb/rpmdb.c 19 Aug 2007 17:43:04 -0000 1.153
@@ -2791,9 +2791,10 @@
}
#endif
- { const char *n, *v, *r;
- (void) headerNVR(h, &n, &v, &r);
- rpmMessage(RPMMESS_DEBUG, " --- h#%8u %s-%s-%s\n", hdrNum, n, v, r);
+ { const char * NVRA = NULL;
+ (void) headerGetExtension(h, RPMTAG_NVRA, NULL, &NVRA, NULL);
+ rpmMessage(RPMMESS_DEBUG, " --- h#%8u %s\n", hdrNum, NVRA);
+ NVRA = _free(NVRA);
}
(void) blockSignals(db, &signalMask);
@@ -4027,7 +4028,7 @@
const char * name, * version, * release;
int skip = 0;
- (void) headerNVR(h, &name, &version, &release);
+ (void) headerNEVRA(h, &name, NULL, &version, &release, NULL);
/*@-shadow@*/
{ rpmdbMatchIterator mi;
@@ .
Received on Sun Aug 19 19:43:04 2007