Subject: Re: bug#50066: core-update: Raw origin tarballs are not handled correctly.

From: Maxim Cournoyer <[email-masked]>
Date: Mon, 30 Aug 2021 23:50:20 -0400

Hello Mathieu,

[...]

> Thanks for the report; it looks like a bug indeed.  I had probably
> overlooked that case (where there is no compression but we are still
> dealing with an archive format).  The annoying thing is that touching
> this code will trigger a world rebuild; so unless we find other big
> problems and batch the fixes, it may not be worth it.
>
> The site.py problem you reported may be one, if I find a solution.
>
> Other things on my mind:
>
> 1. rustc bootstrap from 1.39 (the itch to make it faster comes back
> everytime I have to build it ;-)).

I'm nearing completion on this front.

> 2. fontconfig update that should allow per-profile fonts management via
>   XDG_DATA_DIRS (I have the commit ready, but failed to test it due to
>   having to build rust and getting distracted by 1. :-))

I'll propose a few patches to include in the 'frozen' core-updates
branch since we've found a world-rebuilding change worthy of addressing
anyway (the patch below).

1 file changed, 4 insertions(+), 4 deletions(-)
guix/packages.scm | 8 ++++----

modified   guix/packages.scm
@@ -836,10 +836,10 @@ specifies modules in scope when evaluating SNIPPET."
                ((file-is-directory? #+source)
                 (copy-recursively directory #$output
                                   #:log (%make-void-port "w")))
-               ((not #+comp)
-                (copy-file file #$output))
-               (else
-                (repack directory #$output)))))))
+               ((or #+comp (tarball? #+source))
+                (repack directory #$output))
+               (else                    ;single uncompressed file
+                (copy-file file #$output)))))))
 
     (let ((name (if (or (checkout? original-file-name)
                         (not (compressor original-file-name)))

Sadly the plain .tar file was/is not covered by tests (and not easily
so), but if his was my only omission, it should be correct (TM).
Attentive review needed :-).

Thank you!

Maxim