GNU bug report logs - #48233
[PATCH 0/3] Modest improvements to the guix-install.sh script.

Previous Next

Package: guix-patches;

Reported by: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>

Date: Wed, 5 May 2021 04:18:01 UTC

Severity: normal

Tags: patch

Done: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 48233 in the body.
You can then email your comments to 48233 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#48233; Package guix-patches. (Wed, 05 May 2021 04:18:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Maxim Cournoyer <maxim.cournoyer <at> gmail.com>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Wed, 05 May 2021 04:18:01 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: guix-patches <guix-patches <at> gnu.org>
Cc: ludo <at> gnu.org
Subject: [PATCH 0/3] Modest improvements to the guix-install.sh script.
Date: Wed, 5 May 2021 00:10:19 -0400
Hello Guix!

This is a cleanup + small improvement to the install script; it allows
completing the installation in a completely automatic way via:

# yes | ./guix-install.sh

Before this change it was not possible due to the step fetching the OpenPGP
keys being strictly manual.

I've tested it in a VM; if it looks fine I'd like push it to the version-1.3.0
branch.

Thanks,

Maxim

Maxim Cournoyer (3):
  guix-install.sh: Please the shellcheck linter.
  guix-install.sh: Propose automatically fetching OpenPGP keys.
  guix-install.sh: Exit early if Guix is already installed.

 etc/guix-install.sh | 133 ++++++++++++++++++++++++--------------------
 1 file changed, 72 insertions(+), 61 deletions(-)

--
2.31.1




Information forwarded to guix-patches <at> gnu.org:
bug#48233; Package guix-patches. (Wed, 05 May 2021 04:33:01 GMT) Full text and rfc822 format available.

Message #8 received at 48233 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 48233 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 1/3] guix-install.sh: Please the shellcheck linter.
Date: Wed,  5 May 2021 00:32:00 -0400
* etc/guix-install.sh <FUNCNAME>: Explicitly refer to the first item of the
FUNCNAME array.
(ROOT_HOME): Replace variable by ~root directly; manually expanding it via
echo was not necessary.
(chk_gpg_keyring): Use an if branch for the exit to avoid a warning about
expression precedence.
(chk_term) <ansi_term>: Remove unused variable.
(guix_get_bin) <wget, gpg>: Test the commands directly.
(sys_create_store): Disable SC1090 for the source command, as we don't care
about following the sourced script.
<_msg>: Reuse the GUIX_PROFILE variable in the message.
(sys_create_build_user) <getent>: Test the command directly.
---
 etc/guix-install.sh | 74 +++++++++++++++++++++------------------------
 1 file changed, 34 insertions(+), 40 deletions(-)

diff --git a/etc/guix-install.sh b/etc/guix-install.sh
index 06a3edd1a6..11836f2c33 100755
--- a/etc/guix-install.sh
+++ b/etc/guix-install.sh
@@ -9,6 +9,7 @@
 # Copyright © 2020 Daniel Brooks <db48x <at> db48x.net>
 # Copyright © 2021 Jakub Kądziołka <kuba <at> kadziolka.net>
 # Copyright © 2021 Chris Marusich <cmmarusich <at> gmail.com>
+# Copyright © 2021 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
 #
 # This file is part of GNU Guix.
 #
@@ -71,11 +72,6 @@ declare -A GPG_SIGNING_KEYS
 GPG_SIGNING_KEYS[15145]=3CE464558A84FDC69DB40CFB090B11993D9AEBB5  # ludo
 GPG_SIGNING_KEYS[127547]=27D586A4F8900854329FF09F1260E46482E63562 # maxim
 
-# This script needs to know where root's home directory is.  However, we
-# cannot simply use the HOME environment variable, since there is no guarantee
-# that it points to root's home directory.
-ROOT_HOME="$(echo ~root)"
-
 # ------------------------------------------------------------------------------
 #+UTILITIES
 
@@ -102,7 +98,7 @@ chk_require()
     declare -a warn
     local c
 
-    _debug "--- [ $FUNCNAME ] ---"
+    _debug "--- [ ${FUNCNAME[0]} ] ---"
 
     for c in "$@"; do
         command -v "$c" &>/dev/null || warn+=("$c")
