From: Michael Schroeder Date: Fri, 6 May 2016 09:50:46 +0000 (+0200) Subject: Change how pool_setarch deals with unknown architectures X-Git-Tag: 0.6.21~12 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=aea953a42d99399938eb6c98a220310aa438c376;p=thirdparty%2Flibsolv.git Change how pool_setarch deals with unknown architectures Before this commit, pool_setarch switched to a "" policy for unknown architectures, i.e. no non-noarch package could be installed. After this change, we allow packages of the provided arch string. Because of this, we also can delete all dummy policies from the archpolicies array. --- diff --git a/src/poolarch.c b/src/poolarch.c index 788646b1..83cbd626 100644 --- a/src/poolarch.c +++ b/src/poolarch.c @@ -29,16 +29,10 @@ static const char *archpolicies[] = { "i686", "i686:i586:i486:i386", "i586", "i586:i486:i386", "i486", "i486:i386", - "i386", "i386", "s390x", "s390x:s390", - "s390", "s390", - "ppc64le", "ppc64le", "ppc64", "ppc64:ppc", - "ppc", "ppc", "ppc64p7", "ppc64p7:ppc64:ppc", "ia64", "ia64:i686:i586:i486:i386", - "aarch64", "aarch64", - "armv6hl", "armv6hl", "armv7hnl", "armv7hnl:armv7hl:armv6hl", "armv7hl", "armv7hl:armv6hl", "armv7l", "armv7l:armv6l:armv5tejl:armv5tel:armv5l:armv4tl:armv4l:armv3l", @@ -49,21 +43,12 @@ static const char *archpolicies[] = { "armv5l", "armv5l:armv4tl:armv4l:armv3l", "armv4tl", "armv4tl:armv4l:armv3l", "armv4l", "armv4l:armv3l", - "armv3l", "armv3l", - "sh3", "sh3", - "sh4", "sh4", "sh4a", "sh4a:sh4", "sparc64v", "sparc64v:sparc64:sparcv9v:sparcv9:sparcv8:sparc", "sparc64", "sparc64:sparcv9:sparcv8:sparc", "sparcv9v", "sparcv9v:sparcv9:sparcv8:sparc", "sparcv9", "sparcv9:sparcv8:sparc", "sparcv8", "sparcv8:sparc", - "sparc", "sparc", - "mips", "mips", - "mipsel", "mipsel", - "mips64", "mips64", - "mips64el", "mips64el", - "m68k", "m68k", #if defined(FEDORA) || defined(MAGEIA) "ia32e", "ia32e:x86_64:athlon:i686:i586:i486:i386", "athlon", "athlon:i686:i586:i486:i386", @@ -81,15 +66,13 @@ pool_setarch(Pool *pool, const char *arch) if (arch) { int i; - /* convert arch to known policy */ for (i = 0; archpolicies[i]; i += 2) if (!strcmp(archpolicies[i], arch)) - break; - if (archpolicies[i]) - arch = archpolicies[i + 1]; - else - arch = ""; + { + arch = archpolicies[i + 1]; + break; + } } pool_setarchpolicy(pool, arch); }