Add warnings for missing dependencies caused by obsoleted packages
This commit is contained in:
parent
b80887e10c
commit
372e91d705
@ -272,6 +272,7 @@ handleObsoletedPackages(struct configTag *ct, int archidx)
|
|||||||
logmsg(LOG_WARNING,"%s", buf);
|
logmsg(LOG_WARNING,"%s", buf);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
currheader -> obsoleted = 1;
|
||||||
currheader = currheader -> nextbrother;
|
currheader = currheader -> nextbrother;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@ -419,9 +420,7 @@ resolveFirstLevelDependencies(struct configTag *ct, int archidx)
|
|||||||
// currheader->require.resolved = malloc(sizeof(struct providedList*)*currheader->requirecount);
|
// currheader->require.resolved = malloc(sizeof(struct providedList*)*currheader->requirecount);
|
||||||
|
|
||||||
for (i = 0; i < currheader->requirecount; i++) {
|
for (i = 0; i < currheader->requirecount; i++) {
|
||||||
/* if (strncmp("a2ps",currheader->name,4) == 0) {
|
|
||||||
fprintf(stderr,"a2ps:%s\n",currheader->require[i]->name);
|
|
||||||
}*/
|
|
||||||
if (!strncmp("executable(",currheader->require[i]->name,11)) {
|
if (!strncmp("executable(",currheader->require[i]->name,11)) {
|
||||||
/* dynamic requirement for executable file */
|
/* dynamic requirement for executable file */
|
||||||
/* fprintf(stderr,"Warning: skipping unhandled requirement %s for package %s\n",
|
/* fprintf(stderr,"Warning: skipping unhandled requirement %s for package %s\n",
|
||||||
@ -472,6 +471,20 @@ resolveFirstLevelDependencies(struct configTag *ct, int archidx)
|
|||||||
addWarning(currheader->sourceheader,warning);
|
addWarning(currheader->sourceheader,warning);
|
||||||
}
|
}
|
||||||
} else { /* provided->numproviders > 0 */
|
} else { /* provided->numproviders > 0 */
|
||||||
|
for (j = 0; j < provided->numproviders; j++) {
|
||||||
|
if (provided->provider[j] && provided->provider[j]->obsoleted) {
|
||||||
|
snprintf(warning, PATH_MAX, "%s needed by %s(%s,%s) is provided by obsoleted package %s(%s,%s)",
|
||||||
|
provided->name,
|
||||||
|
currheader->name,
|
||||||
|
currheader->arch,
|
||||||
|
ct->repository[currheader->altrepository]->tag,
|
||||||
|
provided->provider[j]->name,
|
||||||
|
provided->provider[j]->arch,
|
||||||
|
ct->repository[provided->provider[j]->altrepository]->tag);
|
||||||
|
fprintf(stderr,"Warning: %s\n",warning);
|
||||||
|
addWarning(currheader->sourceheader,warning);
|
||||||
|
}
|
||||||
|
}
|
||||||
if ((currheader->require[i]->name)[0] == '/') {
|
if ((currheader->require[i]->name)[0] == '/') {
|
||||||
/* when there is a Requires: /file/requirement add provide from file tree as well */
|
/* when there is a Requires: /file/requirement add provide from file tree as well */
|
||||||
file=findOrCreateFileTreeEntry(&ct->filetree[archidx],currheader->require[i]->name);
|
file=findOrCreateFileTreeEntry(&ct->filetree[archidx],currheader->require[i]->name);
|
||||||
@ -497,13 +510,13 @@ resolveFirstLevelDependencies(struct configTag *ct, int archidx)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (provided->numversions > 0) {
|
if (provided->numversions > 0) {
|
||||||
if (strcmp(currheader->require[i]->version,"") &&
|
if (strcmp(currheader->require[i]->version,"") &&
|
||||||
(currheader->require[i]->flags & (RPMSENSE_LESS|RPMSENSE_GREATER|RPMSENSE_EQUAL))) {
|
(currheader->require[i]->flags & (RPMSENSE_LESS|RPMSENSE_GREATER|RPMSENSE_EQUAL))) {
|
||||||
|
|
||||||
found = 0;
|
found = 0;
|
||||||
for (j = 0; j < provided->numversions; j++) {
|
for (j = 0; j < provided->numversions; j++) {
|
||||||
|
|
||||||
if (!strcmp(provided->version[j],"")) {
|
if (!strcmp(provided->version[j],"")) {
|
||||||
/* provider with no version; assume ok */
|
/* provider with no version; assume ok */
|
||||||
found = 1;
|
found = 1;
|
||||||
|
Loading…
Reference in New Issue
Block a user