diff mbox series

[bug#40601,14/28] guix-install.sh: Make tar usage compatible with busybox.

Message ID 20200517171725.732-14-vincent.legoll@gmail.com
State Under Review
Delegated to: Christopher Baines
Headers show
Series [bug#40601,01/28] nix/local.mk: Add missing comment to sysvinit section. | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job

Commit Message

Vincent Legoll May 17, 2020, 5:17 p.m. UTC
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 mbox series

Patch

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