From: Michael Tremer Date: Thu, 29 Apr 2021 10:51:07 +0000 (+0000) Subject: archive: Fix reading arch from legacy source packages X-Git-Tag: 0.9.28~1285^2~196 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4e99996c4056676f123b65373f760963401f2c8b;p=pakfire.git archive: Fix reading arch from legacy source packages Signed-off-by: Michael Tremer --- diff --git a/src/libpakfire/archive.c b/src/libpakfire/archive.c index 0bf49b34d..b242b0a82 100644 --- a/src/libpakfire/archive.c +++ b/src/libpakfire/archive.c @@ -1384,6 +1384,22 @@ PAKFIRE_EXPORT PakfirePackage pakfire_archive_make_package(PakfireArchive archiv free(r); } + /* + Check architecture + Legacy package formats use "arch = all" for source packages. + We need to check for "type = source" and then reset arch + */ + if (strcmp(arch, "all") == 0) { + char* type = pakfire_archive_get(archive, "package", "type"); + if (type) { + if (strcmp(type, "source") == 0) { + free(arch); + arch = NULL; + } + } + free(type); + } + PakfirePackage pkg = pakfire_package_create( archive->pakfire, repo, name, evr, (arch) ? arch : "src" );