@@ -117,7 +113,7 @@ chk_require()
 
 chk_gpg_keyring()
 { # Check whether the Guix release signing public key is present.
-    _debug "--- [ $FUNCNAME ] ---"
+    _debug "--- [ ${FUNCNAME[0]} ] ---"
     local user_id
     local gpg_key_id
     local exit_flag
@@ -132,21 +128,19 @@ chk_gpg_keyring()
             exit_flag=yes
         fi
     done
-    test "$exit_flag" = yes && exit 1 || true
+    if [ "$exit_flag" = yes ]; then
+        exit 1
+    fi
 }
 
 chk_term()
 { # Check for ANSI terminal for color printing.
-    local ansi_term
-
     if [ -t 2 ]; then
         if [ "${TERM+set}" = 'set' ]; then
             case "$TERM" in
                 xterm*|rxvt*|urxvt*|linux*|vt*|eterm*|screen*)
-                    ansi_term=true
                     ;;
                 *)
-                    ansi_term=false
                     ERR="[ FAIL ] "
                     PAS="[ PASS ] "
                     ;;
@@ -243,7 +237,7 @@ guix_get_bin_list()
     local latest_ver
     local default_ver
 
-    _debug "--- [ $FUNCNAME ] ---"
+    _debug "--- [ ${FUNCNAME[0]} ] ---"
 
     # Filter only version and architecture
     bin_ver_ls=("$(wget -qO- "$gnu_url" \
@@ -273,24 +267,23 @@ guix_get_bin()
     local bin_ver="$2"
     local dl_path="$3"
 
-    _debug "--- [ $FUNCNAME ] ---"
+    _debug "--- [ ${FUNCNAME[0]} ] ---"
 
     _msg "${INF}Downloading Guix release archive"
 
     wget --help | grep -q '\--show-progress' && \
         _PROGRESS_OPT="-q --show-progress" || _PROGRESS_OPT=""
-    wget $_PROGRESS_OPT -P "$dl_path" "${url}/${bin_ver}.tar.xz" "${url}/${bin_ver}.tar.xz.sig"
 
-    if [[ "$?" -eq 0 ]]; then
-       _msg "${PAS}download completed."
+    if wget "$_PROGRESS_OPT" -P "$dl_path" \
+            "${url}/${bin_ver}.tar.xz" "${url}/${bin_ver}.tar.xz.sig"; then
+        _msg "${PAS}download completed."
     else
         _err "${ERR}could not download ${url}/${bin_ver}.tar.xz."
         exit 1
     fi
 
     pushd "${dl_path}" >/dev/null
-    gpg --verify "${bin_ver}.tar.xz.sig" >/dev/null 2>&1
-    if [[ "$?" -eq 0 ]]; then
+    if gpg --verify "${bin_ver}.tar.xz.sig" >/dev/null 2>&1; then
         _msg "${PAS}Signature is valid."
         popd >/dev/null
     else
@@ -304,7 +297,7 @@ sys_create_store()
     local pkg="$1"
     local tmp_path="$2"
 
-    _debug "--- [ $FUNCNAME ] ---"
+    _debug "--- [ ${FUNCNAME[0]} ] ---"
 
     cd "$tmp_path"
     tar --extract \
@@ -321,28 +314,29 @@ sys_create_store()
     fi
 
     _msg "${INF}Linking the root user's profile"
-    mkdir -p "${ROOT_HOME}/.config/guix"
+    mkdir -p "~root/.config/guix"
     ln -sf /var/guix/profiles/per-user/root/current-guix \
-       "${ROOT_HOME}/.config/guix/current"
+       "~root/.config/guix/current"
 
-    GUIX_PROFILE="${ROOT_HOME}/.config/guix/current"
+    GUIX_PROFILE="~root/.config/guix/current"
+    # shellcheck disable=SC1090
     source "${GUIX_PROFILE}/etc/profile"
-    _msg "${PAS}activated root profile at ${ROOT_HOME}/.config/guix/current"
+    _msg "${PAS}activated root profile at ${GUIX_PROFILE}"
 }
 
 sys_create_build_user()
 { # Create the group and user accounts for build users.
 
-    _debug "--- [ $FUNCNAME ] ---"
+    _debug "--- [ ${FUNCNAME[0]} ] ---"
 
-    if [ $(getent group guixbuild) ]; then
+    if getent group guixbuild > /dev/null; then
         _msg "${INF}group guixbuild exists"
     else
         groupadd --system guixbuild
         _msg "${PAS}group <guixbuild> created"
     fi
 
-    if [ $(getent group kvm) ]; then
+    if getent group kvm > /dev/null; then
         _msg "${INF}group kvm exists and build users will be added to it"
 	local KVMGROUP=,kvm
     fi
@@ -371,7 +365,7 @@ sys_enable_guix_daemon()
     local local_bin
     local var_guix
 
-    _debug "--- [ $FUNCNAME ] ---"
+    _debug "--- [ ${FUNCNAME[0]} ] ---"
 
     info_path="/usr/local/share/info"
     local_bin="/usr/local/bin"
@@ -380,7 +374,7 @@ sys_enable_guix_daemon()
     case "$INIT_SYS" in
         upstart)
             { initctl reload-configuration;
-              cp "${ROOT_HOME}/.config/guix/current/lib/upstart/system/guix-daemon.conf" \
+              cp "~root/.config/guix/current/lib/upstart/system/guix-daemon.conf" \
                  /etc/init/ &&
                   start guix-daemon; } &&
                 _msg "${PAS}enabled Guix daemon via upstart"
