static void genSourceRpmName(rpmSpec spec)
{
if (spec->sourceRpmName == NULL) {
- const char *name, *version, *release;
-
- (void) headerNVR(spec->packages->header, &name, &version, &release);
- rasprintf(&spec->sourceRpmName, "%s-%s-%s.%ssrc.rpm", name, version, release,
- spec->noSource ? "no" : "");
+ char *nvr = headerGetAsString(spec->packages->header, RPMTAG_NVR);
+ rasprintf(&spec->sourceRpmName, "%s.%ssrc.rpm", nvr,
+ spec->noSource ? "no" : "");
+ free(nvr);
}
}
genSourceRpmName(spec);
for (pkg = spec->packages; pkg != NULL; pkg = pkg->next) {
- const char *n, *v, *r, *a;
+ char *nvr;
+ const char *a;
headerPutString(pkg->header, RPMTAG_SOURCERPM, spec->sourceRpmName);
if (pkg->fileList == NULL)
continue;
- (void) headerNEVRA(pkg->header, &n, NULL, &v, &r, &a);
- rpmlog(RPMLOG_NOTICE, _("Processing files: %s-%s-%s.%s\n"), n, v, r, a);
+ nvr = headerGetAsString(spec->packages->header, RPMTAG_NVRA);
+ rpmlog(RPMLOG_NOTICE, _("Processing files: %s\n"), nvr);
+ free(nvr);
if ((rc = processPackageFiles(spec, pkg, installSpecialDoc, test)) != RPMRC_OK ||
(rc = rpmfcGenerateDepends(spec, pkg)) != RPMRC_OK)
goto exit;
+ a = headerGetString(spec->packages->header, RPMTAG_ARCH);
if (rstreq(a, "noarch") && headerGetColor(pkg->header) != 0) {
int terminate = rpmExpandNumeric("%{?_binaries_in_noarch_packages_terminate_build}");
rpmlog(terminate ? RPMLOG_ERR : RPMLOG_WARNING,
*/
static void addPackageProvides(Header h)
{
- const char *name = NULL, *arch = NULL;
+ const char *arch, *name;
char *evr, *isaprov;
rpmsenseFlags pflags = RPMSENSE_EQUAL;
- struct rpmtd_s archtd;
/* <name> = <evr> provide */
- evr = headerGetEVR(h, &name);
+ name = headerGetString(h, RPMTAG_NAME);
+ arch = headerGetString(h, RPMTAG_ARCH);
+ evr = headerGetAsString(h, RPMTAG_EVR);
headerPutString(h, RPMTAG_PROVIDENAME, name);
headerPutString(h, RPMTAG_PROVIDEVERSION, evr);
headerPutUint32(h, RPMTAG_PROVIDEFLAGS, &pflags, 1);
* cause reading in the noarch macros :-/
*/
isaprov = rpmExpand(name, "%{?_isa}", NULL);
- headerGet(h, RPMTAG_ARCH, &archtd, HEADERGET_MINMEM);
- arch = rpmtdGetString(&archtd);
if (!rstreq(arch, "noarch") && !rstreq(name, isaprov)) {
headerPutString(h, RPMTAG_PROVIDENAME, isaprov);
headerPutString(h, RPMTAG_PROVIDEVERSION, evr);
headerPutUint32(h, RPMTAG_PROVIDEFLAGS, &pflags, 1);
}
free(isaprov);
-
free(evr);
}
binRpm = headerFormat(pkg->header, binFormat, &errorString);
binFormat = _free(binFormat);
if (binRpm == NULL) {
- const char *name;
- (void) headerNVR(pkg->header, &name, NULL, NULL);
rpmlog(RPMLOG_ERR, _("Could not generate output "
- "filename for package %s: %s\n"), name, errorString);
+ "filename for package %s: %s\n"),
+ headerGetString(pkg->header, RPMTAG_NAME), errorString);
return RPMRC_FAIL;
}
fn = rpmGetPath("%{_rpmdir}/", binRpm, NULL);
{
int nextPart = PART_ERROR;
int res = PART_ERROR; /* assume failure */
- int rc, xx;
+ int rc;
char *name, *linep;
int flag = 0;
Package pkg;
/* Construct the package */
if (flag == PART_SUBNAME) {
- const char * mainName;
- xx = headerNVR(spec->packages->header, &mainName, NULL, NULL);
- rasprintf(&NVR, "%s-%s", mainName, name);
+ rasprintf(&NVR, "%s-%s",
+ headerGetString(spec->packages->header, RPMTAG_NAME), name);
} else
NVR = xstrdup(name);
free(name);
if (dirName) {
spec->buildSubdir = xstrdup(dirName);
} else {
- const char *name, *version;
- (void) headerNVR(spec->packages->header, &name, &version, NULL);
- rasprintf(&spec->buildSubdir, "%s-%s", name, version);
+ rasprintf(&spec->buildSubdir, "%s-%s",
+ headerGetString(spec->packages->header, RPMTAG_NAME),
+ headerGetString(spec->packages->header, RPMTAG_VERSION));
}
addMacro(spec->macros, "buildsubdir", NULL, spec->buildSubdir, RMIL_SPEC);
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);
- rpmlog(RPMLOG_ERR, _("Package has no %%description: %s\n"), name);
+ rpmlog(RPMLOG_ERR, _("Package has no %%description: %s\n"),
+ headerGetString(pkg->header, RPMTAG_NAME));
goto errxit;
}
/* Construct package name */
if (flag == PART_SUBNAME) {
- (void) headerNVR(spec->packages->header, &pname, NULL, NULL);
+ pname = headerGetString(spec->packages->header, RPMTAG_NAME);
rasprintf(&fullName, "%s-%s", pname, name);
} else {
fullName = xstrdup(name);
/* Locate package with fullName */
for (p = spec->packages; p != NULL; p = p->next) {
- (void) headerNVR(p->header, &pname, NULL, NULL);
+ pname = headerGetString(spec->packages->header, RPMTAG_NAME);
if (pname && (rstreq(fullName, pname))) {
break;
}