From 0deabebedd16c9519bfb1dfbff303c2d9bd701ee Mon Sep 17 00:00:00 2001 From: Andrew Pinski Date: Tue, 24 Aug 2021 05:56:59 +0000 Subject: [PATCH] Fix a few problems with download_prerequisites. 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 | 59 +++++++++++++++++++++--------------------- 1 file changed, 30 insertions(+), 29 deletions(-) diff --git a/contrib/download_prerequisites b/contrib/download_prerequisites index 51e715f..8f69b61 100755 --- a/contrib/download_prerequisites +++ b/contrib/download_prerequisites @@ -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" -- 2.7.4