unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
From: Efraim Flashner <efraim@flashner.co.il>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: 32347@debbugs.gnu.org
Subject: bug#32347: gzip cannot be patched
Date: Wed, 3 Oct 2018 11:01:41 +0300	[thread overview]
Message-ID: <20181003080141.GA11380@macbook41> (raw)
In-Reply-To: <87a7piii22.fsf@gnu.org>


[-- Attachment #1.1: Type: text/plain, Size: 2273 bytes --]

On Sun, Aug 19, 2018 at 03:48:05PM +0200, Ludovic Courtès wrote:
> Hello,
> 
> Efraim Flashner <efraim@flashner.co.il> skribis:
> 
> > On Thu, Aug 02, 2018 at 01:32:02PM +0200, Marius Bakke wrote:
> >> Hello!
> >> 
> >> I'm trying to add a patch to 'gzip', but it causes an infinite loop and
> >> eventually the system runs out of memory.
> >> 
> >> It can be reproduced by adding this hunk:
> >> 
> >
> >> modified   gnu/packages/compression.scm
> >> @@ -215,6 +215,7 @@ adding and extracting files to/from a tar archive.")
> >>              (method url-fetch)
> >>              (uri (string-append "mirror://gnu/gzip/gzip-"
> >>                                  version ".tar.xz"))
> >> +            (snippet '(#t))
> >>              (sha256
> >>               (base32
> >>                "16h8g4acy7fgfxcjacr3wijjsnixwsfd2jhz3zwdi2qrzi262l5f"))))
> >> 
> >> [back]
> >> 
> >> I guess this is because gzip itself is a patch input.  Is this something
> >> that can be fixed, or do we have to use "patching phases" in these cases?
> >
> > Its also in commencement.scm, so that might be the loop instead. You
> > could try "unpatching" it there. It looks like it has a pseudo-package
> > inside of glibc-utf8-locales-final, with grep-final a few packages lower
> > being potential inspiration for undoing the modifications in "real
> > gzip".
> 
> Indeed.  The ‘bootstrap-origin’ procedure, defined in (gnu packages
> bootstrap), arranges to use the bootstrap binaries of gzip, patch,
> guile, etc. when patching origins.
> 
> Perhaps we’re missing a use of ‘bootstrap-origin’ somewhere in (gnu
> packages commencement)?
> 

Looks like it in the end. the gzip for glibc-utf8-locales-final uses the
bootstrap guile for its building, but doesn't get the input rewriting
that comes from package-with-bootstrap-guile. With this patch adding the
trivial snippet to gzip doesn't cause an infinite loop anymore. Since
the patch doesn't change the hash of glibc-utf8-locales-final it should
be OK for master.

-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #1.2: 0001-gnu-glibc-utf8-locales-final-Wrap-inputs-with-packag.patch --]
[-- Type: text/plain, Size: 1462 bytes --]

From a3b7f9851e121fd3eb5f52ff4197923553032ec7 Mon Sep 17 00:00:00 2001
From: Efraim Flashner <efraim@flashner.co.il>
Date: Wed, 3 Oct 2018 10:33:23 +0300
Subject: [PATCH] gnu: glibc-utf8-locales-final: Wrap inputs with
 'package-with-bootstrap-guile'.

* gnu/packages/commencement.scm (glibc-utf8-locales-final)[inputs]: Wrap
gzip with 'package-with-bootstrap-guile'.
---
 gnu/packages/commencement.scm | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 30a0ffcec..6c0f4e310 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -870,9 +870,10 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
     (inherit glibc-utf8-locales)
     (inputs `(("glibc" ,glibc-final)
               ("gzip"
-               ,(package-with-explicit-inputs gzip %boot4-inputs
-                                              (current-source-location)
-                                              #:guile %bootstrap-guile))))))
+               ,(package-with-bootstrap-guile
+                  (package-with-explicit-inputs gzip %boot4-inputs
+                                                (current-source-location)
+                                                #:guile %bootstrap-guile)))))))
 
 (define-public ld-wrapper
   ;; The final 'ld' wrapper, which uses the final Guile and Binutils.
-- 
2.19.0


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  reply	other threads:[~2018-10-03  8:02 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-08-02 11:32 bug#32347: gzip cannot be patched Marius Bakke
2018-08-02 11:57 ` Efraim Flashner
2018-08-19 13:48   ` Ludovic Courtès
2018-10-03  8:01     ` Efraim Flashner [this message]
2023-08-29 12:44       ` Maxim Cournoyer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20181003080141.GA11380@macbook41 \
    --to=efraim@flashner.co.il \
    --cc=32347@debbugs.gnu.org \
    --cc=ludo@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).