@@ -389,15 +383,15 @@ sys_enable_guix_daemon()
             { # systemd .mount units must be named after the target directory.
               # Here we assume a hard-coded name of /gnu/store.
               # XXX Work around <https://issues.guix.gnu.org/41356> until next release.
-              if [ -f "${ROOT_HOME}/.config/guix/current/lib/systemd/system/gnu-store.mount" ]; then
-                  cp "${ROOT_HOME}/.config/guix/current/lib/systemd/system/gnu-store.mount" \
+              if [ -f "~root/.config/guix/current/lib/systemd/system/gnu-store.mount" ]; then
+                  cp "~root/.config/guix/current/lib/systemd/system/gnu-store.mount" \
                      /etc/systemd/system/;
                   chmod 664 /etc/systemd/system/gnu-store.mount;
                   systemctl daemon-reload &&
                       systemctl enable gnu-store.mount;
               fi
 
-              cp "${ROOT_HOME}/.config/guix/current/lib/systemd/system/guix-daemon.service" \
+              cp "~root/.config/guix/current/lib/systemd/system/guix-daemon.service" \
                  /etc/systemd/system/;
               chmod 664 /etc/systemd/system/guix-daemon.service;
 
@@ -418,7 +412,7 @@ sys_enable_guix_daemon()
             ;;
         sysv-init)
             { mkdir -p /etc/init.d;
-              cp "${ROOT_HOME}/.config/guix/current/etc/init.d/guix-daemon" \
+              cp "~root/.config/guix/current/etc/init.d/guix-daemon" \
                  /etc/init.d/guix-daemon;
               chmod 775 /etc/init.d/guix-daemon;
 
@@ -429,7 +423,7 @@ sys_enable_guix_daemon()
             ;;
         openrc)
             { mkdir -p /etc/init.d;
-              cp "${ROOT_HOME}/.config/guix/current/etc/openrc/guix-daemon" \
+              cp "~root/.config/guix/current/etc/openrc/guix-daemon" \
                  /etc/init.d/guix-daemon;
               chmod 775 /etc/init.d/guix-daemon;
 
@@ -439,7 +433,7 @@ sys_enable_guix_daemon()
             ;;
         NA|*)
             _msg "${ERR}unsupported init system; run the daemon manually:"
-            echo "  ${ROOT_HOME}/.config/guix/current/bin/guix-daemon --build-users-group=guixbuild"
+            echo "  ~root/.config/guix/current/bin/guix-daemon --build-users-group=guixbuild"
             ;;
     esac
 
