handle spec file which Provide filenames
CVS patchset: 2770 CVS date: 1999/02/02 19:43:35
This commit is contained in:
parent
ce6ad243f6
commit
35cb65b449
1
CHANGES
1
CHANGES
|
@ -1,5 +1,6 @@
|
|||
2.90 -> 2.91
|
||||
- create rpmbzio.c to avoid implicit dependence on libbz2 for installer.
|
||||
- spec files can provide /filename now
|
||||
|
||||
2.5.x -> 2.90
|
||||
- added --excludepath
|
||||
|
|
|
@ -118,15 +118,14 @@ int parseProvidesObsoletes(Spec spec, Package pkg, char *field, int tag)
|
|||
line = buf;
|
||||
|
||||
while ((prov = strtok(line, " ,\t\n"))) {
|
||||
if (prov[0] == '/') {
|
||||
if (prov[0] == '/' && tag != RPMTAG_PROVIDES) {
|
||||
rpmError(RPMERR_BADSPEC,
|
||||
_("line %d: No file names in %s: %s"),
|
||||
spec->lineNum,
|
||||
(tag == RPMTAG_PROVIDES) ? "Provides" : "Obsoletes",
|
||||
spec->line);
|
||||
_("line %d: No file names in Obsoletes: %s"),
|
||||
spec->lineNum, spec->line);
|
||||
return RPMERR_BADSPEC;
|
||||
}
|
||||
if (!(isalnum(prov[0]) || prov[0] == '_')) {
|
||||
if (!(isalnum(prov[0]) || prov[0] == '_') &&
|
||||
(tag == RPMTAG_OBSOLETES || prov[0] != '/')) {
|
||||
rpmError(RPMERR_BADSPEC,
|
||||
_("line %d: %s: tokens must begin with alpha-numeric: %s"),
|
||||
spec->lineNum,
|
||||
|
@ -134,14 +133,6 @@ int parseProvidesObsoletes(Spec spec, Package pkg, char *field, int tag)
|
|||
spec->line);
|
||||
return RPMERR_BADSPEC;
|
||||
}
|
||||
if (!(isalnum(prov[0]) || prov[0] == '_')) {
|
||||
rpmError(RPMERR_BADSPEC,
|
||||
"line %d: %s: tokens must begin with alpha-numeric: %s",
|
||||
spec->lineNum,
|
||||
(tag == RPMTAG_PROVIDES) ? "Provides" : "Obsoletes",
|
||||
spec->line);
|
||||
return RPMERR_BADSPEC;
|
||||
}
|
||||
addReqProv(spec, pkg->header, flags, prov, NULL, 0);
|
||||
line = NULL;
|
||||
}
|
||||
|
|
|
@ -468,41 +468,41 @@ static int unsatisfiedDepend(rpmTransactionSet rpmdep, char * reqName,
|
|||
dbiFreeIndexRecord(matches);
|
||||
if (i < dbiIndexSetCount(matches)) return 0;
|
||||
}
|
||||
} else {
|
||||
if (!reqFlags && !rpmdbFindByProvides(rpmdep->db, reqName,
|
||||
&matches)) {
|
||||
for (i = 0; i < dbiIndexSetCount(matches); i++) {
|
||||
unsigned int recOffset = dbiIndexRecordOffset(matches, i);
|
||||
if (bsearch(&recOffset,
|
||||
rpmdep->removedPackages,
|
||||
rpmdep->numRemovedPackages,
|
||||
sizeof(int), intcmp))
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!reqFlags && !rpmdbFindByProvides(rpmdep->db, reqName,
|
||||
&matches)) {
|
||||
for (i = 0; i < dbiIndexSetCount(matches); i++) {
|
||||
unsigned int recOffset = dbiIndexRecordOffset(matches, i);
|
||||
if (bsearch(&recOffset,
|
||||
rpmdep->removedPackages,
|
||||
rpmdep->numRemovedPackages,
|
||||
sizeof(int), intcmp))
|
||||
continue;
|
||||
break;
|
||||
}
|
||||
|
||||
dbiFreeIndexRecord(matches);
|
||||
if (i < dbiIndexSetCount(matches)) return 0;
|
||||
}
|
||||
|
||||
if (!rpmdbFindPackage(rpmdep->db, reqName, &matches)) {
|
||||
for (i = 0; i < dbiIndexSetCount(matches); i++) {
|
||||
unsigned int recOffset = dbiIndexRecordOffset(matches, i);
|
||||
if (bsearch(&recOffset,
|
||||
rpmdep->removedPackages,
|
||||
rpmdep->numRemovedPackages,
|
||||
sizeof(int), intcmp))
|
||||
continue;
|
||||
|
||||
if (dbrecMatchesDepFlags(rpmdep, recOffset,
|
||||
reqVersion, reqFlags)) {
|
||||
break;
|
||||
}
|
||||
|
||||
dbiFreeIndexRecord(matches);
|
||||
if (i < dbiIndexSetCount(matches)) return 0;
|
||||
}
|
||||
|
||||
if (!rpmdbFindPackage(rpmdep->db, reqName, &matches)) {
|
||||
for (i = 0; i < dbiIndexSetCount(matches); i++) {
|
||||
unsigned int recOffset = dbiIndexRecordOffset(matches, i);
|
||||
if (bsearch(&recOffset,
|
||||
rpmdep->removedPackages,
|
||||
rpmdep->numRemovedPackages,
|
||||
sizeof(int), intcmp))
|
||||
continue;
|
||||
|
||||
if (dbrecMatchesDepFlags(rpmdep, recOffset,
|
||||
reqVersion, reqFlags)) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
dbiFreeIndexRecord(matches);
|
||||
if (i < dbiIndexSetCount(matches)) return 0;
|
||||
}
|
||||
dbiFreeIndexRecord(matches);
|
||||
if (i < dbiIndexSetCount(matches)) return 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue