Eliminate uses of headerNVR() and friends in librpm (and python) code

This commit is contained in:
Panu Matilainen 2009-09-02 12:06:34 +03:00
parent 4177fdffd6
commit b5bc388ee3
14 changed files with 37 additions and 66 deletions

View File

@ -326,7 +326,7 @@ addheader:
*/
if (rpmdsEVR(obsoletes) == NULL
|| rpmdsAnyMatchesDep(oh, obsoletes, _rpmds_nopromote)) {
char * ohNEVRA = headerGetNEVRA(oh, NULL);
char * ohNEVRA = headerGetAsString(oh, RPMTAG_NEVRA);
#ifdef DYING /* XXX see http://bugzilla.redhat.com #134497 */
if (rpmVersionCompare(h, oh))
#endif
@ -648,7 +648,7 @@ static int checkPackageSet(rpmts ts, const char * dep,
rpmds requires, conflicts;
int rc;
pkgNEVRA = headerGetNEVRA(h, NULL);
pkgNEVRA = headerGetAsString(h, RPMTAG_NEVRA);
requires = rpmdsNew(h, RPMTAG_REQUIRENAME, 0);
(void) rpmdsSetNoPromote(requires, _rpmds_nopromote);
conflicts = rpmdsNew(h, RPMTAG_CONFLICTNAME, 0);

View File

@ -133,15 +133,14 @@ static void expandFilelist(Header h)
*/
static void providePackageNVR(Header h)
{
const char *name;
char *pEVR;
const char *name = headerGetString(h, RPMTAG_NAME);
char *pEVR = headerGetAsString(h, RPMTAG_EVR);
rpmsenseFlags pFlags = RPMSENSE_EQUAL;
int bingo = 1;
struct rpmtd_s pnames;
rpmds hds, nvrds;
/* Generate provides for this package name-version-release. */
pEVR = headerGetEVR(h, &name);
if (!(name && pEVR))
return;
@ -178,9 +177,8 @@ static void providePackageNVR(Header h)
exit:
if (bingo) {
const char *evr = pEVR;
headerPutString(h, RPMTAG_PROVIDENAME, name);
headerPutString(h, RPMTAG_PROVIDEVERSION, evr);
headerPutString(h, RPMTAG_PROVIDEVERSION, pEVR);
headerPutUint32(h, RPMTAG_PROVIDEFLAGS, &pFlags, 1);
}
rpmtdFreeData(&pnames);

View File

@ -793,7 +793,7 @@ rpmRC headerCheckPayloadFormat(Header h) {
if (payloadfmt && rstreq(payloadfmt, "cpio")) {
rc = RPMRC_OK;
} else {
char *nevra = headerGetNEVRA(h, NULL);
char *nevra = headerGetAsString(h, RPMTAG_NEVRA);
if (payloadfmt && rstreq(payloadfmt, "drpm")) {
rpmlog(RPMLOG_ERR,
_("%s is a Delta RPM and cannot be directly installed\n"),

View File

@ -224,7 +224,7 @@ static int rpmlibDeps(Header h)
continue;
if (rpmdsSearch(rpmlib, req) < 0) {
if (!nvr) {
nvr = headerGetNEVRA(h, NULL);
nvr = headerGetAsString(h, RPMTAG_NEVRA);
rpmlog(RPMLOG_ERR, _("Missing rpmlib features for %s:\n"), nvr);
}
rpmlog(RPMLOG_ERR, "\t%s\n", rpmdsDNEVR(req)+2);
@ -882,15 +882,11 @@ static rpmRC handleOneTrigger(const rpmpsm psm,
{
const rpmts ts = psm->ts;
rpmds trigger = NULL;
const char * sourceName;
const char * triggerName;
const char * sourceName = headerGetString(sourceH, RPMTAG_NAME);
const char * triggerName = headerGetString(trigH, RPMTAG_NAME);
rpmRC rc = RPMRC_OK;
int xx;
int i;
xx = headerNVR(sourceH, &sourceName, NULL, NULL);
xx = headerNVR(trigH, &triggerName, NULL, NULL);
trigger = rpmdsInit(rpmdsNew(trigH, RPMTAG_TRIGGERNAME, 0));
if (trigger == NULL)
return rc;

View File

@ -2516,7 +2516,7 @@ int rpmdbRemove(rpmdb db, int rid, unsigned int hdrNum,
}
{
char *nevra = headerGetNEVRA(h, NULL);
char *nevra = headerGetAsString(h, RPMTAG_NEVRA);
rpmlog(RPMLOG_DEBUG, " --- h#%8u %s\n", hdrNum, nevra);
free(nevra);
}
@ -3217,11 +3217,11 @@ int rpmdbRebuild(const char * prefix, rpmts ts,
/* Filter duplicate entries ? (bug in pre rpm-3.0.4) */
if (_db_filter_dups || newdb->db_filter_dups) {
const char * name, * version, * release;
const char *name = headerGetString(h, RPMTAG_NAME);
const char *version = headerGetString(h, RPMTAG_VERSION);
const char *release = headerGetString(h, RPMTAG_RELEASE);
int skip = 0;
(void) headerNVR(h, &name, &version, &release);
{ rpmdbMatchIterator mi;
mi = rpmdbInitIterator(newdb, RPMTAG_NAME, name, 0);
(void) rpmdbSetIteratorRE(mi, RPMTAG_VERSION,

View File

@ -218,12 +218,8 @@ char * rpmdsNewDNEVR(const char * dspfx, const rpmds ds)
rpmds rpmdsThis(Header h, rpmTag tagN, rpmsenseFlags Flags)
{
rpmds ds;
const char * n;
char *evr;
evr = headerGetEVR(h, &n);
ds = rpmdsSingle(tagN, n, evr, Flags);
char *evr = headerGetAsString(h, RPMTAG_EVR);
rpmds ds = rpmdsSingle(tagN, headerGetString(h, RPMTAG_NAME), evr, Flags);
free(evr);
return ds;
}
@ -894,7 +890,8 @@ int rpmdsNVRMatchesDep(const Header h, const rpmds req, int nopromote)
return rc;
/* Get package information from header */
pkgEVR = headerGetEVR(h, &pkgN);
pkgN = headerGetString(h, RPMTAG_NAME);
pkgEVR = headerGetAsString(h, RPMTAG_EVR);
if ((pkg = rpmdsSingle(RPMTAG_PROVIDENAME, pkgN, pkgEVR, pkgFlags)) != NULL) {
if (nopromote)
(void) rpmdsSetNoPromote(pkg, nopromote);

View File

@ -360,11 +360,10 @@ static int tryReadHeader(rpmts ts, struct rpmEIU * eiu, rpmVSFlags vsflags)
static int checkFreshenStatus(rpmts ts, struct rpmEIU * eiu)
{
rpmdbMatchIterator mi = NULL;
const char * name = NULL;
const char * name = headerGetString(eiu->h, RPMTAG_NAME);
Header oldH;
int count;
headerNVR(eiu->h, &name, NULL, NULL);
if (name != NULL)
mi = rpmtsInitIterator(ts, RPMTAG_NAME, name, 0);
count = rpmdbGetIteratorCount(mi);
@ -542,10 +541,8 @@ restart:
eiu->relocations->oldPath = xstrdup(rpmtdGetString(&prefixes));
rpmtdFreeData(&prefixes);
} else {
const char * name;
headerNVR(eiu->h, &name, NULL, NULL);
rpmlog(RPMLOG_ERR,
_("package %s is not relocatable\n"), name);
rpmlog(RPMLOG_ERR, _("package %s is not relocatable\n"),
headerGetString(eiu->h, RPMTAG_NAME));
eiu->numFailed++;
goto exit;
}

View File

@ -62,7 +62,7 @@ rpmlead rpmLeadFromHeader(Header h)
rpmlead l = rpmLeadNew();
l->type = (headerIsSource(h) ? 1 : 0);
nevr = headerGetNEVR(h, NULL);
nevr = headerGetAsString(h, RPMTAG_NEVR);
rstrlcpy(l->name, nevr, sizeof(l->name));
free(nevr);

View File

@ -233,35 +233,22 @@ static void addTE(rpmts ts, rpmte p, Header h,
fnpyKey key,
rpmRelocation * relocs)
{
const char *name, *version, *release, *arch, *os;
struct rpmtd_s td;
p->name = headerGetAsString(h, RPMTAG_NAME);
p->version = headerGetAsString(h, RPMTAG_VERSION);
p->release = headerGetAsString(h, RPMTAG_RELEASE);
name = version = release = arch = NULL;
headerNEVRA(h, &name, NULL, &version, &release, &arch);
p->epoch = headerGetAsString(h, RPMTAG_EPOCH);
p->arch = headerGetAsString(h, RPMTAG_ARCH);
p->archScore = p->arch ? rpmMachineScore(RPM_MACHTABLE_INSTARCH, p->arch) : 0;
p->name = xstrdup(name);
p->version = xstrdup(version);
p->release = xstrdup(release);
if (headerGet(h, RPMTAG_EPOCH, &td, HEADERGET_MINMEM)) {
p->epoch = rpmtdFormat(&td, RPMTD_FORMAT_STRING, NULL);
} else {
p->epoch = NULL;
}
p->arch = arch ? xstrdup(arch) : NULL;
p->archScore = arch ? rpmMachineScore(RPM_MACHTABLE_INSTARCH, arch) : 0;
headerGet(h, RPMTAG_OS, &td, HEADERGET_MINMEM);
os = rpmtdGetString(&td);
p->os = os ? xstrdup(os) : NULL;
p->os = headerGetAsString(h, RPMTAG_OS);
p->osScore = p->os ? rpmMachineScore(RPM_MACHTABLE_INSTOS, p->os) : 0;
p->isSource = headerIsSource(h);
p->NEVR = headerGetNEVR(h, NULL);
p->NEVRA = headerGetNEVRA(h, NULL);
p->NEVR = headerGetAsString(h, RPMTAG_NEVR);
p->NEVRA = headerGetAsString(h, RPMTAG_NEVRA);
p->nrelocs = 0;
p->relocs = NULL;

View File

@ -321,7 +321,7 @@ static int loadKeyringFromDB(rpmts ts)
if (b64decode(key, (void **) &pkt, &pktlen) == 0) {
rpmPubkey key = rpmPubkeyNew(pkt, pktlen);
if (rpmKeyringAddKey(ts->keyring, key) == 0) {
char *nvr = headerGetNEVR(h, NULL);
char *nvr = headerGetAsString(h, RPMTAG_NVR);
rpmlog(RPMLOG_DEBUG, "added key %s to keyring\n", nvr);
free(nvr);
nkeys++;

View File

@ -489,11 +489,9 @@ static int i18nTag(Header h, rpmTag tag, rpmtd td, headerGetFlags hgflags)
const char * langval;
char * msgkey;
const char * msgid;
const char * n;
int xx;
xx = headerNVR(h, &n, NULL, NULL);
rasprintf(&msgkey, "%s(%s)", n, rpmTagGetName(tag));
rasprintf(&msgkey, "%s(%s)", headerGetString(h, RPMTAG_NAME),
rpmTagGetName(tag));
/* change to en_US for msgkey -> msgid resolution */
langval = getenv(language);

View File

@ -99,7 +99,7 @@ static int handleInstInstalledFile(const rpmts ts, rpmte p, rpmfi fi,
}
if (rConflicts) {
char *altNEVR = headerGetNEVRA(otherHeader, NULL);
char *altNEVR = headerGetAsString(otherHeader, RPMTAG_NEVRA);
rpmps ps = rpmtsProblems(ts);
rpmpsAppend(ps, RPMPROB_FILE_CONFLICT,
rpmteNEVRA(p), rpmteKey(p),
@ -367,7 +367,7 @@ static int ensureOlder(const rpmte p, const Header h, rpmps ps)
req = rpmdsFree(req);
if (rc == 0) {
char * altNEVR = headerGetNEVRA(h, NULL);
char * altNEVR = headerGetAsString(h, RPMTAG_NEVRA);
rpmpsAppend(ps, RPMPROB_OLDPACKAGE,
rpmteNEVRA(p), rpmteKey(p),
NULL, NULL,

View File

@ -418,7 +418,7 @@ static int verifyDependencies(QVA_t qva, rpmts ts,
psi = rpmpsInitIterator(ps);
if (rpmpsNumProblems(ps) > 0) {
char *nevra = headerGetNEVRA(h, NULL);
char *nevra = headerGetAsString(h, RPMTAG_NEVRA);
rpmlog(RPMLOG_NOTICE, _("Unsatisfied dependencies for %s:\n"), nevra);
free(nevra);
while (rpmpsNextIterator(psi) >= 0) {

View File

@ -808,9 +808,7 @@ rpmtsCallback(const void * hd, const rpmCallbackType what,
/* Synthesize a python object for callback (if necessary). */
if (pkgObj == NULL) {
if (h) {
const char * n = NULL;
(void) headerNVR(h, &n, NULL, NULL);
pkgObj = Py_BuildValue("s", n);
pkgObj = Py_BuildValue("s", headerGetString(h, RPMTAG_NAME));
} else {
pkgObj = Py_None;
Py_INCREF(pkgObj);