@@ -457,9 +451,9 @@ sys_enable_guix_daemon()
 sys_authorize_build_farms()
 { # authorize the public key of the build farm
     while true; do
-        read -p "Permit downloading pre-built package binaries from the project's build farm? (yes/no) " yn
+        read -rp "Permit downloading pre-built package binaries from the project's build farm? (yes/no) " yn
         case $yn in
-            [Yy]*) guix archive --authorize < "${ROOT_HOME}/.config/guix/current/share/guix/ci.guix.gnu.org.pub" &&
+            [Yy]*) guix archive --authorize < "~root/.config/guix/current/share/guix/ci.guix.gnu.org.pub" &&
                        _msg "${PAS}Authorized public key for ci.guix.gnu.org";
                    break;;
             [Nn]*) _msg "${INF}Skipped authorizing build farm public keys"
@@ -470,7 +464,7 @@ sys_authorize_build_farms()
 }
 
 sys_create_init_profile()
-{ # Create /etc/profile.d/guix.sh for better desktop integration
+{ # Define for better desktop integration
   # This will not take effect until the next shell or desktop session!
     [ -d "/etc/profile.d" ] || mkdir /etc/profile.d # Just in case
     cat <<"EOF" > /etc/profile.d/guix.sh
@@ -544,7 +538,7 @@ This script installs GNU Guix on your system
 https://www.gnu.org/software/guix/
 EOF
     echo -n "Press return to continue..."
-    read -r  ANSWER
+    read -r
 }
 
 main()
@@ -574,7 +568,7 @@ main()
         if ! [[ $GUIX_BINARY_FILE_NAME =~ $ARCH_OS ]]; then
             _err "$ARCH_OS not in ${GUIX_BINARY_FILE_NAME}; aborting"
         fi
-        _msg "Using manually provided binary ${GUIX_BINARY_FILE_NAME}"
+        _msg "${INF}Using manually provided binary ${GUIX_BINARY_FILE_NAME}"
         GUIX_BINARY_FILE_NAME=$(realpath "$GUIX_BINARY_FILE_NAME")
     fi
 
-- 
2.31.1





Information forwarded to guix-patches <at> gnu.org:
bug#48233; Package guix-patches. (Wed, 05 May 2021 04:33:02 GMT) Full text and rfc822 format available.

Message #11 received at 48233 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 48233 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 3/3] guix-install.sh: Exit early if Guix is already installed.
Date: Wed,  5 May 2021 00:32:02 -0400
* etc/guix-install.sh (sys_create_store): Move the check & exit before The
Guix binary archive is unpacked.  Re-indent tar extraction command.
---
 etc/guix-install.sh | 16 +++++++---------
 1 file changed, 7 insertions(+), 9 deletions(-)

diff --git a/etc/guix-install.sh b/etc/guix-install.sh
index 3d2936c873..f7ef0c2671 100755
--- a/etc/guix-install.sh
+++ b/etc/guix-install.sh
@@ -321,20 +321,18 @@ sys_create_store()
 
     _debug "--- [ ${FUNCNAME[0]} ] ---"
 
-    cd "$tmp_path"
-    tar --extract \
-        --file "$pkg" &&
-    _msg "${PAS}unpacked archive"
-
     if [[ -e "/var/guix" || -e "/gnu" ]]; then
         _err "${ERR}A previous Guix installation was found.  Refusing to overwrite."
         exit 1
-    else
-        _msg "${INF}Installing /var/guix and /gnu..."
-        mv "${tmp_path}/var/guix" /var/
-        mv "${tmp_path}/gnu" /
     fi
 
+    cd "$tmp_path"
+    tar --extract --file "$pkg" && _msg "${PAS}unpacked archive"
+
+    _msg "${INF}Installing /var/guix and /gnu..."
+    mv "${tmp_path}/var/guix" /var/
+    mv "${tmp_path}/gnu" /
+
     _msg "${INF}Linking the root user's profile"
     mkdir -p "~root/.config/guix"
     ln -sf /var/guix/profiles/per-user/root/current-guix \
-- 
2.31.1





Information forwarded to guix-patches <at> gnu.org:
bug#48233; Package guix-patches. (Wed, 05 May 2021 04:33:02 GMT) Full text and rfc822 format available.

Message #14 received at 48233 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 48233 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 2/3] guix-install.sh: Propose automatically fetching OpenPGP
 keys.
Date: Wed,  5 May 2021 00:32:01 -0400
Via, for example, yes | ./guix-install.sh.

* etc/guix-install.sh (prompt_yes_no): New procedure.
(chk_gpg_keyring, sys_authorize_build_farms): Use it.
---
 etc/guix-install.sh | 47 +++++++++++++++++++++++++++++++--------------
 1 file changed, 33 insertions(+), 14 deletions(-)

diff --git a/etc/guix-install.sh b/etc/guix-install.sh
index 11836f2c33..3d2936c873 100755
--- a/etc/guix-install.sh
+++ b/etc/guix-install.sh
@@ -92,6 +92,18 @@ _debug()
     fi
 }
 
