From 28ace51262bca6a41e418562d8bd8421f51b66df Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Fri, 19 Feb 2021 18:51:58 +0100 Subject: [PATCH] Fixes to report files --- src/distromatic.c | 6 ++++-- src/reports.c | 24 ++++++++++++++---------- 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/src/distromatic.c b/src/distromatic.c index 19219cd..d0207ad 100644 --- a/src/distromatic.c +++ b/src/distromatic.c @@ -465,7 +465,8 @@ resolveFirstLevelDependencies(struct configTag *ct, int archidx) /* fprintf(stderr,"Warning: skipping unhandled requirement %s for package %s\n", currheader->require[i]->name,currheader->name);*/ currheader->require[i]->resolved=NULL; - } else if (strncmp("rpmlib(",currheader->require[i]->name,7) != 0) { + } else if (strncmp("rpmlib(",currheader->require[i]->name,7) && + strncmp("debuginfo(build-id)",currheader->require[i]->name,20)) { provided=findOrCreateProvidedListEntry((struct providedList**) &ct->providedlist_idx[archidx], currheader->require[i]->name,1,archidx); if (provided->numproviders == 0) { @@ -714,7 +715,8 @@ resolveFirstLevelSourceDependencies(struct configTag *ct, int archidx) /* if (strncmp("a2ps",currsourceheader->name,4) == 0) { fprintf(stderr,"a2ps:%s\n",currheader->require[i]->name); }*/ - if (strncmp("rpmlib(",currsourceheader->require[i]->name,7) != 0) { + if (strncmp("rpmlib(",currsourceheader->require[i]->name,7) && + strncmp("debuginfo(build-id)",currsourceheader->require[i]->name,20)) { provided=findOrCreateProvidedListEntry((struct providedList**) &ct->providedlist_idx[archidx], currsourceheader->require[i]->name,1,archidx); if (provided->numbuildproviders == 0) { diff --git a/src/reports.c b/src/reports.c index b10dcbe..cd6a29e 100644 --- a/src/reports.c +++ b/src/reports.c @@ -1794,6 +1794,7 @@ int print_datatables(struct configTag *ct, int arch) { logmsg(LOG_DEBUG,"writing deps files (1)"); struct providedList* provided = ct->providedlist_idx[arch][0]; while (provided) { + if (!strncmp("debuginfo(build-id)", provided->name, 20)) continue; nonobsoletednumproviders=0; for (i = 0; i < provided->numproviders; i++) { // skip duplicated provides @@ -1817,8 +1818,12 @@ int print_datatables(struct configTag *ct, int arch) { fprintf(fs,":"); for (i = 0; i < provided->numproviders; i++) { if (!provided->provider[i]->obsoleted) { - fprintf(fd,"%s ",provided->provider[i]->name); - fprintf(fs," _%s",provided->provider[i]->sourceheader->name); + if (i == 0 || strcmp(provided->provider[i-1]->name, + provided->provider[i]->name)) + fprintf(fd,"%s ",provided->provider[i]->name); + if (i == 0 || strcmp(provided->provider[i-1]->sourceheader->name, + provided->provider[i]->sourceheader->name)) + fprintf(fs," _%s",provided->provider[i]->sourceheader->name); } } fprintf(fs,"\n"); @@ -1833,7 +1838,9 @@ int print_datatables(struct configTag *ct, int arch) { fprintf(fv,"%s= # ",provided->name); for (i = 0; i < provided->numproviders; i++) { if (!provided->provider[i]->obsoleted) { - fprintf(fv,"%s ",provided->provider[i]->name); + if (i == 0 || strcmp(provided->provider[i-1]->name, + provided->provider[i]->name)) + fprintf(fv,"%s ",provided->provider[i]->name); } } fprintf(fv,"\n"); @@ -1896,7 +1903,8 @@ int print_datatables(struct configTag *ct, int arch) { // fprintf(fbd,"%s:",currheaderlist->name); for (i = 0; i < currheaderlist->sourceheader->requirecount; i++) { - if (strncmp("rpmlib(",currheaderlist->sourceheader->require[i]->name,7) != 0) { + if (strncmp("rpmlib(",currheaderlist->sourceheader->require[i]->name,7) && + strncmp("debuginfo(build-id)",currheaderlist->sourceheader->require[i]->name,20)) { fprintf(fbd," "); fprintf_depstable_filtered_var(fbd,currheaderlist->sourceheader->require[i]->name); } @@ -1904,7 +1912,7 @@ int print_datatables(struct configTag *ct, int arch) { fprintf(fbd,"\n"); -/* for (i = 0; i < currheaderlist->obsoletecount; i++) { + /*for (i = 0; i < currheaderlist->obsoletecount; i++) { fprintf(fbd,"%s: %s\n",currheaderlist->obsoletename[i],currheaderlist->name); }*/ @@ -1966,14 +1974,10 @@ int print_datatables(struct configTag *ct, int arch) { if (currchild) { - if (!strncmp(currheadersourcelist->arch, "noarch", PATH_MAX)) - snprintf(obsoletebuf, OBSOLETEBUF_SIZE, "noarch"); - else - snprintf(obsoletebuf, OBSOLETEBUF_SIZE, "%s", ct->arch[arch]); fprintf(fbsh,"[ \"$pkg\" = \"%s\" ] && { pkg_header=(%s %s %s %s \"%s\" \"%s\" %ld %ld %d %s); ", currheadersourcelist->name, currheadersourcelist->name, - obsoletebuf, + currchild->arch, currheadersourcelist->version, currheadersourcelist->release, currheadersourcelist->group,