diff --git a/src/distromatic.c b/src/distromatic.c index f3bee14..a5c2fbb 100644 --- a/src/distromatic.c +++ b/src/distromatic.c @@ -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); diff --git a/src/headerlist.c b/src/headerlist.c index 76727fc..b4958fc 100644 --- a/src/headerlist.c +++ b/src/headerlist.c @@ -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; } diff --git a/src/reports.c b/src/reports.c index 46ef84d..716d319 100644 --- a/src/reports.c +++ b/src/reports.c @@ -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");