emacs-bug-tracker
[Top][All Lists]
Advanced

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

bug#52828: closed ([PATCH] Fix Disarchive fallback on Guix System)


From: GNU bug Tracking System
Subject: bug#52828: closed ([PATCH] Fix Disarchive fallback on Guix System)
Date: Mon, 17 Jan 2022 01:01:01 +0000

Your message dated Sun, 16 Jan 2022 20:00:24 -0500
with message-id <87iluj89cn.fsf@ngyro.com>
and subject line Re: bug#52828: [PATCH] Fix Disarchive fallback on Guix System
has caused the debbugs.gnu.org bug report #52828,
regarding [PATCH] Fix Disarchive fallback on Guix System
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs@gnu.org.)


-- 
52828: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=52828
GNU Bug Tracking System
Contact help-debbugs@gnu.org with problems
--- Begin Message --- Subject: [PATCH] Fix Disarchive fallback on Guix System Date: Mon, 27 Dec 2021 13:39:28 -0500 User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux)
Hi everyone,

I noticed recently that Disarchive fallback does not work on Guix
System.  This is because the ‘(guix swh)’ module shells out to ‘tar’ to
extract the tarball that it downloads from SWH.  However, when used as
part of ‘guix perform-download’ via the daemon, ‘tar’ is not available.
AFAICS, that the daemon is run with no ‘PATH’ at all.

You can confirm this by running (on Guix System):

    $ GUIX_DOWNLOAD_FALLBACK_TEST=disarchive-mirrors \
          guix build --check -S python-flask

You should see:

    [...]
    Downloading [...] from Software Heritage...
    In procedure fport_write: Broken pipe
    [...]

This patch adds ‘tar’ and ‘gzip’ to the daemon’s ‘PATH’.  To me, this is
the most straight-forward way to fix the issue, but there are others.
Any opinions?


-- Tim

>From 2893252c16f3e447eccd0f8d216bfb44b1965c43 Mon Sep 17 00:00:00 2001
From: Timothy Sample <samplet@ngyro.com>
Date: Thu, 23 Dec 2021 22:32:07 -0500
Subject: [PATCH] services: guix: Add tar and gzip to PATH.

* gnu/services/base.scm (guix-shepherd-service): Add the PATH
environment-variable and populate it with tar and gzip.
---
 gnu/services/base.scm | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index 88869e40d2..2fad07097b 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -55,7 +55,8 @@ (define-module (gnu services base)
                 #:select (alsa-utils crda eudev e2fsprogs fuse gpm kbd lvm2 
rng-tools))
   #:use-module (gnu packages bash)
   #:use-module ((gnu packages base)
-                #:select (coreutils glibc glibc-utf8-locales))
+                #:select (coreutils glibc glibc-utf8-locales tar))
+  #:use-module ((gnu packages compression) #:select (gzip))
   #:autoload   (gnu packages guile-xyz) (guile-netlink)
   #:autoload   (gnu packages hurd) (hurd)
   #:use-module (gnu packages package-management)
@@ -1709,7 +1710,14 @@ (define (guix-shepherd-service config)
                                  (string-append "GUIX_LOCPATH="
                                                 #$glibc-utf8-locales
                                                 "/lib/locale")
-                                 "LC_ALL=en_US.utf8")
+                                 "LC_ALL=en_US.utf8"
+                                 ;; Make 'tar' and 'gzip' available so
+                                 ;; that 'guix perform-download' can use
+                                 ;; them when downloading from Software
+                                 ;; Heritage via '(guix swh)'.
+                                 (string-append "PATH="
+                                                #$(file-append tar "/bin") ":"
+                                                #$(file-append gzip "/bin")))
                            (if proxy
                                (list (string-append "http_proxy=" proxy)
                                      (string-append "https_proxy=" proxy))
-- 
2.34.0


--- End Message ---
--- Begin Message --- Subject: Re: bug#52828: [PATCH] Fix Disarchive fallback on Guix System Date: Sun, 16 Jan 2022 20:00:24 -0500 User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux)
Ludovic Courtès <ludo@gnu.org> writes:

> Hmm yes, I guess you’re right, I prefer the initial patch after all.
> (In particular I’m not keen on adding things to (guix config).)
>
> Go for it?

Pushed as 3b6755defe44c4795e134a46a7ef7b6009146872.

> Longer-term, I think it would still be interesting to migrate to
> Guile-Zlib + Disarchive/Gash-Utils, but we can check that later—better
> fix the Disarchive fallback first.

For sure.  Changing it to use zlib was pretty easy.  Sadly, neither of
those tarball libraries are slam dunks for Guix as of today.

> Thanks and sorry for the hesitations!

No worries.  Thanks very much for the review!  :)


-- Tim


--- End Message ---

reply via email to

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