]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Fix a few problems with download_prerequisites.
authorAndrew Pinski <apinski@marvell.com>
Tue, 24 Aug 2021 05:56:59 +0000 (05:56 +0000)
committerAndrew Pinski <apinski@marvell.com>
Tue, 24 Aug 2021 08:09:53 +0000 (08:09 +0000)
There are a few problems with download_prerequisites are
described in PR 82704.  The first is on busy-box version of
shasum and md5sum the extended option --check don't exist
so just use -c.  The second issue is the code for which
shasum program to use is included twice and is different.
So move which program to use for the checksum after argument
parsing.  The last issue is --md5 option has been broken for
sometime now as the program is named md5sum and not just md5.
Nobody updated switch table to be correct.

contrib/ChangeLog:

PR other/82704
* download_prerequisites: Fix issues with --md5 and
--sha512 options.

contrib/download_prerequisites

index 51e715f69e1a674336bd8c7c76e5b8a3681b20c8..8f69b61f5a93761051bb32a2a15148b772e65b61 100755 (executable)
@@ -46,18 +46,6 @@ verify=1
 force=0
 OS=$(uname)
 
-case $OS in
-  "Darwin"|"FreeBSD"|"DragonFly"|"AIX")
-    chksum='shasum -a 512 --check'
-  ;;
-  "OpenBSD")
-    chksum='sha512 -c'
-  ;;
-  *)
-    chksum='sha512sum -c'
-  ;;
-esac
-
 if type wget > /dev/null ; then
   fetch='wget'
 else
@@ -113,7 +101,7 @@ do
 done
 unset arg
 
-# Emulate Linux's 'md5 --check' on macOS
+# Emulate Linux's 'md5sum --check' on macOS
 md5_check() {
   # Store the standard input: a line from contrib/prerequisites.md5:
   md5_checksum_line=$(cat -)
@@ -162,26 +150,10 @@ do
                 verify=0
                 ;;
             --sha512)
-                case $OS in
-                  "Darwin")
-                    chksum='shasum -a 512 --check'
-                  ;;
-                  *)
-                    chksum='sha512sum --check'
-                  ;;
-                esac
                 chksum_extension='sha512'
                 verify=1
                 ;;
             --md5)
-                case $OS in
-                  "Darwin")
-                    chksum='md5_check'
-                  ;;
-                  *)
-                    chksum='md5 --check'
-                  ;;
-                esac
                 chksum_extension='md5'
                 verify=1
                 ;;
@@ -212,6 +184,35 @@ done
 [ "x${argnext}" = x ] || die "Missing argument for option --${argnext}"
 unset arg argnext
 
+case $chksum_extension in
+  sha512)
+    case $OS in
+      "Darwin"|"FreeBSD"|"DragonFly"|"AIX")
+        chksum='shasum -a 512 --check'
+      ;;
+      "OpenBSD")
+        chksum='sha512 -c'
+      ;;
+      *)
+        chksum='sha512sum -c'
+      ;;
+    esac
+  ;;
+  md5)
+    case $OS in
+      "Darwin")
+        chksum='md5_check'
+      ;;
+      *)
+        chksum='md5sum -c'
+      ;;
+    esac
+    ;;
+  *)
+    die "Unkown checksum $chksum_extension"
+  ;;
+esac
+
 [ -e ./gcc/BASE-VER ]                                                         \
     || die "You must run this script in the top-level GCC source directory"