+# Return true if user answered yes, false otherwise.
+# $1: The prompt question.
+prompt_yes_no() {
+    while true; do
+        read -rp "$1" yn
+        case $yn in
+            [Yy]*) return 0;;
+            [Nn]*) return 1;;
+            *) _msg "Please answer yes or no."
+        esac
+    done
+}
 
 chk_require()
 { # Check that every required command is available.
@@ -123,9 +135,19 @@ chk_gpg_keyring()
         # Without --dry-run this command will create a ~/.gnupg owned by root on
         # systems where gpg has never been used, causing errors and confusion.
         if ! gpg --dry-run --list-keys "$gpg_key_id" >/dev/null 2>&1; then
-            _err "${ERR}Missing OpenPGP public key ($gpg_key_id).  Fetch it with this command:"
-            echo "  wget \"https://sv.gnu.org/people/viewgpg.php?user_id=$user_id\" -qO - | sudo -i gpg --import -"
-            exit_flag=yes
+            if prompt_yes_no "${INF}The following OpenPGP public key is \
+required to verify the Guix binary signature: $gpg_key_id.
+Would you like me to fetch it for you? (yes/no)"; then
+                wget "https://sv.gnu.org/people/viewgpg.php?user_id=$user_id" \
+                     -qO - | gpg --import -
+            else
+                _err "${ERR}Missing OpenPGP public key ($gpg_key_id).
+Fetch it with this command:
+
+  wget \"https://sv.gnu.org/people/viewgpg.php?user_id=$user_id\" -qO - | \
+sudo -i gpg --import -"
+                exit_flag=yes
+            fi
         fi
     done
     if [ "$exit_flag" = yes ]; then
@@ -450,17 +472,14 @@ sys_enable_guix_daemon()
 
 sys_authorize_build_farms()
 { # authorize the public key of the build farm
-    while true; do
-        read -rp "Permit downloading pre-built package binaries from the project's build farm? (yes/no) " yn
-        case $yn in
-            [Yy]*) guix archive --authorize < "~root/.config/guix/current/share/guix/ci.guix.gnu.org.pub" &&
-                       _msg "${PAS}Authorized public key for ci.guix.gnu.org";
-                   break;;
-            [Nn]*) _msg "${INF}Skipped authorizing build farm public keys"
-                   break;;
-            *) _msg "Please answer yes or no.";
-        esac
-    done
+    if prompt_yes_no "Permit downloading pre-built package binaries from the \
+project's build farm? (yes/no) "; then
+        guix archive --authorize \
+             < "~root/.config/guix/current/share/guix/ci.guix.gnu.org.pub" \
+            && _msg "${PAS}Authorized public key for ci.guix.gnu.org"
+        else
+            _msg "${INF}Skipped authorizing build farm public keys"
+    fi
 }
 
 sys_create_init_profile()
-- 
2.31.1





Information forwarded to guix-patches <at> gnu.org:
bug#48233; Package guix-patches. (Wed, 05 May 2021 10:51:02 GMT) Full text and rfc822 format available.

Message #17 received at 48233 <at> debbugs.gnu.org (full text, mbox):

