distromatic.c: add versioned "fails to provide" to needrebuild list

reports.c: remove other arch duplicates in pkg_need_rebuild=()
This commit is contained in:
Silvan Calarco 2022-02-19 15:05:34 +01:00
parent 3197ec8cf7
commit d95d93440f
3 changed files with 9 additions and 3 deletions

View File

@ -526,7 +526,8 @@ resolveFirstLevelDependencies(struct configTag *ct, int archidx)
provided->provider[j]->name,
provided->provider[j]->arch,
ct->repository[provided->provider[j]->altrepository]->tag);
addRebuild(provided->provider[j]->sourceheader,currheader->sourceheader,provided->provider[j]);
addRebuild(provided->provider[j]->sourceheader,
currheader->sourceheader, provided->provider[j]);
addWarning(provided->provider[j]->sourceheader,warning);
}
fprintf(stderr,"Warning: %s\n",warning);
@ -664,6 +665,8 @@ resolveFirstLevelDependencies(struct configTag *ct, int archidx)
if (provided->provider[k]->sourceheader &&
(provided->provider[k]->altrepository == ct->repository_level)) {
addWarning(provided->provider[k]->sourceheader, warning);
addRebuild(provided->provider[k]->sourceheader,
currheader->sourceheader, provided->provider[k]);
}
if ((currheader->altrepository == ct->repository_level)) {
addWarning(currheader->sourceheader, warning);

View File

@ -106,7 +106,8 @@ struct rebuildList* addRebuild(struct headerSourceList *pkg, struct headerSource
currrebuild = pkg->firstrebuild;
while (currrebuild) {
if ((currrebuild->sourceheader == sourceheader) && (currrebuild->provider == provider)) return currrebuild;
if ((currrebuild->sourceheader == sourceheader) &&
(currrebuild->provider == provider)) return currrebuild;
prevrebuild = currrebuild;
currrebuild = currrebuild->next;
}

View File

@ -1999,7 +1999,9 @@ int print_datatables(struct configTag *ct, int arch) {
}
fprintf(fbsh," pkg_needrebuild=(");
while (currrebuild) {
fprintf(fbsh, "%s@%s ", currrebuild->sourceheader->name, currrebuild->provider->name);
if (!strcmp(currrebuild->provider->arch, ct->arch[arch])) {
fprintf(fbsh, "%s@%s ", currrebuild->sourceheader->name, currrebuild->provider->name);
}
currrebuild = currrebuild->next;
}
fprintf(fbsh,"); }\n");