guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#60068] [PATCH 1/2] guix-install.sh: Add GUIX_ALLOW_OVERWRITE enviro


From: Tobias Geerinckx-Rice
Subject: [bug#60068] [PATCH 1/2] guix-install.sh: Add GUIX_ALLOW_OVERWRITE environment variable.
Date: Wed, 14 Dec 2022 17:16:19 +0100

Hi Maxim,

Nice!  More steps towards world domination.

Maxim Cournoyer 写道:
+# Environment variables

These sound like they should be command-line arguments.

[…]

Actually, I'm not totally sold on GUIX_ALLOW_OVERWRITE. It's not solving much a problem.

Instead, the error message could be specific about what it considers a ‘previous Guix installation’ — which would be a good idea regardless — and tell the admin exactly what needs to be removed to continue.

     "groupadd"
+    "useradd"

Good catch, but separate patch.  (♪)

-    if [[ -e "/var/guix" || -e "/gnu" ]]; then
+ if [[ -z $GUIX_ALLOW_OVERWRITE && (-e /var/guix || -e /gnu) ]]; then die "A previous Guix installation was found. Refusing to overwrite."
+    else
+        _msg "${WAR}Overwriting existing installation!"
     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" /
+    tar --extract --file "$pkg" -C /

I'm still in favour of using something like ‘mktemp -d /gnu.XXXXXX’ here if there's no security flaw I missed. WDYT?

If the overwrite functionality is kept, we should remove the old directories before re-populating them.

Kind regards,

T G-R

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]