Make contrib/download_prerequisites work on AIX and OpenBSD
authorIlya Leoshkevich <iii@linux.ibm.com>
Thu, 11 Jun 2020 13:58:44 +0000 (15:58 +0200)
committerIlya Leoshkevich <iii@linux.ibm.com>
Wed, 24 Jun 2020 15:57:53 +0000 (17:57 +0200)
contrib/ChangeLog:

2020-06-11  Ilya Leoshkevich  <iii@linux.ibm.com>

* download_prerequisites: Support AIX and OpenBSD unames.
Pipe `{gzip,bzip2} -d` to `tar -xf -`.

contrib/download_prerequisites

index aa0356e..da19913 100755 (executable)
@@ -47,9 +47,12 @@ force=0
 OS=$(uname)
 
 case $OS in
-  "Darwin"|"FreeBSD"|"DragonFly")
+  "Darwin"|"FreeBSD"|"DragonFly"|"AIX")
     chksum='shasum -a 512 --check'
   ;;
+  "OpenBSD")
+    chksum='sha512 -c'
+  ;;
   *)
     chksum='sha512sum -c'
   ;;
@@ -242,8 +245,19 @@ for ar in $(echo_archives)
 do
     package="${ar%.tar*}"
     if [ ${force} -gt 0 ]; then rm -rf "${directory}/${package}"; fi
+    case $ar in
+    *.gz)
+       uncompress='gzip -d'
+       ;;
+    *.bz2)
+       uncompress='bzip2 -d'
+       ;;
+    *)
+       uncompress='cat'
+       ;;
+    esac
     [ -e "${directory}/${package}" ]                                          \
-        || ( cd "${directory}" && tar -xf "${ar}" )                           \
+        || ( cd "${directory}" && $uncompress <"${ar}" | tar -xf - )          \
         || die "Cannot extract package from ${ar}"
     unset package
 done