]> git.ipfire.org Git - thirdparty/libsolv.git/commitdiff
Change how pool_setarch deals with unknown architectures
authorMichael Schroeder <mls@suse.de>
Fri, 6 May 2016 09:50:46 +0000 (11:50 +0200)
committerMichael Schroeder <mls@suse.de>
Fri, 6 May 2016 09:50:46 +0000 (11:50 +0200)
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.

src/poolarch.c

index 788646b17dcf2279b0ecb682aa0010dda290fe6b..83cbd6266f358e625ca9550ad52b59c2e975930f 100644 (file)
@@ -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);
 }