From: Julien Lepiller <julien <at> lepiller.eu>
To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>,48233 <at> debbugs.gnu.org
Subject: Re: [bug#48233] [PATCH 1/3] guix-install.sh: Please the shellcheck
 linter.
Date: Wed, 05 May 2021 06:50:09 -0400

Le 5 mai 2021 00:32:00 GMT-04:00, Maxim Cournoyer <maxim.cournoyer <at> gmail.com> a écrit :
> 
>     wget --help | grep -q '\--show-progress' && \
>         _PROGRESS_OPT="-q --show-progress" || _PROGRESS_OPT=""
>-    wget $_PROGRESS_OPT -P "$dl_path" "${url}/${bin_ver}.tar.xz"
>"${url}/${bin_ver}.tar.xz.sig"
> 
>-    if [[ "$?" -eq 0 ]]; then
>-       _msg "${PAS}download completed."
>+    if wget "$_PROGRESS_OPT" -P "$dl_path" \
>+            "${url}/${bin_ver}.tar.xz" "${url}/${bin_ver}.tar.xz.sig";

"$_PROGRESS_OPT" gets expanded to a single "-q --show-progress", which I doubt exists in wget :). The previous version didn't have quotes.

Otherwise, LGTM. 




Reply sent to Maxim Cournoyer <maxim.cournoyer <at> gmail.com>:
You have taken responsibility. (Wed, 05 May 2021 15:01:02 GMT) Full text and rfc822 format available.

Notification sent to Maxim Cournoyer <maxim.cournoyer <at> gmail.com>:
bug acknowledged by developer. (Wed, 05 May 2021 15:01:02 GMT) Full text and rfc822 format available.

Message #22 received at 48233-done <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Julien Lepiller <julien <at> lepiller.eu>
Cc: 48233-done <at> debbugs.gnu.org
Subject: Re: [bug#48233] [PATCH 1/3] guix-install.sh: Please the shellcheck
 linter.
Date: Wed, 05 May 2021 11:00:42 -0400
Hi Julien,

Julien Lepiller <julien <at> lepiller.eu> writes:

> Le 5 mai 2021 00:32:00 GMT-04:00, Maxim Cournoyer <maxim.cournoyer <at> gmail.com> a écrit :
>>
>>     wget --help | grep -q '\--show-progress' && \
>>         _PROGRESS_OPT="-q --show-progress" || _PROGRESS_OPT=""
>>-    wget $_PROGRESS_OPT -P "$dl_path" "${url}/${bin_ver}.tar.xz"
>>"${url}/${bin_ver}.tar.xz.sig"
>>
>>-    if [[ "$?" -eq 0 ]]; then
>>-       _msg "${PAS}download completed."
>>+    if wget "$_PROGRESS_OPT" -P "$dl_path" \
>>+            "${url}/${bin_ver}.tar.xz" "${url}/${bin_ver}.tar.xz.sig";
>
> "$_PROGRESS_OPT" gets expanded to a single "-q --show-progress", which I doubt exists in wget :). The previous version didn't have quotes.

Good catch!  I failed to see that in my testing due to using the
GUIX_RELEASE_FILE_NAME trick, which shortcuts that procedure.

I've fixed it with an array:

--8<---------------cut here---------------start------------->8---
1 file changed, 4 insertions(+), 3 deletions(-)
etc/guix-install.sh | 7 ++++---

modified   etc/guix-install.sh
@@ -266,15 +266,16 @@ guix_get_bin()
     local url="$1"
     local bin_ver="$2"
     local dl_path="$3"
+    local wget_args=()

     _debug "--- [ ${FUNCNAME[0]} ] ---"

     _msg "${INF}Downloading Guix release archive"

-    wget --help | grep -q '\--show-progress' && \
-        _PROGRESS_OPT="-q --show-progress" || _PROGRESS_OPT=""
+    wget --help | grep -q '\--show-progress' \
+        && wget_args=("-q" "--show-progress")

-    if wget "$_PROGRESS_OPT" -P "$dl_path" \
+    if wget "${wget_args[@]}" -P "$dl_path" \
             "${url}/${bin_ver}.tar.xz" "${url}/${bin_ver}.tar.xz.sig"; then
         _msg "${PAS}download completed."
     else
--8<---------------cut here---------------end--------------->8---

And in another VM (RHEL8) with up-to-date certs to be able to fetch from
the alpha.gnu.org :-).  The install went fine.

Pushed, thank you!

Maxim




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Thu, 03 Jun 2021 11:24:06 GMT) Full text and rfc822 format available.

This bug report was last modified 2 years and 326 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.