header.
CVS patchset: 2763
CVS date: 1999/01/26 21:57:57
.PHONY: archive
archive:
- @cvs -d `cat CVS/Root` diff >& /dev/null || { \
+ @cvs -d `cat CVS/Root` diff 2>&1 > /dev/null || { \
echo " " ; \
echo "==> Please resolve differences between the repository and" ; \
echo "==> your rpm check out before tagging." ; \
freeStringBuf(readBuf);
for (f = fsave; *f != NULL; f++) {
if (**f) {
- addReqProv(spec, pkg, RPMSENSE_PROVIDES, *f, NULL, 0);
+ addReqProv(spec, pkg->header, RPMSENSE_PROVIDES, *f, NULL, 0);
}
}
freeSplitString(fsave);
freeStringBuf(readBuf);
for (f = fsave; *f != NULL; f++) {
if (**f) {
- addReqProv(spec, pkg, RPMSENSE_ANY, *f, NULL, 0);
+ addReqProv(spec, pkg->header, RPMSENSE_ANY, *f, NULL, 0);
}
}
freeSplitString(fsave);
{
CSA_t csabuf, *csa = &csabuf;
HeaderIterator iter;
- int_32 tag, count;
+ int_32 tag, type, count;
char **ptr;
int rc;
/* Add the build restrictions */
iter = headerInitIterator(spec->buildRestrictions);
- while (headerNextIterator(iter, &tag, NULL, (void **)&ptr, &count)) {
- headerAddEntry(spec->sourceHeader, tag,
- RPM_STRING_ARRAY_TYPE, ptr, count);
- FREE(ptr);
+ while (headerNextIterator(iter, &tag, &type, (void **)&ptr, &count)) {
+ headerAddEntry(spec->sourceHeader, tag, type, ptr, count);
+ if (type == RPM_STRING_ARRAY_TYPE || type == RPM_I18NSTRING_TYPE)
+ FREE(ptr);
}
headerFreeIterator(iter);
if (spec->buildArchitectureCount) {
return rc;
}
break;
+ case RPMTAG_BUILDREQUIRES:
case RPMTAG_REQUIREFLAGS:
case RPMTAG_CONFLICTFLAGS:
case RPMTAG_PREREQ:
{RPMTAG_BUILDROOT, 0, 0, "buildroot"},
{RPMTAG_BUILDARCHS, 0, 0, "buildarchitectures"},
{RPMTAG_BUILDARCHS, 0, 0, "buildarch"},
+ {RPMTAG_BUILDREQUIRES, 0, 0, "buildrequires"},
{RPMTAG_AUTOREQPROV, 0, 0, "autoreqprov"},
{RPMTAG_AUTOREQ, 0, 0, "autoreq"},
{RPMTAG_AUTOPROV, 0, 0, "autoprov"},
return RPMERR_BADSPEC;
}
- addReqProv(spec, pkg, flags, req,
- (flags & RPMSENSE_SENSEMASK) ? version : NULL, index);
+ addReqProv(spec,
+ (tag == RPMTAG_BUILDREQUIRES ? spec->buildRestrictions : pkg->header),
+ flags, req, (flags & RPMSENSE_SENSEMASK) ? version : NULL, index);
/* If there is no sense, we just read the next token */
req = (flags & RPMSENSE_SENSEMASK) ? NULL : version;
spec->line);
return RPMERR_BADSPEC;
}
- addReqProv(spec, pkg, flags, prov, NULL, 0);
+ addReqProv(spec, pkg->header, flags, prov, NULL, 0);
line = NULL;
}
stripTrailingBlanksStringBuf(sb);
p = getStringBuf(sb);
- addReqProv(spec, pkg, RPMSENSE_PREREQ, prog, NULL, 0);
+ addReqProv(spec, pkg->header, RPMSENSE_PREREQ, prog, NULL, 0);
/* Trigger script insertion is always delayed in order to */
/* get the index right. */
#include "rpmbuild.h"
-int addReqProv(Spec spec, Package pkg,
+int addReqProv(Spec spec, Header h,
int flag, const char *name, const char *version, int index)
{
const char **names;
version = "";
}
- if (headerGetEntry(pkg->header, nametag, NULL, (void *) &names, &len)) {
+ if (headerGetEntry(h, nametag, NULL, (void *) &names, &len)) {
if (flagtag) {
- headerGetEntry(pkg->header, versiontag, NULL,
+ headerGetEntry(h, versiontag, NULL,
(void *) &versions, NULL);
- headerGetEntry(pkg->header, flagtag, NULL, (void *) &flags, NULL);
+ headerGetEntry(h, flagtag, NULL, (void *) &flags, NULL);
}
if (indextag) {
- headerGetEntry(pkg->header, indextag, NULL,
+ headerGetEntry(h, indextag, NULL,
(void *) &indexes, NULL);
}
while (len) {
FREE(versions);
}
- headerAddOrAppendEntry(pkg->header, nametag,
- RPM_STRING_ARRAY_TYPE, &name, 1);
+ headerAddOrAppendEntry(h, nametag, RPM_STRING_ARRAY_TYPE, &name, 1);
if (flagtag) {
- headerAddOrAppendEntry(pkg->header, versiontag,
+ headerAddOrAppendEntry(h, versiontag,
RPM_STRING_ARRAY_TYPE, &version, 1);
- headerAddOrAppendEntry(pkg->header, flagtag,
+ headerAddOrAppendEntry(h, flagtag,
RPM_INT32_TYPE, &flag, 1);
}
if (indextag) {
- headerAddOrAppendEntry(pkg->header, indextag,
+ headerAddOrAppendEntry(h, indextag,
RPM_INT32_TYPE, &index, 1);
}
/* from build/reqprov.h */
-int addReqProv(Spec spec, Package pkg,
+int addReqProv(Spec spec, Header h,
int flag, const char *name, const char *version, int index);
/* from build/files.h */
#define RPMTAG_CAPABILITY 1105
#define RPMTAG_SOURCEPACKAGE 1106 /* internal */
#define RPMTAG_ORIGFILENAMES 1107
+#define RPMTAG_BUILDREQUIRES 1108 /* internal */
#define RPMTAG_EXTERNAL_TAG 1000000
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 1999-01-26 12:34-0500\n"
+"POT-Creation-Date: 1999-01-26 16:30-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
msgid "line %d: Epoch/Serial field must be a number: %s"
msgstr ""
-#: ../build/parsePreamble.c:499
+#: ../build/parsePreamble.c:500
#, c-format
msgid "line %d: Bad BuildArchitecture format: %s"
msgstr ""
-#: ../build/parsePreamble.c:509
+#: ../build/parsePreamble.c:510
#, c-format
msgid "Internal error: Bogus tag %d"
msgstr ""
-#: ../build/parsePreamble.c:653
+#: ../build/parsePreamble.c:655
#, c-format
msgid "Bad package specification: %s"
msgstr ""
-#: ../build/parsePreamble.c:659
+#: ../build/parsePreamble.c:661
#, c-format
msgid "Package already exists: %s"
msgstr ""
-#: ../build/parsePreamble.c:686
+#: ../build/parsePreamble.c:688
#, c-format
msgid "line %d: Unknown tag: %s"
msgstr ""
-#: ../build/parsePreamble.c:711
+#: ../build/parsePreamble.c:713
msgid "Spec file can't use BuildRoot"
msgstr ""
msgid "line %d: Version required in %s: %s"
msgstr ""
-#: ../build/parseReqs.c:122
+#: ../build/parseReqs.c:123
#, c-format
msgid "line %d: No file names in %s: %s"
msgstr ""
-#: ../build/parseReqs.c:130
+#: ../build/parseReqs.c:131
#, c-format
msgid "line %d: %s: tokens must begin with alpha-numeric: %s"
msgstr ""