Subject: [PATCH 14/28] guix-install.sh: Make tar usage compatible with busybox.

From: Vincent Legoll <[email-masked]>
Date: Sun, 17 May 2020 19:17:11 +0200

The --warning option is not suported by busybox tar, but it does not emit missing
timestamps warnings anyways.

* etc/guix-install.sh (sys_create_store): Add --warning tar option only when
supported.
---
 etc/guix-install.sh | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/etc/guix-install.sh b/etc/guix-install.sh
index 770ecfaf3f..b5e8416610 100755
--- a/etc/guix-install.sh
+++ b/etc/guix-install.sh
@@ -274,10 +274,13 @@ sys_create_store()
 
     _debug "--- [ $FUNCNAME ] ---"
 
-    cd "$tmp_path"
-    tar --warning=no-timestamp \
-        --extract \
-        --file "$pkg" &&
+    # Do not use the --warning option with busybox tar
+    TAROPTS=("-C" "${tmp_path}")
+    if tar c --warning=no-timestamp -f /dev/null /dev/null >&/dev/null; then
+        TAROPTS+=("--warning=no-timestamp")
+    fi
+
+    tar x -f "${pkg}" "${TAROPTS[@]}" &&
     _msg "${PAS}unpacked archive"
 
     if [[ -e "/var/guix" || -e "/gnu" ]]; then
-- 
2.26.2