Restore (?) warning message about needed requirements only in same repository
This commit is contained in:
parent
4a04c87fdf
commit
7a727bfa46
@ -409,10 +409,10 @@ handleObsoletedPackages(struct configTag *ct, int archidx)
|
|||||||
static int
|
static int
|
||||||
resolveFirstLevelDependencies(struct configTag *ct, int archidx)
|
resolveFirstLevelDependencies(struct configTag *ct, int archidx)
|
||||||
{
|
{
|
||||||
struct headerList *currheader, *scanheader, **newprovider, *foundverprovider;
|
struct headerList *currheader, *scanheader, **newprovider;
|
||||||
struct providedList *provided;
|
struct providedList *provided;
|
||||||
struct fileTree *file;
|
struct fileTree *file;
|
||||||
int i,j,k,found;
|
int i,j,k,found,foundprovider;
|
||||||
char warning[PATH_MAX];
|
char warning[PATH_MAX];
|
||||||
char ** newversion;
|
char ** newversion;
|
||||||
|
|
||||||
@ -606,30 +606,45 @@ resolveFirstLevelDependencies(struct configTag *ct, int archidx)
|
|||||||
(currheader->require[i]->flags & (RPMSENSE_LESS|RPMSENSE_GREATER|RPMSENSE_EQUAL))) {
|
(currheader->require[i]->flags & (RPMSENSE_LESS|RPMSENSE_GREATER|RPMSENSE_EQUAL))) {
|
||||||
|
|
||||||
found = 0;
|
found = 0;
|
||||||
foundverprovider = NULL;
|
foundprovider = -1;
|
||||||
|
|
||||||
for (j = 0; j < provided->numproviders; j++) {
|
for (j = 0; j < provided->numproviders; j++) {
|
||||||
if (foundverprovider &&
|
/* updated packages: ignore check with upstream package */
|
||||||
!strcmp(foundverprovider->name,provided->provider[j]->name) &&
|
if ((foundprovider >= 0) &&
|
||||||
foundverprovider->altrepository != provided->provider[j]->altrepository) {
|
!strcmp(provided->provider[foundprovider]->name,provided->provider[j]->name) &&
|
||||||
found = 0;
|
provided->provider[foundprovider]->altrepository != provided->provider[j]->altrepository) {
|
||||||
foundverprovider = NULL;
|
found -= 1;
|
||||||
|
foundprovider = -1;
|
||||||
}
|
}
|
||||||
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;
|
||||||
foundverprovider=provided->provider[j];
|
foundprovider = j;
|
||||||
} else {
|
} else {
|
||||||
if (checkVersionWithFlags(
|
if (checkVersionWithFlags(
|
||||||
currheader->require[i]->version,
|
currheader->require[i]->version,
|
||||||
currheader->require[i]->flags,
|
currheader->require[i]->flags,
|
||||||
provided->version[j])) {
|
provided->version[j])) {
|
||||||
found = 1;
|
found += 1;
|
||||||
foundverprovider=provided->provider[j];
|
foundprovider = j;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} /* for */
|
} /* for */
|
||||||
if (!found) {
|
if ((found >= 1) &&
|
||||||
|
(currheader->altrepository != 0) &&
|
||||||
|
(provided->provider[foundprovider]->sourceheader != currheader->sourceheader) &&
|
||||||
|
(provided->provider[foundprovider]->altrepository == currheader->altrepository)) {
|
||||||
|
snprintf(warning, PATH_MAX, "%s(%s,%s) requires %s(%s,%s) because it only provides %s = %s",
|
||||||
|
currheader->name,
|
||||||
|
currheader->arch,
|
||||||
|
ct->repository[currheader->altrepository]->tag,
|
||||||
|
provided->provider[foundprovider]->name,
|
||||||
|
provided->provider[foundprovider]->arch,
|
||||||
|
ct->repository[provided->provider[foundprovider]->altrepository]->tag,
|
||||||
|
provided->name,
|
||||||
|
provided->version[foundprovider]);
|
||||||
|
logmsg(LOG_WARNING,"%s", warning);
|
||||||
|
addWarning(currheader->sourceheader, warning);
|
||||||
|
} else if (!found) {
|
||||||
for (j = 0; j < provided->numproviders; j++) {
|
for (j = 0; j < provided->numproviders; j++) {
|
||||||
if (!checkVersionWithFlags(
|
if (!checkVersionWithFlags(
|
||||||
currheader->require[i]->version,
|
currheader->require[i]->version,
|
||||||
|
Loading…
Reference in New Issue
Block a user