headerAddEntry(pkg->header, tag, RPM_INT32_TYPE, &num, 1);
break;
case RPMTAG_AUTOREQPROV:
- spec->autoReqProv = parseYesNo(field);
+ spec->autoReq = parseYesNo(field);
+ spec->autoProv = spec->autoReq;
+ break;
+ case RPMTAG_AUTOREQ:
+ spec->autoReq = parseYesNo(field);
+ break;
+ case RPMTAG_AUTOPROV:
+ spec->autoProv = parseYesNo(field);
break;
case RPMTAG_SOURCE:
case RPMTAG_PATCH:
{RPMTAG_BUILDARCHS, 0, 0, "buildarchitectures"},
{RPMTAG_BUILDARCHS, 0, 0, "buildarch"},
{RPMTAG_AUTOREQPROV, 0, 0, "autoreqprov"},
+ {RPMTAG_AUTOREQ, 0, 0, "autoreq"},
+ {RPMTAG_AUTOPROV, 0, 0, "autoprov"},
{RPMTAG_DOCDIR, 0, 0, "docdir"},
{0, 0, 0, 0}
};
char *argv[2];
char **f, **fsave;
- if (!cpioCount || !spec->autoReqProv) {
+ if (!cpioCount) {
return 0;
}
+ if (! (spec->autoReq || spec->autoProv)) {
+ return 0;
+ }
+
writeBuf = newStringBuf();
writeBytes = 0;
while (cpioCount--) {
/*** Do Provides ***/
- rpmMessage(RPMMESS_NORMAL, "Finding provides...\n");
+ if (spec->autoProv) {
+ rpmMessage(RPMMESS_NORMAL, "Finding provides...\n");
- argv[0] = "find-provides";
- argv[1] = NULL;
- readBuf = getOutputFrom(NULL, argv,
- getStringBuf(writeBuf), writeBytes, 1);
- if (!readBuf) {
- rpmError(RPMERR_EXEC, "Failed to find provides");
- freeStringBuf(writeBuf);
- return RPMERR_EXEC;
- }
-
- f = fsave = splitString(getStringBuf(readBuf),
- strlen(getStringBuf(readBuf)), '\n');
- freeStringBuf(readBuf);
- while (*f) {
- if (**f) {
- addReqProv(spec, pkg, RPMSENSE_PROVIDES, *f, NULL, 0);
+ argv[0] = "find-provides";
+ argv[1] = NULL;
+ readBuf = getOutputFrom(NULL, argv,
+ getStringBuf(writeBuf), writeBytes, 1);
+ if (!readBuf) {
+ rpmError(RPMERR_EXEC, "Failed to find provides");
+ freeStringBuf(writeBuf);
+ return RPMERR_EXEC;
+ }
+
+ f = fsave = splitString(getStringBuf(readBuf),
+ strlen(getStringBuf(readBuf)), '\n');
+ freeStringBuf(readBuf);
+ while (*f) {
+ if (**f) {
+ addReqProv(spec, pkg, RPMSENSE_PROVIDES, *f, NULL, 0);
+ }
+ f++;
}
- f++;
+ freeSplitString(fsave);
}
- freeSplitString(fsave);
/*** Do Requires ***/
-
- rpmMessage(RPMMESS_NORMAL, "Finding requires...\n");
-
- argv[0] = "find-requires";
- argv[1] = NULL;
- readBuf = getOutputFrom(NULL, argv,
- getStringBuf(writeBuf), writeBytes, 0);
- if (!readBuf) {
- rpmError(RPMERR_EXEC, "Failed to find requires");
- freeStringBuf(writeBuf);
- return RPMERR_EXEC;
- }
- f = fsave = splitString(getStringBuf(readBuf),
- strlen(getStringBuf(readBuf)), '\n');
- freeStringBuf(readBuf);
- while (*f) {
- if (**f) {
- addReqProv(spec, pkg, RPMSENSE_ANY, *f, NULL, 0);
+ if (spec->autoReq) {
+ rpmMessage(RPMMESS_NORMAL, "Finding requires...\n");
+
+ argv[0] = "find-requires";
+ argv[1] = NULL;
+ readBuf = getOutputFrom(NULL, argv,
+ getStringBuf(writeBuf), writeBytes, 0);
+ if (!readBuf) {
+ rpmError(RPMERR_EXEC, "Failed to find requires");
+ freeStringBuf(writeBuf);
+ return RPMERR_EXEC;
+ }
+
+ f = fsave = splitString(getStringBuf(readBuf),
+ strlen(getStringBuf(readBuf)), '\n');
+ freeStringBuf(readBuf);
+ while (*f) {
+ if (**f) {
+ addReqProv(spec, pkg, RPMSENSE_ANY, *f, NULL, 0);
+ }
+ f++;
}
- f++;
+ freeSplitString(fsave);
}
- freeSplitString(fsave);
/*** Clean Up ***/