From debbugs-submit-bounces@debbugs.gnu.org Wed Feb 26 23:54:52 2020 Received: (at submit) by debbugs.gnu.org; 27 Feb 2020 04:54:52 +0000 Received: from localhost ([127.0.0.1]:58598 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j7BCG-00025U-Im for submit@debbugs.gnu.org; Wed, 26 Feb 2020 23:54:52 -0500 Received: from lists.gnu.org ([209.51.188.17]:42279) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j7Arl-0001Wx-5w for submit@debbugs.gnu.org; Wed, 26 Feb 2020 23:33:41 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:33586) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j7Arj-0005mL-KC for guix-patches@gnu.org; Wed, 26 Feb 2020 23:33:40 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-2.3 required=5.0 tests=BAYES_20,RCVD_IN_DNSWL_MED, URIBL_BLOCKED autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j7Ari-0007Za-4A for guix-patches@gnu.org; Wed, 26 Feb 2020 23:33:39 -0500 Received: from mout02.posteo.de ([185.67.36.66]:41839) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1j7Arh-0007X4-Hd for guix-patches@gnu.org; Wed, 26 Feb 2020 23:33:38 -0500 Received: from submission (posteo.de [89.146.220.130]) by mout02.posteo.de (Postfix) with ESMTPS id 0FABA2400FB for ; Thu, 27 Feb 2020 05:33:33 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1582778014; bh=q+iJ2lX/xsMcP9Gn/FWrba8ZD+x5WzfkaK5tK1WeS2w=; h=From:To:Cc:Subject:Date:From; b=NC6MZE1WTtcL+tRffS6zJfdeYhVYnf5CHZSEGWRfA8T0NIWrO5GWkQh2zbyPXh4Fz L+MVy7Qepb0fe0PwXSbrr6kIfXuj07FmPO19ZqovRycIJGDnJV7A0KqC1DYnJJvg8g 5ivSx4fu7tO/+rVRMTdQ/qHvXstqSf9/nk80im7DiafenTbEY4NuLPP4LtK07dzn5s jLsXWdSe3wtTJapJLUj+BzcE//7bYevTxyCqtXPxhgQxz0d03DzVgpQhtWJmN8P488 gZTbcC+QUHV+jZRhBEbcwGuvdmftPvimr2Y6W4KGBKNOswi3D0+pA+twwBS1tFvKGU +hDAgn9doPypA== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 48Sfth4mq0z9rxK; Thu, 27 Feb 2020 05:33:32 +0100 (CET) From: Eric Bavier To: guix-patches@gnu.org Subject: [PATCH] guix: pack: Only wrap executable files. Date: Wed, 26 Feb 2020 22:36:04 -0600 Message-Id: <20200227043604.13102-1-bavier@posteo.net> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 185.67.36.66 X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Wed, 26 Feb 2020 23:54:50 -0500 Cc: Eric Bavier X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) From: Eric Bavier Hello Guix, This patch fixes some uses of relocatable git (e.g. octopus merge).=20 Previously, guix pack would wrap all files in "bin", "sbin", and "libexec= ", even non-executable files. This would cause issues for git when its shel= l scripts in libexec would try to source other shell files that had been wrapped and were no longer a valid shell file. I feel like a test should be added to tests/guix-pack-relocatable.sh, but I'm not sure how to do that while keeping the test lightweight. Suggesti= ons welcome. Cheers, `~Eric * guix/scripts/pack.scm (wrapped-package): Build wrappers for executable files and symlink others. --- guix/scripts/pack.scm | 32 +++++++++++++++++++++++--------- 1 file changed, 23 insertions(+), 9 deletions(-) diff --git a/guix/scripts/pack.scm b/guix/scripts/pack.scm index c8d8546e29..3634326102 100644 --- a/guix/scripts/pack.scm +++ b/guix/scripts/pack.scm @@ -4,6 +4,7 @@ ;;; Copyright =C2=A9 2018 Konrad Hinsen ;;; Copyright =C2=A9 2018 Chris Marusich ;;; Copyright =C2=A9 2018 Efraim Flashner +;;; Copyright =C2=A9 2020 Eric Bavier ;;; ;;; This file is part of GNU Guix. ;;; @@ -673,9 +674,11 @@ last resort for relocation." (guix build union))) #~(begin (use-modules (guix build utils) - ((guix build union) #:select (relative-file-name)= ) + ((guix build union) #:select (symlink-relative)) + (srfi srfi-1) (ice-9 ftw) - (ice-9 match)) + (ice-9 match) + (ice-9 receive)) =20 (define input ;; The OUTPUT* output of PACKAGE. @@ -726,15 +729,26 @@ last resort for relocation." (mkdir target) (for-each (lambda (file) (unless (member file '("." ".." "bin" "sbin" "libe= xec")) - (let ((file* (string-append input "/" file))) - (symlink (relative-file-name target file*) - (string-append target "/" file))))) + (symlink-relative (string-append input "/" file= ) + (string-append target "/" file= )))) (scandir input)) =20 - (for-each build-wrapper - (append (find-files (string-append input "/bin")) - (find-files (string-append input "/sbin")) - (find-files (string-append input "/libexec")= )))))) + (receive (executables others) + (partition executable-file? + (append (find-files (string-append input "/bin"= )) + (find-files (string-append input "/sbin= ")) + (find-files (string-append input "/libe= xec")))) + ;; Wrap only executables, since the wrapper will eventually = need + ;; to execve them. E.g. git's "libexec" directory contains = many + ;; shell scripts that are source'd from elsewhere, which fai= ls if + ;; they are wrapped. + (for-each build-wrapper executables) + ;; Link any other non-executable files + (for-each (lambda (old) + (let ((new (string-append target (strip-store-pr= efix old)))) + (mkdir-p (dirname new)) + (symlink-relative old new))) + others))))) =20 (computed-file (string-append (cond ((package? package) --=20 2.25.1 From debbugs-submit-bounces@debbugs.gnu.org Fri Mar 06 06:16:43 2020 Received: (at 39807) by debbugs.gnu.org; 6 Mar 2020 11:16:43 +0000 Received: from localhost ([127.0.0.1]:44182 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jAAyA-0008IP-RX for submit@debbugs.gnu.org; Fri, 06 Mar 2020 06:16:43 -0500 Received: from eggs.gnu.org ([209.51.188.92]:34507) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jAAy9-0008ID-1a for 39807@debbugs.gnu.org; Fri, 06 Mar 2020 06:16:41 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:39580) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1jAAy3-0000Or-Ol; Fri, 06 Mar 2020 06:16:35 -0500 Received: from [2001:660:6102:320:e120:2c8f:8909:cdfe] (port=59930 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1jAAy3-00089k-7I; Fri, 06 Mar 2020 06:16:35 -0500 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Eric Bavier Subject: Re: [bug#39807] [PATCH] guix: pack: Only wrap executable files. References: <20200227043604.13102-1-bavier@posteo.net> Date: Fri, 06 Mar 2020 12:16:32 +0100 In-Reply-To: <20200227043604.13102-1-bavier@posteo.net> (Eric Bavier's message of "Wed, 26 Feb 2020 22:36:04 -0600") Message-ID: <87d09pohrj.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 39807 Cc: 39807@debbugs.gnu.org, Eric Bavier X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Hi, Eric Bavier skribis: > From: Eric Bavier > > Hello Guix, > > This patch fixes some uses of relocatable git (e.g. octopus merge).=20 > Previously, guix pack would wrap all files in "bin", "sbin", and "libexec= ", > even non-executable files. This would cause issues for git when its shell > scripts in libexec would try to source other shell files that had been > wrapped and were no longer a valid shell file. Good catch! > I feel like a test should be added to tests/guix-pack-relocatable.sh, but > I'm not sure how to do that while keeping the test lightweight. Suggesti= ons > welcome. Not sure how to do that. Since =E2=80=98guix pack=E2=80=99 accepts manifes= ts, you could have a manifest containing a =E2=80=98computed-file=E2=80=99 with a file th= at shouldn=E2=80=99t be wrapped, and then you could ensure that=E2=80=99s indeed the case. Or y= ou could try with =E2=80=98git-minimal=E2=80=99 or some other package that exh= ibits the problem? > * guix/scripts/pack.scm (wrapped-package): Build wrappers for > executable files and symlink others. [...] > - (for-each build-wrapper > - (append (find-files (string-append input "/bin")) > - (find-files (string-append input "/sbin")) > - (find-files (string-append input "/libexec")= )))))) > + (receive (executables others) I=E2=80=99d prefer srfi-11 =E2=80=98let-values=E2=80=99. :-) Otherwise LGTM, thanks! Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 24 13:51:45 2020 Received: (at 39807) by debbugs.gnu.org; 24 Mar 2020 17:51:45 +0000 Received: from localhost ([127.0.0.1]:55569 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jGniL-0008UN-3I for submit@debbugs.gnu.org; Tue, 24 Mar 2020 13:51:45 -0400 Received: from eggs.gnu.org ([209.51.188.92]:44856) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jGniJ-0008UB-BO for 39807@debbugs.gnu.org; Tue, 24 Mar 2020 13:51:43 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:51880) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1jGniE-0002Ag-4P; Tue, 24 Mar 2020 13:51:38 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=46982 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1jGniD-0007My-Jo; Tue, 24 Mar 2020 13:51:37 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Eric Bavier Subject: Re: [bug#39807] [PATCH] guix: pack: Only wrap executable files. References: <20200227043604.13102-1-bavier@posteo.net> <87d09pohrj.fsf@gnu.org> Date: Tue, 24 Mar 2020 18:51:36 +0100 In-Reply-To: <87d09pohrj.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Fri, 06 Mar 2020 12:16:32 +0100") Message-ID: <87h7ydljyv.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 39807 Cc: 39807@debbugs.gnu.org, Eric Bavier X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Ping! :-) Ludovic Court=C3=A8s skribis: > Hi, > > Eric Bavier skribis: > >> From: Eric Bavier >> >> Hello Guix, >> >> This patch fixes some uses of relocatable git (e.g. octopus merge).=20 >> Previously, guix pack would wrap all files in "bin", "sbin", and "libexe= c", >> even non-executable files. This would cause issues for git when its she= ll >> scripts in libexec would try to source other shell files that had been >> wrapped and were no longer a valid shell file. > > Good catch! > >> I feel like a test should be added to tests/guix-pack-relocatable.sh, but >> I'm not sure how to do that while keeping the test lightweight. Suggest= ions >> welcome. > > Not sure how to do that. Since =E2=80=98guix pack=E2=80=99 accepts manif= ests, you could > have a manifest containing a =E2=80=98computed-file=E2=80=99 with a file = that shouldn=E2=80=99t > be wrapped, and then you could ensure that=E2=80=99s indeed the case. Or= you > could try with =E2=80=98git-minimal=E2=80=99 or some other package that e= xhibits the > problem? > >> * guix/scripts/pack.scm (wrapped-package): Build wrappers for >> executable files and symlink others. > > [...] > >> - (for-each build-wrapper >> - (append (find-files (string-append input "/bin")) >> - (find-files (string-append input "/sbin")) >> - (find-files (string-append input "/libexec"= ))))))) >> + (receive (executables others) > > I=E2=80=99d prefer srfi-11 =E2=80=98let-values=E2=80=99. :-) > > Otherwise LGTM, thanks! > > Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Thu Mar 26 22:30:05 2020 Received: (at 39807) by debbugs.gnu.org; 27 Mar 2020 02:30:05 +0000 Received: from localhost ([127.0.0.1]:60421 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jHel2-000388-TF for submit@debbugs.gnu.org; Thu, 26 Mar 2020 22:30:05 -0400 Received: from mout01.posteo.de ([185.67.36.65]:57279) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jHel0-00037D-Cx for 39807@debbugs.gnu.org; Thu, 26 Mar 2020 22:30:03 -0400 Received: from submission (posteo.de [89.146.220.130]) by mout01.posteo.de (Postfix) with ESMTPS id B13E316005C for <39807@debbugs.gnu.org>; Fri, 27 Mar 2020 03:29:56 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1585276196; bh=CwsPafNU9ye0P/iuivWIMsjnMapMKh/DcNz6P1i79Uk=; h=Date:From:To:Subject:From; b=JnBYfSKBAuH/oXmHqeGVo1vHz9bTbATYByZmURj5LwIE6vaLhcxTRqJUSk6qhLm8f s5oULx37lNavTKWyd/NsmvRzBslnxQV6pemMIRrXYNVXgQliVrH9uyrFSD0XKNneEL wsE96Fv0xIq3Vo7S2DMkg3pLAxG2TeNckPoDz63ab+QEVkbiPCapn5Mf89bVrAU31a e97Tf6qu6isxFCtbyrTdDTtEapDCxZReByjgL1i7xwY4d9k9zspPA+SZ9fqz5XS+hf RGDT+9esELQ7Dd2dG28c68hUz9lyETLnLnoAJLfeQE3LVUSWhxs4p0JQvWNqrkMje/ UyuvaVDLFHDUA== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 48pQmh1k73z6tmD for <39807@debbugs.gnu.org>; Fri, 27 Mar 2020 03:29:56 +0100 (CET) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable Date: Thu, 26 Mar 2020 21:29:56 -0500 From: Eric Bavier To: 39807@debbugs.gnu.org Subject: Re: [bug#39807] [PATCH] guix: pack: Only wrap executable files. In-Reply-To: <87d09pohrj.fsf@gnu.org> References: <20200227043604.13102-1-bavier@posteo.net> <87d09pohrj.fsf@gnu.org> Message-ID: <9e3d0e2f06b5d7994d35d10d687773ac@posteo.net> X-Sender: bavier@posteo.net User-Agent: Posteo Webmail X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 39807 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) On 06.03.2020 05:16, Ludovic Court=C3=A8s wrote: > Hi, >=20 > Eric Bavier skribis: >=20 >> From: Eric Bavier >>=20 >> I feel like a test should be added to tests/guix-pack-relocatable.sh,=20 >> but >> I'm not sure how to do that while keeping the test lightweight. =20 >> Suggestions >> welcome. >=20 > Not sure how to do that. Since =E2=80=98guix pack=E2=80=99 accepts manif= ests, you=20 > could > have a manifest containing a =E2=80=98computed-file=E2=80=99 with a file = that shouldn=E2=80=99t > be wrapped, and then you could ensure that=E2=80=99s indeed the case. Or= you > could try with =E2=80=98git-minimal=E2=80=99 or some other package that e= xhibits the > problem? I almost have a working test using 'git-minimal', but I'm not happy with=20 the quantity of code needed to setup, and I'm worried now that that test=20 would be relying on an implementation detail that could change in the=20 future without us noticing (e.g. a git subcommand that's currently a=20 shell script is subsumed into git so the test no longer checks what we=20 want). So I think I'll try going the manifest/computed-file route instead. >=20 >> * guix/scripts/pack.scm (wrapped-package): Build wrappers for >> executable files and symlink others. >=20 > [...] >=20 >> - (for-each build-wrapper >> - (append (find-files (string-append input "/bin")) >> - (find-files (string-append input=20 >> "/sbin")) >> - (find-files (string-append input=20 >> "/libexec"))))))) >> + (receive (executables others) >=20 > I=E2=80=99d prefer srfi-11 =E2=80=98let-values=E2=80=99. :-) I tried let-values to begin with, but I found 'receive' to be much=20 easier on the eyes. For the case of binding values from a single=20 expression, does let-values offer benefits? And there are no other uses=20 of let-values in this module, so precedent/consistency doesn't seem to=20 have weight. > Otherwise LGTM, thanks! Thanks for review (and ping)! --=20 `~Eric From debbugs-submit-bounces@debbugs.gnu.org Thu Mar 26 22:53:37 2020 Received: (at 39807) by debbugs.gnu.org; 27 Mar 2020 02:53:37 +0000 Received: from localhost ([127.0.0.1]:60428 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jHf7h-0003lk-VQ for submit@debbugs.gnu.org; Thu, 26 Mar 2020 22:53:37 -0400 Received: from mout01.posteo.de ([185.67.36.65]:53421) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jHf7e-0003lS-JO for 39807@debbugs.gnu.org; Thu, 26 Mar 2020 22:53:27 -0400 Received: from submission (posteo.de [89.146.220.130]) by mout01.posteo.de (Postfix) with ESMTPS id 9FB2E16005C for <39807@debbugs.gnu.org>; Fri, 27 Mar 2020 03:53:19 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1585277599; bh=Oxh0KUm3tGUsBCRL6c4eUM1jZtHu7r227HpOdSNVxmc=; h=Date:From:To:Subject:From; b=BikptcPR1cJg6EDoMkJeowxo/DsF5PGuO5u37iOpgKdsKyKp11Iefps0sGQXkYRx5 QCMuU2YvBxjIYHbeZsExJpnOXQTU/r7G1FDJsMh7DJU249QjzyZBrQqmo/yEe8HRoS XMIAgIbXP7g2F/hRszDFWB0kdVoyatJTH3gTWlUCqf/lCK7ZJm+9X3f664f8wAiMUU /gAqhKqH1cvphj76k8YeBXkqA8FIxrEOXnfp5BuV6Vpi9RwQb5NjV+glkZO4hSynAc AQjy5/oc8dI2rblT3uhEmExl+zPyoeIl13KbzWdaFe60+GdeKKbHfVTUdXL73vl/Rx 0RnBp2SJkwNWw== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 48pRHg0V03z6tmD for <39807@debbugs.gnu.org>; Fri, 27 Mar 2020 03:53:18 +0100 (CET) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=_cb8bb2e850f8bafef4813125ab63d049" Date: Thu, 26 Mar 2020 21:53:18 -0500 From: Eric Bavier To: 39807 <39807@debbugs.gnu.org> Subject: Re: [bug#39807] [PATCH] guix: pack: Only wrap executable files. In-Reply-To: <87h7ydljyv.fsf@gnu.org> References: <20200227043604.13102-1-bavier@posteo.net> <87d09pohrj.fsf@gnu.org> <87h7ydljyv.fsf@gnu.org> Message-ID: <9929712b169123d7f35169919dfaaa9c@posteo.net> X-Sender: bavier@posteo.net User-Agent: Posteo Webmail X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 39807 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --=_cb8bb2e850f8bafef4813125ab63d049 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; format=flowed Latest patch attached. -- `~Eric --=_cb8bb2e850f8bafef4813125ab63d049 Content-Transfer-Encoding: base64 Content-Type: text/x-diff; name=0001-wip-guix-pack-Only-wrap-executable-files.patch Content-Disposition: attachment; filename=0001-wip-guix-pack-Only-wrap-executable-files.patch; size=5512 RnJvbSA1YjljMGExNDA4MzcxMzg3NDBiMmI0ZjA3MzM4OTAxOTQ4ZjA4NTE1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBFcmljIEJhdmllciA8YmF2aWVyQG1lbWJlci5mc2Yub3JnPgpE YXRlOiBNb24sIDI0IEZlYiAyMDIwIDIzOjQ3OjAyIC0wNjAwClN1YmplY3Q6IFtQQVRDSF0gd2lw OiBndWl4OiBwYWNrOiBPbmx5IHdyYXAgZXhlY3V0YWJsZSBmaWxlcy4KCiogZ3VpeC9zY3JpcHRz L3BhY2suc2NtICh3cmFwcGVkLXBhY2thZ2UpPGJ1aWxkPjogQnVpbGQgd3JhcHBlcnMgZm9yCmV4 ZWN1dGFibGUgZmlsZXMgYW5kIHN5bWxpbmsgb3RoZXJzLgoqIHRlc3RzL2d1aXgtcGFjay1yZWxv Y2F0YWJsZS5zaDogVGVzdCByZWxvY2F0YWJsZSBnaXQtbWluaW1hbCdzCiJtZXJnZS1vY3RvcHVz Ii4KLS0tCiBndWl4L3NjcmlwdHMvcGFjay5zY20gICAgICAgICAgfCAzMiArKysrKysrKysrKysr KysrKysrKy0tLS0tLS0tLQogdGVzdHMvZ3VpeC1wYWNrLXJlbG9jYXRhYmxlLnNoIHwgMzcgKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCA2MCBpbnNl cnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2d1aXgvc2NyaXB0cy9wYWNr LnNjbSBiL2d1aXgvc2NyaXB0cy9wYWNrLnNjbQppbmRleCBiNmZiNzM4MzhkLi41NWVkMDk1OGFk IDEwMDY0NAotLS0gYS9ndWl4L3NjcmlwdHMvcGFjay5zY20KKysrIGIvZ3VpeC9zY3JpcHRzL3Bh Y2suc2NtCkBAIC00LDYgKzQsNyBAQAogOzs7IENvcHlyaWdodCDCqSAyMDE4IEtvbnJhZCBIaW5z ZW4gPGtvbnJhZC5oaW5zZW5AZmFzdG1haWwubmV0PgogOzs7IENvcHlyaWdodCDCqSAyMDE4IENo cmlzIE1hcnVzaWNoIDxjbW1hcnVzaWNoQGdtYWlsLmNvbT4KIDs7OyBDb3B5cmlnaHQgwqkgMjAx OCBFZnJhaW0gRmxhc2huZXIgPGVmcmFpbUBmbGFzaG5lci5jby5pbD4KKzs7OyBDb3B5cmlnaHQg wqkgMjAyMCBFcmljIEJhdmllciA8YmF2aWVyQHBvc3Rlby5uZXQ+CiA7OzsKIDs7OyBUaGlzIGZp bGUgaXMgcGFydCBvZiBHTlUgR3VpeC4KIDs7OwpAQCAtNjkwLDkgKzY5MSwxMSBAQCBsYXN0IHJl c29ydCBmb3IgcmVsb2NhdGlvbi4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZ3Vp eCBidWlsZCB1bmlvbikpKQogICAgICAgI34oYmVnaW4KICAgICAgICAgICAodXNlLW1vZHVsZXMg KGd1aXggYnVpbGQgdXRpbHMpCi0gICAgICAgICAgICAgICAgICAgICAgICgoZ3VpeCBidWlsZCB1 bmlvbikgIzpzZWxlY3QgKHJlbGF0aXZlLWZpbGUtbmFtZSkpCisgICAgICAgICAgICAgICAgICAg ICAgICgoZ3VpeCBidWlsZCB1bmlvbikgIzpzZWxlY3QgKHN5bWxpbmstcmVsYXRpdmUpKQorICAg ICAgICAgICAgICAgICAgICAgICAoc3JmaSBzcmZpLTEpCiAgICAgICAgICAgICAgICAgICAgICAg IChpY2UtOSBmdHcpCi0gICAgICAgICAgICAgICAgICAgICAgIChpY2UtOSBtYXRjaCkpCisgICAg ICAgICAgICAgICAgICAgICAgIChpY2UtOSBtYXRjaCkKKyAgICAgICAgICAgICAgICAgICAgICAg KGljZS05IHJlY2VpdmUpKQogCiAgICAgICAgICAgKGRlZmluZSBpbnB1dAogICAgICAgICAgICAg OzsgVGhlIE9VVFBVVCogb3V0cHV0IG9mIFBBQ0tBR0UuCkBAIC03NDMsMTUgKzc0NiwyNiBAQCBs YXN0IHJlc29ydCBmb3IgcmVsb2NhdGlvbi4iCiAgICAgICAgICAgKG1rZGlyIHRhcmdldCkKICAg ICAgICAgICAoZm9yLWVhY2ggKGxhbWJkYSAoZmlsZSkKICAgICAgICAgICAgICAgICAgICAgICAo dW5sZXNzIChtZW1iZXIgZmlsZSAnKCIuIiAiLi4iICJiaW4iICJzYmluIiAibGliZXhlYyIpKQot ICAgICAgICAgICAgICAgICAgICAgICAgKGxldCAoKGZpbGUqIChzdHJpbmctYXBwZW5kIGlucHV0 ICIvIiBmaWxlKSkpCi0gICAgICAgICAgICAgICAgICAgICAgICAgIChzeW1saW5rIChyZWxhdGl2 ZS1maWxlLW5hbWUgdGFyZ2V0IGZpbGUqKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAoc3RyaW5nLWFwcGVuZCB0YXJnZXQgIi8iIGZpbGUpKSkpKQorICAgICAgICAgICAgICAg ICAgICAgICAgKHN5bWxpbmstcmVsYXRpdmUgKHN0cmluZy1hcHBlbmQgaW5wdXQgICIvIiBmaWxl KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN0cmluZy1hcHBl bmQgdGFyZ2V0ICIvIiBmaWxlKSkpKQogICAgICAgICAgICAgICAgICAgICAoc2NhbmRpciBpbnB1 dCkpCiAKLSAgICAgICAgICAoZm9yLWVhY2ggYnVpbGQtd3JhcHBlcgotICAgICAgICAgICAgICAg ICAgICAoYXBwZW5kIChmaW5kLWZpbGVzIChzdHJpbmctYXBwZW5kIGlucHV0ICIvYmluIikpCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZpbmQtZmlsZXMgKHN0cmluZy1hcHBlbmQgaW5w dXQgIi9zYmluIikpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZpbmQtZmlsZXMgKHN0 cmluZy1hcHBlbmQgaW5wdXQgIi9saWJleGVjIikpKSkpKSkKKyAgICAgICAgICAocmVjZWl2ZSAo ZXhlY3V0YWJsZXMgb3RoZXJzKQorICAgICAgICAgICAgICAocGFydGl0aW9uIGV4ZWN1dGFibGUt ZmlsZT8KKyAgICAgICAgICAgICAgICAgICAgICAgICAoYXBwZW5kIChmaW5kLWZpbGVzIChzdHJp bmctYXBwZW5kIGlucHV0ICIvYmluIikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAoZmluZC1maWxlcyAoc3RyaW5nLWFwcGVuZCBpbnB1dCAiL3NiaW4iKSkKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChmaW5kLWZpbGVzIChzdHJpbmctYXBwZW5kIGlucHV0ICIv bGliZXhlYyIpKSkpCisgICAgICAgICAgICA7OyBXcmFwIG9ubHkgZXhlY3V0YWJsZXMsIHNpbmNl IHRoZSB3cmFwcGVyIHdpbGwgZXZlbnR1YWxseSBuZWVkCisgICAgICAgICAgICA7OyB0byBleGVj dmUgdGhlbS4gIEUuZy4gZ2l0J3MgImxpYmV4ZWMiIGRpcmVjdG9yeSBjb250YWlucyBtYW55Cisg ICAgICAgICAgICA7OyBzaGVsbCBzY3JpcHRzIHRoYXQgYXJlIHNvdXJjZSdkIGZyb20gZWxzZXdo ZXJlLCB3aGljaCBmYWlscyBpZgorICAgICAgICAgICAgOzsgdGhleSBhcmUgd3JhcHBlZC4KKyAg ICAgICAgICAgIChmb3ItZWFjaCBidWlsZC13cmFwcGVyIGV4ZWN1dGFibGVzKQorICAgICAgICAg ICAgOzsgTGluayBhbnkgb3RoZXIgbm9uLWV4ZWN1dGFibGUgZmlsZXMKKyAgICAgICAgICAgIChm b3ItZWFjaCAobGFtYmRhIChvbGQpCisgICAgICAgICAgICAgICAgICAgICAgICAobGV0ICgobmV3 IChzdHJpbmctYXBwZW5kIHRhcmdldCAoc3RyaXAtc3RvcmUtcHJlZml4IG9sZCkpKSkKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgKG1rZGlyLXAgKGRpcm5hbWUgbmV3KSkKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgKHN5bWxpbmstcmVsYXRpdmUgb2xkIG5ldykpKQorICAgICAgICAgICAg ICAgICAgICAgIG90aGVycykpKSkpCiAKICAgKGNvbXB1dGVkLWZpbGUgKHN0cmluZy1hcHBlbmQK ICAgICAgICAgICAgICAgICAgIChjb25kICgocGFja2FnZT8gcGFja2FnZSkKZGlmZiAtLWdpdCBh L3Rlc3RzL2d1aXgtcGFjay1yZWxvY2F0YWJsZS5zaCBiL3Rlc3RzL2d1aXgtcGFjay1yZWxvY2F0 YWJsZS5zaAppbmRleCBlOTM2MTBlZWRjLi5hM2Q5MDEzMTMzIDEwMDY0NAotLS0gYS90ZXN0cy9n dWl4LXBhY2stcmVsb2NhdGFibGUuc2gKKysrIGIvdGVzdHMvZ3VpeC1wYWNrLXJlbG9jYXRhYmxl LnNoCkBAIC0xLDUgKzEsNiBAQAogIyBHTlUgR3VpeCAtLS0gRnVuY3Rpb25hbCBwYWNrYWdlIG1h bmFnZW1lbnQgZm9yIEdOVQogIyBDb3B5cmlnaHQgwqkgMjAxOCwgMjAxOSBMdWRvdmljIENvdXJ0 w6hzIDxsdWRvQGdudS5vcmc+CisjIENvcHlyaWdodCDCqSAyMDIwIEVyaWMgQmF2aWVyIDxiYXZp ZXJAcG9zdGVvLm5ldD4KICMKICMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEd1aXguCiAjCkBA IC04NCwzICs4NSwzOSBAQCBjaG1vZCAtUmYgK3cgIiR0ZXN0X2RpcmVjdG9yeSI7IHJtIC1yZiAi JHRlc3RfZGlyZWN0b3J5Ii8qCiB0YXJiYWxsPSJgZ3VpeCBwYWNrIC1SIC1TIC9zaGFyZT1zaGFy ZSBncm9mZjpkb2NgIgogKGNkICIkdGVzdF9kaXJlY3RvcnkiOyB0YXIgeHZmICIkdGFyYmFsbCIp CiB0ZXN0IC1kICIkdGVzdF9kaXJlY3Rvcnkvc2hhcmUvZG9jL2dyb2ZmL2h0bWwiCitjaG1vZCAt UmYgK3cgIiR0ZXN0X2RpcmVjdG9yeSI7IHJtIC1yZiAiJHRlc3RfZGlyZWN0b3J5Ii8qCisKKyMg Q2hlY2sgdGhhdCBwYWNrYWdlcyB0aGF0IG1peCBleGVjdXRhYmxlIGFuZCBzdXBwb3J0IGZpbGVz IChlLmcuIGdpdCkgaW4gdGhlCisjICJiaW5hcnkiIGRpcmVjdG9yaWVzIHN0aWxsIHdvcmsgYWZ0 ZXIgd3JhcHBlZC4KK3RhcmJhbGw9ImBndWl4IHBhY2sgJHJlbG9jYXRhYmxlX29wdGlvbiAtUyAv b3B0PSBnaXQtbWluaW1hbGAiCisoY2QgIiR0ZXN0X2RpcmVjdG9yeSI7IHRhciB4dmYgIiR0YXJi YWxsIgorIG1rZGlyIGZvbzsgY2QgZm9vOyB0b3VjaCAuZ2l0aWdub3JlIGJhci50eHQgYmlmLnR4 dCkKK2RvX3Rlc3Q9JworICBleHBvcnQgR1VJWF9QUk9GSUxFPSIkdGVzdF9kaXJlY3Rvcnkvb3B0 IgorICAuICRHVUlYX1BST0ZJTEUvZXRjL3Byb2ZpbGUKKyAgY2QgIiR0ZXN0X2RpcmVjdG9yeS9m b28iCisgIGdpdCBjb25maWcgLS1nbG9iYWwgdXNlci5lbWFpbCAiZ251QGV4YW1wbGUuY29tIgor ICBnaXQgY29uZmlnIC0tZ2xvYmFsIHVzZXIubmFtZSAiR251IEhhY2tlciIKKyAgZ2l0IC0tdmVy c2lvbiA+IiR0ZXN0X2RpcmVjdG9yeS9vdXRwdXQiCisgIGdpdCBpbml0OyBnaXQgYWRkIC5naXRp Z25vcmU7IGdpdCBjb21taXQgLW0gIkluaXRpYWwiCisgIGdpdCBicmFuY2ggYTsgZ2l0IGJyYW5j aCBiCisgIGdpdCBjaGVja291dCBhCisgIGdpdCBhZGQgYmFyLnR4dDsgZ2l0IGNvbW1pdCAtbSAi QWRkIGJhciIKKyAgZ2l0IGNoZWNrb3V0IGIKKyAgZ2l0IGFkZCBiaWYudHh0OyBnaXQgY29tbWl0 IC1tICJBZGQgYmlmIgorICBnaXQgY2hlY2tvdXQgbWFzdGVyCisgICMgQ2hlY2sgbWVyZ2Utb2N0 b3B1cyBzY3JpcHQgd2hpY2ggc291cmNlcyBsaWJleGVjL2dpdC1jb3JlL2dpdC1zaC1zZXR1cAor ICBnaXQgbWVyZ2UgYSBiIC1tICJtZXJnZSIgPj4iJHRlc3RfZGlyZWN0b3J5L291dHB1dCIKKycK K2lmIHVuc2hhcmUgLXIgdHJ1ZQkJIyBBcmUgdXNlciBuYW1lc3BhY2VzIHN1cHBvcnRlZD8KK3Ro ZW4KKyAgICB1bnNoYXJlIC1tcmYgXAorCSAgICBzaCAtYyAnbW91bnQgLXQgdG1wZnMgbm9uZSAi JEhPTUUiOyAjIEZvcmJpZCBnaXQgdG8gcmVhZCB1c2VyIGNvbmZpZ3MKKyAgICAgICAgICAgICAg ICAgICBtb3VudCAtdCB0bXBmcyBub25lICIkU1RPUkVfUEFSRU5UIjsgXAorICAgICAgICAgICAg ICAgICAgJyIkZG9fdGVzdCIKKyAgICBjZCAtCitlbHNlCisgICAgKCAkZG9fdGVzdCApCitmaQor Z3JlcCAnZ2l0IHZlcnNpb24nICIkdGVzdF9kaXJlY3Rvcnkvb3V0cHV0IgorZ3JlcCAnb2N0b3B1 cycgIiR0ZXN0X2RpcmVjdG9yeS9vdXRwdXQiCi0tIAoyLjI1LjIKCg== --=_cb8bb2e850f8bafef4813125ab63d049-- From ludo@gnu.org Sun Mar 29 10:39:38 2020 Received: (at 39807) by debbugs.gnu.org; 30 Mar 2020 02:35:38 +0000 Received: from eggs.gnu.org ([209.51.188.92]:49176) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jIZ69-0003ge-Fr for 39807@debbugs.gnu.org; Sun, 29 Mar 2020 10:39:38 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:52042) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1jIZ64-0002y2-9A; Sun, 29 Mar 2020 10:39:32 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=49786 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1jIZ63-00026I-QE; Sun, 29 Mar 2020 10:39:32 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Eric Bavier Cc: 39807@debbugs.gnu.org Subject: Re: [bug#39807] [PATCH] guix: pack: Only wrap executable files. References: <20200227043604.13102-1-bavier@posteo.net> <87d09pohrj.fsf@gnu.org> <8d8a2e1209d82e136d36222683967956@posteo.net> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 10 Germinal an 228 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Sun, 29 Mar 2020 16:39:30 +0200 In-Reply-To: <8d8a2e1209d82e136d36222683967956@posteo.net> (Eric Bavier's message of "Thu, 26 Mar 2020 21:27:14 -0500") Message-ID: <87a73z1azh.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 39807 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Mar 2020 14:39:38 -0000 Hi Eric, Eric Bavier skribis: > On 06.03.2020 05:16, Ludovic Court=C3=A8s wrote: [...] >>> I feel like a test should be added to >>> tests/guix-pack-relocatable.sh, but >>> I'm not sure how to do that while keeping the test lightweight. >>> Suggestions >>> welcome. >> >> Not sure how to do that. Since =E2=80=98guix pack=E2=80=99 accepts mani= fests, you >> could >> have a manifest containing a =E2=80=98computed-file=E2=80=99 with a file= that shouldn=E2=80=99t >> be wrapped, and then you could ensure that=E2=80=99s indeed the case. O= r you >> could try with =E2=80=98git-minimal=E2=80=99 or some other package that = exhibits the >> problem? > > I almost have a working test using 'git-minimal', but I'm not happy > with the quantity of code needed to setup, and I'm worried now that > that test would be relying on an implementation detail that could > change in the future without us noticing (e.g. a git subcommand that's > currently a shell script is subsumed into git so the test no longer > checks what we want). > > So I think I'll try going the manifest/computed-file route instead. OK. >>> - (for-each build-wrapper >>> - (append (find-files (string-append input "/bin")) >>> - (find-files (string-append input >>> "/sbin")) >>> - (find-files (string-append input >>> "/libexec"))))))) >>> + (receive (executables others) >> >> I=E2=80=99d prefer srfi-11 =E2=80=98let-values=E2=80=99. :-) > > I tried let-values to begin with, but I found 'receive' to be much > easier on the eyes. For the case of binding values from a single > expression, does let-values offer benefits? And there are no other > uses of let-values in this module, so precedent/consistency doesn't > seem to have weight. OK, no big deal. There are probably more uses of =E2=80=98let-values=E2=80=99 than =E2=80=98= receive=E2=80=99 overall. That said, I think we can start switching to srfi-71, which is nicer than both of these. Thanks, Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Mon Jul 27 17:42:22 2020 Received: (at 39807) by debbugs.gnu.org; 27 Jul 2020 21:42:22 +0000 Received: from localhost ([127.0.0.1]:55871 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k0Asz-0005rT-Em for submit@debbugs.gnu.org; Mon, 27 Jul 2020 17:42:22 -0400 Received: from mout02.posteo.de ([185.67.36.66]:36103) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k0Asu-0005r9-MY for 39807@debbugs.gnu.org; Mon, 27 Jul 2020 17:42:15 -0400 Received: from submission (posteo.de [89.146.220.130]) by mout02.posteo.de (Postfix) with ESMTPS id B89B72400FB for <39807@debbugs.gnu.org>; Mon, 27 Jul 2020 23:42:05 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1595886125; bh=I2vUy6jz26XAddXRunew0LqJd1HcqxtryhElutwAunI=; h=Subject:From:To:Date:From; b=ZrcsIgxC4ZAREzrQ4gdoyiXb+vEioMgQ/0o3EISdtdVrNLkJ5wE22Ocu4JX9lQ8Ld 1nhRiseZ45YdheQ/qkWC+582yLymabNvnGae2M2G7uJJmZG5WheYNxEprp4vhHciJY +DhfLTVIFLaIa9B+NGlmynbaEeaTcyxnFu1m01vMwfMv9biJ3O1z/+9BgxH4LOHFwe FRFF3BVaSLx5LQ+zh2K/JQuIdLLZFCEcL7FTk2HdXYY75LMkFgVE8uuirwIJN/LPGQ AHrhgXXfpS2BSZDUyF+HWol61oiQTMx12tPwajk7U727PMk/Qe+0+jzWVKH+p573cO Tqm9QofBfLgOg== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4BFtYm4Jn2z9rxH for <39807@debbugs.gnu.org>; Mon, 27 Jul 2020 23:42:04 +0200 (CEST) Message-ID: <3ace941f920d87da65de6e4fdc16add5b9725434.camel@posteo.net> Subject: Re: [bug#39807] [PATCH] guix: pack: Only wrap executable files. From: Eric Bavier To: 39807@debbugs.gnu.org Date: Mon, 27 Jul 2020 16:42:00 -0500 Content-Type: multipart/mixed; boundary="=-zd4jmApz0w1wfbOCBq0x" User-Agent: Evolution 3.34.2 MIME-Version: 1.0 X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 39807 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --=-zd4jmApz0w1wfbOCBq0x Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit Patch rebased on latest master attached. The new test implements a small proxy for the behavior exhibited by git and its libexec scripts. Call for help: the test does not pass! I get this error: hello: run.c:284: exec_in_user_namespace: Unexpected error: No such file or directory. Could someone more familiar with user namespaces, etc help me work this out? `~Eric --=-zd4jmApz0w1wfbOCBq0x Content-Disposition: attachment; filename="0001-guix-pack-Only-wrap-executable-files.patch" Content-Type: text/x-patch; name="0001-guix-pack-Only-wrap-executable-files.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSBiMzFlNjNjMzY2OGU1MTYzZWJhNDBmNzgxNWNjYWUxOWNiMmFmMjM2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBFcmljIEJhdmllciA8YmF2aWVyQG1lbWJlci5mc2Yub3JnPgpE YXRlOiBNb24sIDI0IEZlYiAyMDIwIDIzOjQ3OjAyIC0wNjAwClN1YmplY3Q6IFtQQVRDSF0gZ3Vp eDogcGFjazogT25seSB3cmFwIGV4ZWN1dGFibGUgZmlsZXMuCgoqIGd1aXgvc2NyaXB0cy9wYWNr LnNjbSAod3JhcHBlZC1wYWNrYWdlKTxidWlsZD46IEJ1aWxkIHdyYXBwZXJzIGZvcgpleGVjdXRh YmxlIGZpbGVzIGFuZCBzeW1saW5rIG90aGVycy4KKiB0ZXN0cy9ndWl4LXBhY2stcmVsb2NhdGFi bGUuc2g6IFRlc3QgcmVsb2NhdGFibGUgZXhhbXBsZSBvZiBtaXhlZApleGVjdXRhYmxlIGFuZCBu b24tZXhlY3V0YWJsZSBmaWxlcy4KLS0tCiBndWl4L3NjcmlwdHMvcGFjay5zY20gICAgICAgICAg fCAzMSArKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tCiB0ZXN0cy9ndWl4LXBhY2stcmVs b2NhdGFibGUuc2ggfCAzMSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAyIGZpbGVz IGNoYW5nZWQsIDUzIGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv Z3VpeC9zY3JpcHRzL3BhY2suc2NtIGIvZ3VpeC9zY3JpcHRzL3BhY2suc2NtCmluZGV4IDVmYjZh YWFlMGMuLjFiOTYwOTc1M2QgMTAwNjQ0Ci0tLSBhL2d1aXgvc2NyaXB0cy9wYWNrLnNjbQorKysg Yi9ndWl4L3NjcmlwdHMvcGFjay5zY20KQEAgLTUsNiArNSw3IEBACiA7OzsgQ29weXJpZ2h0IMKp IDIwMTggQ2hyaXMgTWFydXNpY2ggPGNtbWFydXNpY2hAZ21haWwuY29tPgogOzs7IENvcHlyaWdo dCDCqSAyMDE4IEVmcmFpbSBGbGFzaG5lciA8ZWZyYWltQGZsYXNobmVyLmNvLmlsPgogOzs7IENv cHlyaWdodCDCqSAyMDIwIFRvYmlhcyBHZWVyaW5ja3gtUmljZSA8bWVAdG9iaWFzLmdyPgorOzs7 IENvcHlyaWdodCDCqSAyMDIwIEVyaWMgQmF2aWVyIDxiYXZpZXJAcG9zdGVvLm5ldD4KIDs7Owog Ozs7IFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBHdWl4LgogOzs7CkBAIC03NDcsMTEgKzc0OCwx MiBAQCBsYXN0IHJlc29ydCBmb3IgcmVsb2NhdGlvbi4iCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAoZ3VpeCBlbGYpKSkKICAgICAgICN+KGJlZ2luCiAgICAgICAgICAgKHVzZS1tb2R1 bGVzIChndWl4IGJ1aWxkIHV0aWxzKQotICAgICAgICAgICAgICAgICAgICAgICAoKGd1aXggYnVp bGQgdW5pb24pICM6c2VsZWN0IChyZWxhdGl2ZS1maWxlLW5hbWUpKQorICAgICAgICAgICAgICAg ICAgICAgICAoKGd1aXggYnVpbGQgdW5pb24pICM6c2VsZWN0IChzeW1saW5rLXJlbGF0aXZlKSkK ICAgICAgICAgICAgICAgICAgICAgICAgKGd1aXggZWxmKQogICAgICAgICAgICAgICAgICAgICAg ICAoaWNlLTkgYmluYXJ5LXBvcnRzKQogICAgICAgICAgICAgICAgICAgICAgICAoaWNlLTkgZnR3 KQogICAgICAgICAgICAgICAgICAgICAgICAoaWNlLTkgbWF0Y2gpCisgICAgICAgICAgICAgICAg ICAgICAgIChpY2UtOSByZWNlaXZlKQogICAgICAgICAgICAgICAgICAgICAgICAoc3JmaSBzcmZp LTEpCiAgICAgICAgICAgICAgICAgICAgICAgIChybnJzIGJ5dGV2ZWN0b3JzKSkKIApAQCAtODQ3 LDE2ICs4NDksMjcgQEAgbGFzdCByZXNvcnQgZm9yIHJlbG9jYXRpb24uIgogICAgICAgICAgICht a2RpciB0YXJnZXQpCiAgICAgICAgICAgKGZvci1lYWNoIChsYW1iZGEgKGZpbGUpCiAgICAgICAg ICAgICAgICAgICAgICAgKHVubGVzcyAobWVtYmVyIGZpbGUgJygiLiIgIi4uIiAiYmluIiAic2Jp biIgImxpYmV4ZWMiKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIChsZXQgKChmaWxlKiAoc3Ry aW5nLWFwcGVuZCBpbnB1dCAiLyIgZmlsZSkpKQotICAgICAgICAgICAgICAgICAgICAgICAgICAo c3ltbGluayAocmVsYXRpdmUtZmlsZS1uYW1lIHRhcmdldCBmaWxlKikKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKHN0cmluZy1hcHBlbmQgdGFyZ2V0ICIvIiBmaWxlKSkpKSkK KyAgICAgICAgICAgICAgICAgICAgICAgIChzeW1saW5rLXJlbGF0aXZlIChzdHJpbmctYXBwZW5k IGlucHV0ICAiLyIgZmlsZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChzdHJpbmctYXBwZW5kIHRhcmdldCAiLyIgZmlsZSkpKSkKICAgICAgICAgICAgICAgICAg ICAgKHNjYW5kaXIgaW5wdXQpKQogCi0gICAgICAgICAgKGZvci1lYWNoIGJ1aWxkLXdyYXBwZXIK LSAgICAgICAgICAgICAgICAgICAgOzsgTm90ZTogVHJhaWxpbmcgc2xhc2ggaW4gY2FzZSB0aGVz ZSBhcmUgc3ltbGlua3MuCi0gICAgICAgICAgICAgICAgICAgIChhcHBlbmQgKGZpbmQtZmlsZXMg KHN0cmluZy1hcHBlbmQgaW5wdXQgIi9iaW4vIikpCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgKGZpbmQtZmlsZXMgKHN0cmluZy1hcHBlbmQgaW5wdXQgIi9zYmluLyIpKQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChmaW5kLWZpbGVzIChzdHJpbmctYXBwZW5kIGlucHV0ICIvbGli ZXhlYy8iKSkpKSkpKQorICAgICAgICAgIChyZWNlaXZlIChleGVjdXRhYmxlcyBvdGhlcnMpCisg ICAgICAgICAgICAgIChwYXJ0aXRpb24gZXhlY3V0YWJsZS1maWxlPworCQkJIDs7IE5vdGU6IFRy YWlsaW5nIHNsYXNoIGluIGNhc2UgdGhlc2UgYXJlIHN5bWxpbmtzLgorICAgICAgICAgICAgICAg ICAgICAgICAgIChhcHBlbmQgKGZpbmQtZmlsZXMgKHN0cmluZy1hcHBlbmQgaW5wdXQgIi9iaW4v IikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZmluZC1maWxlcyAoc3RyaW5n LWFwcGVuZCBpbnB1dCAiL3NiaW4vIikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAoZmluZC1maWxlcyAoc3RyaW5nLWFwcGVuZCBpbnB1dCAiL2xpYmV4ZWMvIikpKSkKKyAgICAg ICAgICAgIDs7IFdyYXAgb25seSBleGVjdXRhYmxlcywgc2luY2UgdGhlIHdyYXBwZXIgd2lsbCBl dmVudHVhbGx5IG5lZWQKKyAgICAgICAgICAgIDs7IHRvIGV4ZWN2ZSB0aGVtLiAgRS5nLiBnaXQn cyAibGliZXhlYyIgZGlyZWN0b3J5IGNvbnRhaW5zIG1hbnkKKyAgICAgICAgICAgIDs7IHNoZWxs IHNjcmlwdHMgdGhhdCBhcmUgc291cmNlJ2QgZnJvbSBlbHNld2hlcmUsIHdoaWNoIGZhaWxzIGlm CisgICAgICAgICAgICA7OyB0aGV5IGFyZSB3cmFwcGVkLgorICAgICAgICAgICAgKGZvci1lYWNo IGJ1aWxkLXdyYXBwZXIgZXhlY3V0YWJsZXMpCisgICAgICAgICAgICA7OyBMaW5rIGFueSBvdGhl ciBub24tZXhlY3V0YWJsZSBmaWxlcworICAgICAgICAgICAgKGZvci1lYWNoIChsYW1iZGEgKG9s ZCkKKyAgICAgICAgICAgICAgICAgICAgICAgIChsZXQgKChuZXcgKHN0cmluZy1hcHBlbmQgdGFy Z2V0IChzdHJpcC1zdG9yZS1wcmVmaXggb2xkKSkpKQorICAgICAgICAgICAgICAgICAgICAgICAg ICAobWtkaXItcCAoZGlybmFtZSBuZXcpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAoc3lt bGluay1yZWxhdGl2ZSBvbGQgbmV3KSkpCisgICAgICAgICAgICAgICAgICAgICAgb3RoZXJzKSkp KSkKIAogICAoY29tcHV0ZWQtZmlsZSAoc3RyaW5nLWFwcGVuZAogICAgICAgICAgICAgICAgICAg KGNvbmQgKChwYWNrYWdlPyBwYWNrYWdlKQpkaWZmIC0tZ2l0IGEvdGVzdHMvZ3VpeC1wYWNrLXJl bG9jYXRhYmxlLnNoIGIvdGVzdHMvZ3VpeC1wYWNrLXJlbG9jYXRhYmxlLnNoCmluZGV4IDUyZDcy MTI1OTQuLjJlZDQ5NzAyN2QgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2d1aXgtcGFjay1yZWxvY2F0YWJs ZS5zaAorKysgYi90ZXN0cy9ndWl4LXBhY2stcmVsb2NhdGFibGUuc2gKQEAgLTEsNSArMSw2IEBA CiAjIEdOVSBHdWl4IC0tLSBGdW5jdGlvbmFsIHBhY2thZ2UgbWFuYWdlbWVudCBmb3IgR05VCiAj IENvcHlyaWdodCDCqSAyMDE4LCAyMDE5LCAyMDIwIEx1ZG92aWMgQ291cnTDqHMgPGx1ZG9AZ251 Lm9yZz4KKyMgQ29weXJpZ2h0IMKpIDIwMjAgRXJpYyBCYXZpZXIgPGJhdmllckBwb3N0ZW8ubmV0 PgogIwogIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgR3VpeC4KICMKQEAgLTk5LDYgKzEwMCw3 IEBAIGNhc2UgImB1bmFtZSAtbWAiIGluCiAJR1VJWF9FWEVDVVRJT05fRU5HSU5FPSJmYWtlY2hy b290IgogCSIkdGVzdF9kaXJlY3RvcnkvQmluL3NlZCIgLS12ZXJzaW9uID4gIiR0ZXN0X2RpcmVj dG9yeS9vdXRwdXQiCiAJZ3JlcCAnR05VIHNlZCcgIiR0ZXN0X2RpcmVjdG9yeS9vdXRwdXQiCisJ dW5zZXQgR1VJWF9FWEVDVVRJT05fRU5HSU5FCiAKIAljaG1vZCAtUmYgK3cgIiR0ZXN0X2RpcmVj dG9yeSI7IHJtIC1yZiAiJHRlc3RfZGlyZWN0b3J5Ii8qCiAJOzsKQEAgLTExMSw4ICsxMTMsMzcg QEAgZXNhYwogdGFyYmFsbD0iYGd1aXggcGFjayAtUiAtUyAvc2hhcmU9c2hhcmUgZ3JvZmY6ZG9j YCIKIChjZCAiJHRlc3RfZGlyZWN0b3J5IjsgdGFyIHh2ZiAiJHRhcmJhbGwiKQogdGVzdCAtZCAi JHRlc3RfZGlyZWN0b3J5L3NoYXJlL2RvYy9ncm9mZi9odG1sIgorY2htb2QgLVJmICt3ICIkdGVz dF9kaXJlY3RvcnkiOyBybSAtcmYgIiR0ZXN0X2RpcmVjdG9yeSIvKgogCiAjIEVuc3VyZSAnLVIn IGFwcGxpZXMgdG8gcHJvcGFnYXRlZCBpbnB1dHMuICBGYWlsaW5nIHRvIGRvIHRoYXQsIGl0IHdv dWxkIGZhaWwKICMgd2l0aCBhIHByb2ZpbGUgY29sbGlzaW9uIGVycm9yIGluIHRoaXMgY2FzZSBi ZWNhdXNlICdweXRob24tc2NpcHknCiAjIHByb3BhZ2F0ZXMgJ3B5dGhvbi1udW1weScuICBTZWUg PGh0dHBzOi8vYnVncy5nbnUub3JnLzQyNTEwPi4KIGd1aXggcGFjayAtUlIgcHl0aG9uLW51bXB5 IHB5dGhvbi1zY2lweSAtLW5vLWdyYWZ0cyAtbgorCisjIENoZWNrIHRoYXQgcGFja2FnZXMgdGhh dCBtaXggZXhlY3V0YWJsZSBhbmQgc3VwcG9ydCBmaWxlcyAoZS5nLiBnaXQpIGluIHRoZQorIyAi YmluYXJ5IiBkaXJlY3RvcmllcyBzdGlsbCB3b3JrIGFmdGVyIHdyYXBwZWQuCitjYXQgPiIkdGVz dF9kaXJlY3RvcnkvbWFuaWZlc3Quc2NtIiA8PCdFT0YnCisodXNlLW1vZHVsZXMgKGd1aXgpIChn dWl4IHByb2ZpbGVzKQorICAgICAgICAgICAgIChnbnUgcGFja2FnZXMgYm9vdHN0cmFwKSkKKyht YW5pZmVzdAorIChsaXN0IChtYW5pZmVzdC1lbnRyeQorCShuYW1lICJ0ZXN0IikgKHZlcnNpb24g IjAiKQorCShpdGVtIChmaWxlLXVuaW9uICJ0ZXN0IgorCQkJICBgKCgiYmluL2hlbGxvIgorCQkJ ICAgICAsKHByb2dyYW0tZmlsZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJoZWxs byIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjfihmb3JtYXQgI3QgIn5kfiUiIChs b2FkICIuLi9saWJleGVjL21zZyIpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICM6 Z3VpbGUgJWJvb3RzdHJhcC1ndWlsZSkpCisJCQkgICAgKCJsaWJleGVjL21zZyIKKwkJCSAgICAg LChwbGFpbi1maWxlICJtc2ciICI0MiIpKSkpKSkpKQorRU9GCit0YXJiYWxsPSJgZ3VpeCBwYWNr ICRyZWxvY2F0YWJsZV9vcHRpb24gLVMgL29wdD0gLW0gJHRlc3RfZGlyZWN0b3J5L21hbmlmZXN0 LnNjbWAiCisoY2QgIiR0ZXN0X2RpcmVjdG9yeSI7IHRhciB4dmYgIiR0YXJiYWxsIikKK2RvX3Rl c3Q9JyIkdGVzdF9kaXJlY3Rvcnkvb3B0L2Jpbi9oZWxsbyIgPiIkdGVzdF9kaXJlY3Rvcnkvb3V0 cHV0IicKK2lmIHVuc2hhcmUgLXIgdHJ1ZQkJIyBBcmUgdXNlciBuYW1lc3BhY2VzIHN1cHBvcnRl ZD8KK3RoZW4KKyAgICB1bnNoYXJlIC1tcmYgc2ggLWMgJ21vdW50IC10IHRtcGZzIG5vbmUgIiRT VE9SRV9QQVJFTlQiOyAnIiRkb190ZXN0IgorZWxzZQorICAgICggJGRvX3Rlc3QgKQorZmkKK3Rl c3QgImBjYXQgJHRlc3RfZGlyZWN0b3J5L291dHB1dGAiID0gIjQyIgotLSAKMi4yNy4wCgo= --=-zd4jmApz0w1wfbOCBq0x-- From debbugs-submit-bounces@debbugs.gnu.org Wed Oct 21 01:10:13 2020 Received: (at 39807) by debbugs.gnu.org; 21 Oct 2020 05:10:13 +0000 Received: from localhost ([127.0.0.1]:47503 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kV6O4-0004pA-TQ for submit@debbugs.gnu.org; Wed, 21 Oct 2020 01:10:13 -0400 Received: from mout02.posteo.de ([185.67.36.66]:47745) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kV6O2-0004op-7r for 39807@debbugs.gnu.org; Wed, 21 Oct 2020 01:10:11 -0400 Received: from submission (posteo.de [89.146.220.130]) by mout02.posteo.de (Postfix) with ESMTPS id E65AF2400FC for <39807@debbugs.gnu.org>; Wed, 21 Oct 2020 07:10:03 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1603257003; bh=24trUx+xeV+X242O+nqoYHr8bxZuaFeCHZrtO9btjHQ=; h=Subject:From:To:Cc:Date:From; b=nrMliYqjMLzbfb+N4cHEST8rGFHksSKvM80Y1mgceFGIeCmcvWEkMQhOnG+q/b0lM lCBKobnJ0cTZ16FAtEfLs6p9n+uNIl5l90V8vXPvKI3jIzDQIh8DLzQBuKF6QEBpA1 T6kGpLP7gbb6Xkwk44yEJzkj3CyB2tfiBE43zJZrj+Q9Y1vZJCV1YkpcD8YwnqW3nO xrtDkC/yok/O2FpuYUO/RB3EwMiez/rDBUchnragr21iAgXE2NXdn2jtqsdb9JuW5t pUsUy+mIR7+9L1m6DOkRf4FCIvp98WIMXTpG4EEXh2wl9MP78Bq38gk3zzpTYA1Al/ mTZETOhRmrOPA== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4CGJTQ47XWz6tmn; Wed, 21 Oct 2020 07:10:02 +0200 (CEST) Message-ID: <83416910901e77b537b64de392ee02598ccd72ff.camel@posteo.net> Subject: Re: [bug#39807] [PATCH] guix: pack: Only wrap executable files. From: Eric Bavier To: 39807@debbugs.gnu.org Date: Wed, 21 Oct 2020 00:09:58 -0500 In-Reply-To: <3ace941f920d87da65de6e4fdc16add5b9725434.camel@posteo.net> References: <3ace941f920d87da65de6e4fdc16add5b9725434.camel@posteo.net> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.34.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 39807 Cc: Ludovic =?ISO-8859-1?Q?Court=E8s?= X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) On Mon, 2020-07-27 at 16:42 -0500, Eric Bavier wrote: > Call for help: the test does not pass! I get this error: > > hello: run.c:284: exec_in_user_namespace: Unexpected error: No such > file or directory. > > Could someone more familiar with user namespaces, etc help me work > this out? After following a helpful suggestion to try using `strace`, turns out the issue is not with user namespaces but mostly with string manipulation :) Apologies in advance for wall-of-text. $ unshare -mrf strace -s 80 -o trace -ff \ > sh -c 'mount -t tmpfs -o ro none "/gnu/store"; /tmp/pack-dir/opt/bin/hello' and in one the log file corresponding to the exec of the wrapper `hello` I see readlink("/proc/self/exe", "/tmp/pack-dir/gnu/store/80kbbxnzn3kgs1jkc6m6ydw2m44lnfaq-wrapperR/bin/hello", 4095) = 75 lstat("/gnu/store/zc92ghli8ws31qshf4bhzw1npzqhs4my-test/bin//hello", 0x7ffe308a4980) = -1 ENOENT (No such file or directory) and in the log corresponding to the child after forking in exec_in_user_namespace we see the call that leads to the above error: mount("/tmp/pack-dir/gnu/store/80", "/tmp/guix-exec-YMr7WJ//gnu/store", 0x4810a7, MS_RDONLY|MS_BIND|MS_REC, NULL) = -1 ENOENT (No such file or directory) write(2, "hello: run.c:284: exec_in_user_namespace: Unexpected error: No such file or dire"..., 87) = 87 So exec_in_user_namespace is trying to mount "/tmp/pack-dir/gnu/store/80", which is not a directory. In gnu/packages/aux-files/run-in-namespace.c:620-626 we try to calculate the name of the relocated store directory. So far this calculation seems to "accidentaly" work: /tmp/pack-dir/gnu/store/78xrsg1z...-emacs-no-x-27.1R/bin/emacs /gnu/store/w9csar3m...-emacs-no-x-27.1/bin//emacs The "R" suffix appended to the wrapper store directory name and the double-slash we get from find-files (c.f. guix/scripts/pack.scm:881) "cancel out". But we might not be so fortunate and can get something like this: | /tmp/pack-dir/gnu/store/80|kbbxnz...-wrapperR/bin/hello (self) /gnu/store|/zc92ghli...-test/bin//hello (@PROG@) /gnu/store| (original_store) | Because the manifest entry used in the tests added in this patch enters the "else" case of `wrapped-package` (c.f. guix/scripts/pack.scm:904) the index calculation strays and we get a non-directory mount point. I can make the test pass by using a slightly longer name of "testing" for the file-union :) I don't think we can enforce a stricter match between the wrapper and target store item names to ensure their lengths are the same, right? It seems like we maybe want to ignore @WRAPPED_PROGRAM@ and use only /proc/self/exe and original_store to find the relocated store directory? A regex search might be too costly. We could use strstr to search for the first occurrence of original_store, if we don't mind assuming that most people will probably not unpack into $HOME/.guix/gnu/store/mine/packs/foo e.g. --- a/gnu/packages/aux-files/run-in-namespace.c +++ b/gnu/packages/aux-files/run-in-namespace.c @@ -619,10 +619,8 @@ main (int argc, char *argv[]) /* SELF is something like "/home/ludo/.local/gnu/store/…-foo/bin/ls" and we want to extract "/home/ludo/.local/gnu/store". */ - size_t index = strlen (self) - - strlen ("@WRAPPED_PROGRAM@") + strlen (original_store); char *store = strdup (self); - store[index] = '\0'; + strstr (store, original_store)[sizeof original_store - 1] = '\0'; struct stat statbuf; WDYT? `~Eric From debbugs-submit-bounces@debbugs.gnu.org Wed Oct 21 05:07:21 2020 Received: (at 39807) by debbugs.gnu.org; 21 Oct 2020 09:07:21 +0000 Received: from localhost ([127.0.0.1]:47913 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kVA5Z-0004xq-HB for submit@debbugs.gnu.org; Wed, 21 Oct 2020 05:07:21 -0400 Received: from eggs.gnu.org ([209.51.188.92]:47864) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kVA5X-0004xb-4y for 39807@debbugs.gnu.org; Wed, 21 Oct 2020 05:07:19 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:44976) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kVA5R-000575-SG; Wed, 21 Oct 2020 05:07:13 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=43040 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1kVA5R-0008HL-GG; Wed, 21 Oct 2020 05:07:13 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Eric Bavier Subject: Re: [bug#39807] [PATCH] guix: pack: Only wrap executable files. References: <3ace941f920d87da65de6e4fdc16add5b9725434.camel@posteo.net> <83416910901e77b537b64de392ee02598ccd72ff.camel@posteo.net> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 30 =?utf-8?Q?Vend=C3=A9miaire?= an 229 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Wed, 21 Oct 2020 11:07:11 +0200 In-Reply-To: <83416910901e77b537b64de392ee02598ccd72ff.camel@posteo.net> (Eric Bavier's message of "Wed, 21 Oct 2020 00:09:58 -0500") Message-ID: <87wnzk7xs0.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 39807 Cc: 39807@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi Eric, Eric Bavier skribis: > In gnu/packages/aux-files/run-in-namespace.c:620-626 we try to calculate = the name of the relocated store directory. So > far this calculation seems to "accidentaly" work: > > /tmp/pack-dir/gnu/store/78xrsg1z...-emacs-no-x-27.1R/bin/emacs > /gnu/store/w9csar3m...-emacs-no-x-27.1/bin//emacs > > The "R" suffix appended to the wrapper store directory name and the doubl= e-slash we get from find-files (c.f. > guix/scripts/pack.scm:881) "cancel out". But we might not be so fortuna= te and can get something like this: > > | > /tmp/pack-dir/gnu/store/80|kbbxnz...-wrapperR/bin/hello (self) > /gnu/store|/zc92ghli...-test/bin//hello (@PROG@) > /gnu/store| (original_store) > | > > Because the manifest entry used in the tests added in this patch enters t= he "else" case of `wrapped-package` (c.f. > guix/scripts/pack.scm:904) the index calculation strays and we get a non-= directory mount point. I can make the test > pass by using a slightly longer name of "testing" for the file-union :) > > I don't think we can enforce a stricter match between the wrapper and tar= get store item names to ensure their lengths > are the same, right? It seems like we maybe want to ignore @WRAPPED_PROG= RAM@ and use only /proc/self/exe and > original_store to find the relocated store directory? A regex search mig= ht be too costly. We could use strstr to > search for the first occurrence of original_store, if we don't mind assum= ing that most people will probably not unpack > into $HOME/.guix/gnu/store/mine/packs/foo e.g. Good catch! This is embarrassing. Instead of searching for an occurrence of ORIGINAL_STORE, can=E2=80=99t we = use the file name of the wrapper (as opposed to WRAPPED_PROGRAM) in the index calculation? Along these lines: --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable diff --git a/gnu/packages/aux-files/run-in-namespace.c b/gnu/packages/aux-f= iles/run-in-namespace.c index 52a16a5362..947ff02dda 100644 --- a/gnu/packages/aux-files/run-in-namespace.c +++ b/gnu/packages/aux-files/run-in-namespace.c @@ -620,7 +620,7 @@ main (int argc, char *argv[]) /* SELF is something like "/home/ludo/.local/gnu/store/=E2=80=A6-foo/bin= /ls" and we want to extract "/home/ludo/.local/gnu/store". */ size_t index =3D strlen (self) - - strlen ("@WRAPPED_PROGRAM@") + strlen (original_store); + - strlen (WRAPPER_PROGRAM) + strlen (original_store); char *store =3D strdup (self); store[index] =3D '\0'; =20 diff --git a/guix/scripts/pack.scm b/guix/scripts/pack.scm index a5a70d5162..c353f50ced 100644 --- a/guix/scripts/pack.scm +++ b/guix/scripts/pack.scm @@ -856,6 +856,7 @@ last resort for relocation." (mkdir-p (dirname result)) (apply invoke #$compiler "-std=3Dgnu99" "-static" "-Os" "-g0= " "-Wall" "run.c" "-o" result + (string-append "-DWRAPPER_PROGRAM=3D\"" result "\"") (append (if proot (list (string-append "-DPROOT_PROGRAM=3D\= "" proot "\"")) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 DQpUaGFua3MsDQpMdWRv4oCZLg0K --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Wed Oct 21 11:12:28 2020 Received: (at 39807) by debbugs.gnu.org; 21 Oct 2020 15:12:28 +0000 Received: from localhost ([127.0.0.1]:50232 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kVFmt-0004LN-Pm for submit@debbugs.gnu.org; Wed, 21 Oct 2020 11:12:28 -0400 Received: from mout01.posteo.de ([185.67.36.65]:33083) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kVFmr-0004L8-K5 for 39807@debbugs.gnu.org; Wed, 21 Oct 2020 11:12:26 -0400 Received: from submission (posteo.de [89.146.220.130]) by mout01.posteo.de (Postfix) with ESMTPS id 75A94160064 for <39807@debbugs.gnu.org>; Wed, 21 Oct 2020 17:12:19 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1603293139; bh=yUfArOs3huv4h5jGZm+vjr5p6rbmt85VBVcNKE72uT0=; h=Subject:From:To:Cc:Date:From; b=ZA7lgQRQR2xzOeTjyHzVVlLDKbFDpOOFmSaaOju1+DyKtBxoL+PVCLEUsyPP7j9jf RxGERGxHs2DCjpX5a968Y/b8yQdmUYNE5TK81LyMFvhZSxRsWfELVUAONEZmZnLZrH HgRdgvBL65bFZDyh1SFXAATsTMW1pwqPmp9LYf4Z7irMuNv49lGsPSdKlWPfUvjImD DSas0jX+uzEGkaQnRoG4aoFGLrPk5mjOQKpFlBjgLNBm2pRGJeB+SH/u4qGqE7As9P xVnnx3lN8yCk9LDM3HIdeMp1cCTUK7Fn+gVyfkkfME3no/OIY+B6vDK4+KlFVXN7HR 4TanzP4z6InyA== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4CGYrL1lRfz6tp2; Wed, 21 Oct 2020 17:12:17 +0200 (CEST) Message-ID: <69f5446e2accd24cd1de9e3964373ab525b0875d.camel@posteo.net> Subject: Re: [bug#39807] [PATCH] guix: pack: Only wrap executable files. From: Eric Bavier To: Ludovic =?ISO-8859-1?Q?Court=E8s?= Date: Wed, 21 Oct 2020 10:12:14 -0500 In-Reply-To: <87wnzk7xs0.fsf@gnu.org> References: <3ace941f920d87da65de6e4fdc16add5b9725434.camel@posteo.net> <83416910901e77b537b64de392ee02598ccd72ff.camel@posteo.net> <87wnzk7xs0.fsf@gnu.org> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.34.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 39807 Cc: 39807@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hi Ludo, On Wed, 2020-10-21 at 11:07 +0200, Ludovic Courtès wrote: > Hi Eric, > > Instead of searching for an occurrence of ORIGINAL_STORE, can’t we use > the file name of the wrapper (as opposed to WRAPPED_PROGRAM) in the > index calculation? Along these lines: Good idea, I hadn't considered that we know the destination of the wrapper in advance. This works as long as we make sure "result" is in canonical form, e.g. no repeated separators, because /proc/self/exe is in canonical form: diff --git a/gnu/packages/aux-files/run-in-namespace.c b/gnu/packages/aux-files/run-in-namespace.c index 52a16a5362..947ff02dda 100644 --- a/gnu/packages/aux-files/run-in-namespace.c +++ b/gnu/packages/aux-files/run-in-namespace.c @@ -620,7 +620,7 @@ main (int argc, char *argv[]) /* SELF is something like "/home/ludo/.local/gnu/store/…-foo/bin/ls" and we want to extract "/home/ludo/.local/gnu/store". */ size_t index = strlen (self) - - strlen ("@WRAPPED_PROGRAM@") + strlen (original_store); + - strlen (WRAPPER_PROGRAM) + strlen (original_store); char *store = strdup (self); store[index] = '\0'; diff --git a/guix/scripts/pack.scm b/guix/scripts/pack.scm index ac578aa965..8106031d6d 100644 --- a/guix/scripts/pack.scm +++ b/guix/scripts/pack.scm @@ -776,6 +776,10 @@ last resort for relocation." (#f base) (index (string-drop base index))))) + (define (find-input-files dir) + ;; Note: Use 'stat' so that symlinks are followed. + (find-files (string-append input "/" dir) #:stat stat)) + (define (elf-interpreter elf) ;; Return the interpreter of ELF as a string, or #f if ELF has no ;; interpreter segment. @@ -849,7 +853,7 @@ last resort for relocation." (("@STORE_DIRECTORY@") (%store-directory))) (let* ((base (strip-store-prefix program)) - (result (string-append target "/" base)) + (result (string-append target base)) (proot #$(and proot? #~(string-drop #$(file-append (proot) "/bin/proot") @@ -858,6 +862,7 @@ last resort for relocation." (mkdir-p (dirname result)) (apply invoke #$compiler "-std=gnu99" "-static" "-Os" "-g0" "-Wall" "run.c" "-o" result + (string-append "-DWRAPPER_PROGRAM=\"" result "\"") (append (if proot (list (string-append "-DPROOT_PROGRAM=\"" proot "\"")) @@ -878,10 +883,9 @@ last resort for relocation." (receive (executables others) (partition executable-file? - ;; Note: Trailing slash in case these are symlinks. - (append (find-files (string-append input "/bin/")) - (find-files (string-append input "/sbin/")) - (find-files (string-append input "/libexec/")))) + (append (find-input-files "bin") + (find-input-files "sbin") + (find-input-files "libexec"))) ;; Wrap only executables, since the wrapper will eventually need ;; to execve them. E.g. git's "libexec" directory contains many ;; shell scripts that are source'd from elsewhere, which fails if From debbugs-submit-bounces@debbugs.gnu.org Wed Oct 21 11:35:37 2020 Received: (at 39807) by debbugs.gnu.org; 21 Oct 2020 15:35:37 +0000 Received: from localhost ([127.0.0.1]:50269 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kVG9J-0004wm-CQ for submit@debbugs.gnu.org; Wed, 21 Oct 2020 11:35:37 -0400 Received: from eggs.gnu.org ([209.51.188.92]:34800) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kVG9I-0004wS-BH for 39807@debbugs.gnu.org; Wed, 21 Oct 2020 11:35:36 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:51280) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kVG9C-0005Km-RC; Wed, 21 Oct 2020 11:35:31 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=43836 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1kVG99-0003Z0-Lc; Wed, 21 Oct 2020 11:35:28 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Eric Bavier Subject: Re: [bug#39807] [PATCH] guix: pack: Only wrap executable files. References: <3ace941f920d87da65de6e4fdc16add5b9725434.camel@posteo.net> <83416910901e77b537b64de392ee02598ccd72ff.camel@posteo.net> <87wnzk7xs0.fsf@gnu.org> <69f5446e2accd24cd1de9e3964373ab525b0875d.camel@posteo.net> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 30 =?utf-8?Q?Vend=C3=A9miaire?= an 229 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Wed, 21 Oct 2020 17:35:26 +0200 In-Reply-To: <69f5446e2accd24cd1de9e3964373ab525b0875d.camel@posteo.net> (Eric Bavier's message of "Wed, 21 Oct 2020 10:12:14 -0500") Message-ID: <87pn5b383l.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 39807 Cc: 39807@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hi Eric, Eric Bavier skribis: > On Wed, 2020-10-21 at 11:07 +0200, Ludovic Court=C3=A8s wrote: >> Hi Eric, >>=20 >> Instead of searching for an occurrence of ORIGINAL_STORE, can=E2=80=99t = we use >> the file name of the wrapper (as opposed to WRAPPED_PROGRAM) in the >> index calculation? Along these lines: > > Good idea, I hadn't considered that we know the destination of the > wrapper in advance.=20=20 > > This works as long as we make sure "result" is in canonical form, e.g. > no repeated separators, because /proc/self/exe is in canonical form: Good point. > (mkdir-p (dirname result)) > (apply invoke #$compiler "-std=3Dgnu99" "-static" "-Os" "-= g0" "-Wall" > "run.c" "-o" result > + (string-append "-DWRAPPER_PROGRAM=3D\"" result "\"") Can we just write (canonical-path result) here? That way we wouldn=E2=80= =99t need =E2=80=98find-input-files=E2=80=99 and related changes. Thanks, Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Wed Oct 21 12:22:10 2020 Received: (at 39807) by debbugs.gnu.org; 21 Oct 2020 16:22:11 +0000 Received: from localhost ([127.0.0.1]:50344 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kVGsM-0006Ac-N5 for submit@debbugs.gnu.org; Wed, 21 Oct 2020 12:22:10 -0400 Received: from mout02.posteo.de ([185.67.36.66]:36173) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kVGsL-0006AO-3q for 39807@debbugs.gnu.org; Wed, 21 Oct 2020 12:22:09 -0400 Received: from submission (posteo.de [89.146.220.130]) by mout02.posteo.de (Postfix) with ESMTPS id E4A0E2400FE for <39807@debbugs.gnu.org>; Wed, 21 Oct 2020 18:22:02 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1603297322; bh=qwGmpiLE2wtyacP7hEprxe7iJklKBsyNQPukpbRGXnE=; h=Subject:From:To:Cc:Date:From; b=GiaDVvs7/86W3xBD7I48QHVDY6Z24ejjAEC05ozcWWCdZKrtPPocd9lEuVyUHm9ZT TQgVxTEZ0NgbjqSJurjIdFCVoMADkPTNIiJEcOSNX/WyOVPvwCtm3xtnFoudnzXV5j WIJ+y96p6vrJfhW6UUbodVx8Yc/egYUivR4ulKdBQiYLoi0J2RymdizVViEoHAEH4i laDcQoaq9fjKC+VwyoDGZrVv0jByck3gek6vRfBLqmM35u+/c2t4HOy0dFVEc/trRv mryFfVIiK+Cd7mG+79eyyMDXvlQ9FoRwMZfA2eIjtdvpf1c8+r6CUsknBmyQpefnSb 3Nb1k45QUydUA== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4CGbNn6hBWz6tn7; Wed, 21 Oct 2020 18:22:01 +0200 (CEST) Message-ID: <48f280214fca0f8bd17aeff46c42ee76a04c90f2.camel@posteo.net> Subject: Re: [bug#39807] [PATCH] guix: pack: Only wrap executable files. From: Eric Bavier To: Ludovic =?ISO-8859-1?Q?Court=E8s?= Date: Wed, 21 Oct 2020 11:21:57 -0500 In-Reply-To: <87pn5b383l.fsf@gnu.org> References: <3ace941f920d87da65de6e4fdc16add5b9725434.camel@posteo.net> <83416910901e77b537b64de392ee02598ccd72ff.camel@posteo.net> <87wnzk7xs0.fsf@gnu.org> <69f5446e2accd24cd1de9e3964373ab525b0875d.camel@posteo.net> <87pn5b383l.fsf@gnu.org> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.34.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 39807 Cc: 39807@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) On Wed, 2020-10-21 at 17:35 +0200, Ludovic Courtès wrote: > Hi Eric, > > Eric Bavier skribis: > > > (mkdir-p (dirname result)) > > (apply invoke #$compiler "-std=gnu99" "-static" "-Os" "-g0" "-Wall" > > "run.c" "-o" result > > + (string-append "-DWRAPPER_PROGRAM=\"" result "\"") > > Can we just write (canonical-path result) here? That way we wouldn’t > need ‘find-input-files’ and related changes. > Guile's canonicalize-path will raise and error if the path does not already exist. We could create a dummy file at result, then call canonicalize-path? but that seems clumsier than forming a canonical name in the first place? `~Eric From debbugs-submit-bounces@debbugs.gnu.org Wed Oct 21 17:31:30 2020 Received: (at 39807) by debbugs.gnu.org; 21 Oct 2020 21:31:30 +0000 Received: from localhost ([127.0.0.1]:50749 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kVLhh-0005mm-SA for submit@debbugs.gnu.org; Wed, 21 Oct 2020 17:31:30 -0400 Received: from eggs.gnu.org ([209.51.188.92]:41002) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kVLhf-0005mK-Qa for 39807@debbugs.gnu.org; Wed, 21 Oct 2020 17:31:28 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:57917) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kVLha-0002cA-8T; Wed, 21 Oct 2020 17:31:22 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=45832 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1kVLhU-00045G-Pm; Wed, 21 Oct 2020 17:31:18 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Eric Bavier Subject: Re: [bug#39807] [PATCH] guix: pack: Only wrap executable files. References: <3ace941f920d87da65de6e4fdc16add5b9725434.camel@posteo.net> <83416910901e77b537b64de392ee02598ccd72ff.camel@posteo.net> <87wnzk7xs0.fsf@gnu.org> <69f5446e2accd24cd1de9e3964373ab525b0875d.camel@posteo.net> <87pn5b383l.fsf@gnu.org> <48f280214fca0f8bd17aeff46c42ee76a04c90f2.camel@posteo.net> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 30 =?utf-8?Q?Vend=C3=A9miaire?= an 229 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Wed, 21 Oct 2020 23:31:13 +0200 In-Reply-To: <48f280214fca0f8bd17aeff46c42ee76a04c90f2.camel@posteo.net> (Eric Bavier's message of "Wed, 21 Oct 2020 11:21:57 -0500") Message-ID: <87mu0fxo4e.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 39807 Cc: 39807@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hi, Eric Bavier skribis: > On Wed, 2020-10-21 at 17:35 +0200, Ludovic Court=C3=A8s wrote: >> Hi Eric, >>=20 >> Eric Bavier skribis: >>=20 >> > (mkdir-p (dirname result)) >> > (apply invoke #$compiler "-std=3Dgnu99" "-static" "-Os"= "-g0" "-Wall" >> > "run.c" "-o" result >> > + (string-append "-DWRAPPER_PROGRAM=3D\"" result "= \"") >>=20 >> Can we just write (canonical-path result) here? That way we wouldn=E2= =80=99t >> need =E2=80=98find-input-files=E2=80=99 and related changes. >>=20 > > Guile's canonicalize-path will raise and error if the path does not > already exist. We could create a dummy file at result, then call > canonicalize-path? but that seems clumsier than forming a canonical > name in the first place? Oh you=E2=80=99re right, sorry. The patch you sent has =E2=80=98find-files=E2=80=99 use =E2=80=98stat=E2=80= =99 instead of the trailing slash. It introduces a difference: by using =E2=80=98stat=E2=80=99 all the= way, it follows all symlinks, not just the higher-level ones. I don=E2=80=99t know= if this could have undesired implications, like wrapping the same file twice because there=E2=80=99s a symlink pointing to it. (Or am I too paran= oid?) To be on the safe side, we could write: (string-append (canonical-path (dirname) result) "/" result) WDYT? Thanks, Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Wed Oct 21 19:51:52 2020 Received: (at 39807) by debbugs.gnu.org; 21 Oct 2020 23:51:52 +0000 Received: from localhost ([127.0.0.1]:50880 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kVNtT-0000sP-Cq for submit@debbugs.gnu.org; Wed, 21 Oct 2020 19:51:52 -0400 Received: from mout01.posteo.de ([185.67.36.65]:56095) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kVNtP-0000s5-9R for 39807@debbugs.gnu.org; Wed, 21 Oct 2020 19:51:45 -0400 Received: from submission (posteo.de [89.146.220.130]) by mout01.posteo.de (Postfix) with ESMTPS id 0C2B516005C for <39807@debbugs.gnu.org>; Thu, 22 Oct 2020 01:51:36 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1603324297; bh=AiZzfEULFg/kD3PSh00A4xwUD2wGU+uQqatdwQV8M34=; h=Subject:From:To:Cc:Date:From; b=oAxNm+ZCS5RnbjmJ16zToCkAlu5o+OmKhYZrsYccdYyE/wMEo85wW74tLWHYQ+ZBR OOf2VnzPyRtLDtzr+QM3UKBTWe/VEFM0T7d+rJB4Y2R51eqYuGZIjuQdoP/XwUQyod YNpLAXWyZF0jZC5vnZIGRrsRL5YD+3te3JzMFIGag3YynlOuhJqEqt9QiqgoivL9uC ewZ30AFlsMCPJYLaD+tzT4x5IwJuX7lPXT2pkaO3dNmyr+jM+L0TLfD6fJ01naikWX e/+m+rvLJTcS3Qx85Vu9O7BlcQARkMkbPPHLvk2sQvaKHuIuDrcbqhdqFzWU6FOK7o 7REEJA0eSh95w== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4CGnMW65Z6z6tmf; Thu, 22 Oct 2020 01:51:35 +0200 (CEST) Message-ID: Subject: Re: [bug#39807] [PATCH] guix: pack: Only wrap executable files. From: Eric Bavier To: Ludovic =?ISO-8859-1?Q?Court=E8s?= Date: Wed, 21 Oct 2020 18:51:31 -0500 In-Reply-To: <87mu0fxo4e.fsf@gnu.org> References: <3ace941f920d87da65de6e4fdc16add5b9725434.camel@posteo.net> <83416910901e77b537b64de392ee02598ccd72ff.camel@posteo.net> <87wnzk7xs0.fsf@gnu.org> <69f5446e2accd24cd1de9e3964373ab525b0875d.camel@posteo.net> <87pn5b383l.fsf@gnu.org> <48f280214fca0f8bd17aeff46c42ee76a04c90f2.camel@posteo.net> <87mu0fxo4e.fsf@gnu.org> Content-Type: multipart/mixed; boundary="=-wNcb9CCvVcBOKsfw/AyM" User-Agent: Evolution 3.34.2 MIME-Version: 1.0 X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 39807 Cc: 39807@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --=-wNcb9CCvVcBOKsfw/AyM Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit On Wed, 2020-10-21 at 23:31 +0200, Ludovic Courtès wrote: > Hi, > > Eric Bavier skribis: > > > On Wed, 2020-10-21 at 17:35 +0200, Ludovic Courtès wrote: > > > Hi Eric, > > > > > > Eric Bavier skribis: > > > > > > > (mkdir-p (dirname result)) > > > > (apply invoke #$compiler "-std=gnu99" "-static" "-Os" "-g0" "-Wall" > > > > "run.c" "-o" result > > > > + (string-append "-DWRAPPER_PROGRAM=\"" result "\"") > > > > > > Can we just write (canonical-path result) here? That way we wouldn’t > > > need ‘find-input-files’ and related changes. > > > > > > > Guile's canonicalize-path will raise and error if the path does not > > already exist. We could create a dummy file at result, then call > > canonicalize-path? but that seems clumsier than forming a canonical > > name in the first place? > > The patch you sent has ‘find-files’ use ‘stat’ instead of the trailing > slash. It introduces a difference: by using ‘stat’ all the way, it > follows all symlinks, not just the higher-level ones. I don’t know if > this could have undesired implications, like wrapping the same file > twice because there’s a symlink pointing to it. (Or am I too paranoid?) > > To be on the safe side, we could write: > > (string-append (canonical-path (dirname) result) "/" result) > > WDYT? I don't like the "stat" change either. Paranoia is not misplaced, I think. Following are current two patches. I can add copyright to run-in- namespace.c if you think it's needed. `~Eric --=-wNcb9CCvVcBOKsfw/AyM Content-Disposition: attachment; filename*0=0001-guix-pack-Fix-offset-calculation-for-store-directory.pat; filename*1=ch Content-Transfer-Encoding: base64 Content-Type: text/x-patch; name="0001-guix-pack-Fix-offset-calculation-for-store-directory.patch"; charset="UTF-8" RnJvbSA3Y2FhZWEwYjIxZTViOTc4MzZiMWE0MGE0NGVmZDJmMzhkYmFiN2FlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBFcmljIEJhdmllciA8YmF2aWVyQG1lbWJlci5mc2Yub3JnPgpE YXRlOiBXZWQsIDIxIE9jdCAyMDIwIDE4OjMzOjUyIC0wNTAwClN1YmplY3Q6IFtQQVRDSCAxLzJd IGd1aXg6IHBhY2s6IEZpeCBvZmZzZXQgY2FsY3VsYXRpb24gZm9yIHN0b3JlIGRpcmVjdG9yeQog bW91bnQgcG9pbnQuCgpGaXhlcyB3cmFwcGluZyBvZiBub24tcGFja2FnZSB0aGluZ3MsIHdoZXJl IHRoZSB0YXJnZXQgc3RvcmUgZGlyZWN0b3J5IG1heQpkaWZmZXIgaW4gbGVuZ3RoIGZyb20gdGhl IG9yaWdpbmFsLgoKKiBndWl4L3NjcmlwdHMvcGFjay5zY20gKHdyYXBwZWQtcGFja2FnZSk8YnVp bGQtd3JhcHBlcj46IERlZmluZQpXUkFQUEVSX1BST0dSQU0gbWFjcm8gd2l0aCB3cmFwcGVyJ3Mg ZmlsZSBuYW1lLgoqIGdudS9wYWNrYWdlcy9hdXgtZmlsZXMvcnVuLWluLW5hbWVzcGFjZS5jICht YWluKTogT2Zmc2V0IGluZGV4IGJ5IGxlbiBvZgp0aGF0IGZpbGUgbmFtZS4KLS0tCiBnbnUvcGFj a2FnZXMvYXV4LWZpbGVzL3J1bi1pbi1uYW1lc3BhY2UuYyB8IDIgKy0KIGd1aXgvc2NyaXB0cy9w YWNrLnNjbSAgICAgICAgICAgICAgICAgICAgIHwgNiArKysrKy0KIDIgZmlsZXMgY2hhbmdlZCwg NiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2dudS9wYWNrYWdl cy9hdXgtZmlsZXMvcnVuLWluLW5hbWVzcGFjZS5jIGIvZ251L3BhY2thZ2VzL2F1eC1maWxlcy9y dW4taW4tbmFtZXNwYWNlLmMKaW5kZXggNTJhMTZhNTM2Mi4uOTQ3ZmYwMmRkYSAxMDA2NDQKLS0t IGEvZ251L3BhY2thZ2VzL2F1eC1maWxlcy9ydW4taW4tbmFtZXNwYWNlLmMKKysrIGIvZ251L3Bh Y2thZ2VzL2F1eC1maWxlcy9ydW4taW4tbmFtZXNwYWNlLmMKQEAgLTYyMCw3ICs2MjAsNyBAQCBt YWluIChpbnQgYXJnYywgY2hhciAqYXJndltdKQogICAvKiBTRUxGIGlzIHNvbWV0aGluZyBsaWtl ICIvaG9tZS9sdWRvLy5sb2NhbC9nbnUvc3RvcmUv4oCmLWZvby9iaW4vbHMiIGFuZCB3ZQogICAg ICB3YW50IHRvIGV4dHJhY3QgIi9ob21lL2x1ZG8vLmxvY2FsL2dudS9zdG9yZSIuICAqLwogICBz aXplX3QgaW5kZXggPSBzdHJsZW4gKHNlbGYpCi0gICAgLSBzdHJsZW4gKCJAV1JBUFBFRF9QUk9H UkFNQCIpICsgc3RybGVuIChvcmlnaW5hbF9zdG9yZSk7CisgICAgLSBzdHJsZW4gKFdSQVBQRVJf UFJPR1JBTSkgKyBzdHJsZW4gKG9yaWdpbmFsX3N0b3JlKTsKICAgY2hhciAqc3RvcmUgPSBzdHJk dXAgKHNlbGYpOwogICBzdG9yZVtpbmRleF0gPSAnXDAnOwogCmRpZmYgLS1naXQgYS9ndWl4L3Nj cmlwdHMvcGFjay5zY20gYi9ndWl4L3NjcmlwdHMvcGFjay5zY20KaW5kZXggYTVhNzBkNTE2Mi4u ZjAyZjM2NjJhNSAxMDA2NDQKLS0tIGEvZ3VpeC9zY3JpcHRzL3BhY2suc2NtCisrKyBiL2d1aXgv c2NyaXB0cy9wYWNrLnNjbQpAQCAtNSw2ICs1LDcgQEAKIDs7OyBDb3B5cmlnaHQgwqkgMjAxOCBD aHJpcyBNYXJ1c2ljaCA8Y21tYXJ1c2ljaEBnbWFpbC5jb20+CiA7OzsgQ29weXJpZ2h0IMKpIDIw MTggRWZyYWltIEZsYXNobmVyIDxlZnJhaW1AZmxhc2huZXIuY28uaWw+CiA7OzsgQ29weXJpZ2h0 IMKpIDIwMjAgVG9iaWFzIEdlZXJpbmNreC1SaWNlIDxtZUB0b2JpYXMuZ3I+Cis7OzsgQ29weXJp Z2h0IMKpIDIwMjAgRXJpYyBCYXZpZXIgPGJhdmllckBwb3N0ZW8ubmV0PgogOzs7CiA7OzsgVGhp cyBmaWxlIGlzIHBhcnQgb2YgR05VIEd1aXguCiA7OzsKQEAgLTg0Nyw3ICs4NDgsNyBAQCBsYXN0 IHJlc29ydCBmb3IgcmVsb2NhdGlvbi4iCiAgICAgICAgICAgICAgICgoIkBTVE9SRV9ESVJFQ1RP UllAIikgKCVzdG9yZS1kaXJlY3RvcnkpKSkKIAogICAgICAgICAgICAgKGxldCogKChiYXNlICAg KHN0cmlwLXN0b3JlLXByZWZpeCBwcm9ncmFtKSkKLSAgICAgICAgICAgICAgICAgICAocmVzdWx0 IChzdHJpbmctYXBwZW5kIHRhcmdldCAiLyIgYmFzZSkpCisgICAgICAgICAgICAgICAgICAgKHJl c3VsdCAoc3RyaW5nLWFwcGVuZCB0YXJnZXQgYmFzZSkpCiAgICAgICAgICAgICAgICAgICAgKHBy b290ICAjJChhbmQgcHJvb3Q/CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI34o c3RyaW5nLWRyb3AKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjJChmaWxl LWFwcGVuZCAocHJvb3QpICIvYmluL3Byb290IikKQEAgLTg1Niw2ICs4NTcsOSBAQCBsYXN0IHJl c29ydCBmb3IgcmVsb2NhdGlvbi4iCiAgICAgICAgICAgICAgIChta2Rpci1wIChkaXJuYW1lIHJl c3VsdCkpCiAgICAgICAgICAgICAgIChhcHBseSBpbnZva2UgIyRjb21waWxlciAiLXN0ZD1nbnU5 OSIgIi1zdGF0aWMiICItT3MiICItZzAiICItV2FsbCIKICAgICAgICAgICAgICAgICAgICAgICJy dW4uYyIgIi1vIiByZXN1bHQKKyAgICAgICAgICAgICAgICAgICAgIChzdHJpbmctYXBwZW5kICIt RFdSQVBQRVJfUFJPR1JBTT1cIiIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IChjYW5vbmljYWxpemUtcGF0aCAoZGlybmFtZSByZXN1bHQpKSAiLyIKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChiYXNlbmFtZSByZXN1bHQpICJcIiIpCiAgICAgICAgICAg ICAgICAgICAgICAoYXBwZW5kIChpZiBwcm9vdAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKGxpc3QgKHN0cmluZy1hcHBlbmQgIi1EUFJPT1RfUFJPR1JBTT1cIiIKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb290ICJcIiIp KQotLSAKMi4yOC4wCgo= --=-wNcb9CCvVcBOKsfw/AyM Content-Disposition: attachment; filename="0002-guix-pack-Only-wrap-executable-files.patch" Content-Transfer-Encoding: base64 Content-Type: text/x-patch; name="0002-guix-pack-Only-wrap-executable-files.patch"; charset="UTF-8" RnJvbSA4NWJkOTYyZTkyOTkyNGIwMTZhODVkM2EwYjNkZmY0MzRlYmU4ZGUzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBFcmljIEJhdmllciA8YmF2aWVyQG1lbWJlci5mc2Yub3JnPgpE YXRlOiBNb24sIDI0IEZlYiAyMDIwIDIzOjQ3OjAyIC0wNjAwClN1YmplY3Q6IFtQQVRDSCAyLzJd IGd1aXg6IHBhY2s6IE9ubHkgd3JhcCBleGVjdXRhYmxlIGZpbGVzLgoKKiBndWl4L3NjcmlwdHMv cGFjay5zY20gKHdyYXBwZWQtcGFja2FnZSk8YnVpbGQ+OiBCdWlsZCB3cmFwcGVycyBmb3IKZXhl Y3V0YWJsZSBmaWxlcyBhbmQgc3ltbGluayBvdGhlcnMuCiogdGVzdHMvZ3VpeC1wYWNrLXJlbG9j YXRhYmxlLnNoOiBUZXN0IHJlbG9jYXRhYmxlIGV4YW1wbGUgb2YgbWl4ZWQKZXhlY3V0YWJsZSBh bmQgbm9uLWV4ZWN1dGFibGUgZmlsZXMuCi0tLQogZ3VpeC9zY3JpcHRzL3BhY2suc2NtICAgICAg ICAgIHwgMzAgKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tCiB0ZXN0cy9ndWl4LXBhY2st cmVsb2NhdGFibGUuc2ggfCAyNSArKysrKysrKysrKysrKysrKysrKysrKysrCiAyIGZpbGVzIGNo YW5nZWQsIDQ2IGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZ3Vp eC9zY3JpcHRzL3BhY2suc2NtIGIvZ3VpeC9zY3JpcHRzL3BhY2suc2NtCmluZGV4IGYwMmYzNjYy YTUuLjhlNjk0ZWRiYmUgMTAwNjQ0Ci0tLSBhL2d1aXgvc2NyaXB0cy9wYWNrLnNjbQorKysgYi9n dWl4L3NjcmlwdHMvcGFjay5zY20KQEAgLTc0OSwxMiArNzQ5LDEzIEBAIGxhc3QgcmVzb3J0IGZv ciByZWxvY2F0aW9uLiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChndWl4IGVsZikp KQogICAgICAgI34oYmVnaW4KICAgICAgICAgICAodXNlLW1vZHVsZXMgKGd1aXggYnVpbGQgdXRp bHMpCi0gICAgICAgICAgICAgICAgICAgICAgICgoZ3VpeCBidWlsZCB1bmlvbikgIzpzZWxlY3Qg KHJlbGF0aXZlLWZpbGUtbmFtZSkpCisgICAgICAgICAgICAgICAgICAgICAgICgoZ3VpeCBidWls ZCB1bmlvbikgIzpzZWxlY3QgKHN5bWxpbmstcmVsYXRpdmUpKQogICAgICAgICAgICAgICAgICAg ICAgICAoZ3VpeCBlbGYpCiAgICAgICAgICAgICAgICAgICAgICAgIChndWl4IGJ1aWxkIGdyZW1s aW4pCiAgICAgICAgICAgICAgICAgICAgICAgIChpY2UtOSBiaW5hcnktcG9ydHMpCiAgICAgICAg ICAgICAgICAgICAgICAgIChpY2UtOSBmdHcpCiAgICAgICAgICAgICAgICAgICAgICAgIChpY2Ut OSBtYXRjaCkKKyAgICAgICAgICAgICAgICAgICAgICAgKGljZS05IHJlY2VpdmUpCiAgICAgICAg ICAgICAgICAgICAgICAgIChzcmZpIHNyZmktMSkKICAgICAgICAgICAgICAgICAgICAgICAgKHJu cnMgYnl0ZXZlY3RvcnMpKQogCkBAIC04NzQsMTYgKzg3NSwyNyBAQCBsYXN0IHJlc29ydCBmb3Ig cmVsb2NhdGlvbi4iCiAgICAgICAgICAgKG1rZGlyIHRhcmdldCkKICAgICAgICAgICAoZm9yLWVh Y2ggKGxhbWJkYSAoZmlsZSkKICAgICAgICAgICAgICAgICAgICAgICAodW5sZXNzIChtZW1iZXIg ZmlsZSAnKCIuIiAiLi4iICJiaW4iICJzYmluIiAibGliZXhlYyIpKQotICAgICAgICAgICAgICAg ICAgICAgICAgKGxldCAoKGZpbGUqIChzdHJpbmctYXBwZW5kIGlucHV0ICIvIiBmaWxlKSkpCi0g ICAgICAgICAgICAgICAgICAgICAgICAgIChzeW1saW5rIChyZWxhdGl2ZS1maWxlLW5hbWUgdGFy Z2V0IGZpbGUqKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3RyaW5nLWFw cGVuZCB0YXJnZXQgIi8iIGZpbGUpKSkpKQorICAgICAgICAgICAgICAgICAgICAgICAgKHN5bWxp bmstcmVsYXRpdmUgKHN0cmluZy1hcHBlbmQgaW5wdXQgICIvIiBmaWxlKQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN0cmluZy1hcHBlbmQgdGFyZ2V0ICIvIiBm aWxlKSkpKQogICAgICAgICAgICAgICAgICAgICAoc2NhbmRpciBpbnB1dCkpCiAKLSAgICAgICAg ICAoZm9yLWVhY2ggYnVpbGQtd3JhcHBlcgotICAgICAgICAgICAgICAgICAgICA7OyBOb3RlOiBU cmFpbGluZyBzbGFzaCBpbiBjYXNlIHRoZXNlIGFyZSBzeW1saW5rcy4KLSAgICAgICAgICAgICAg ICAgICAgKGFwcGVuZCAoZmluZC1maWxlcyAoc3RyaW5nLWFwcGVuZCBpbnB1dCAiL2Jpbi8iKSkK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZmluZC1maWxlcyAoc3RyaW5nLWFwcGVuZCBp bnB1dCAiL3NiaW4vIikpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZpbmQtZmlsZXMg KHN0cmluZy1hcHBlbmQgaW5wdXQgIi9saWJleGVjLyIpKSkpKSkpCisgICAgICAgICAgKHJlY2Vp dmUgKGV4ZWN1dGFibGVzIG90aGVycykKKyAgICAgICAgICAgICAgKHBhcnRpdGlvbiBleGVjdXRh YmxlLWZpbGU/CisJCQkgOzsgTm90ZTogVHJhaWxpbmcgc2xhc2ggaW4gY2FzZSB0aGVzZSBhcmUg c3ltbGlua3MuCisgICAgICAgICAgICAgICAgICAgICAgICAgKGFwcGVuZCAoZmluZC1maWxlcyAo c3RyaW5nLWFwcGVuZCBpbnB1dCAiL2Jpbi8iKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChmaW5kLWZpbGVzIChzdHJpbmctYXBwZW5kIGlucHV0ICIvc2Jpbi8iKSkKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmaW5kLWZpbGVzIChzdHJpbmctYXBwZW5kIGlu cHV0ICIvbGliZXhlYy8iKSkpKQorICAgICAgICAgICAgOzsgV3JhcCBvbmx5IGV4ZWN1dGFibGVz LCBzaW5jZSB0aGUgd3JhcHBlciB3aWxsIGV2ZW50dWFsbHkgbmVlZAorICAgICAgICAgICAgOzsg dG8gZXhlY3ZlIHRoZW0uICBFLmcuIGdpdCdzICJsaWJleGVjIiBkaXJlY3RvcnkgY29udGFpbnMg bWFueQorICAgICAgICAgICAgOzsgc2hlbGwgc2NyaXB0cyB0aGF0IGFyZSBzb3VyY2UnZCBmcm9t IGVsc2V3aGVyZSwgd2hpY2ggZmFpbHMgaWYKKyAgICAgICAgICAgIDs7IHRoZXkgYXJlIHdyYXBw ZWQuCisgICAgICAgICAgICAoZm9yLWVhY2ggYnVpbGQtd3JhcHBlciBleGVjdXRhYmxlcykKKyAg ICAgICAgICAgIDs7IExpbmsgYW55IG90aGVyIG5vbi1leGVjdXRhYmxlIGZpbGVzCisgICAgICAg ICAgICAoZm9yLWVhY2ggKGxhbWJkYSAob2xkKQorICAgICAgICAgICAgICAgICAgICAgICAgKGxl dCAoKG5ldyAoc3RyaW5nLWFwcGVuZCB0YXJnZXQgKHN0cmlwLXN0b3JlLXByZWZpeCBvbGQpKSkp CisgICAgICAgICAgICAgICAgICAgICAgICAgIChta2Rpci1wIChkaXJuYW1lIG5ldykpCisgICAg ICAgICAgICAgICAgICAgICAgICAgIChzeW1saW5rLXJlbGF0aXZlIG9sZCBuZXcpKSkKKyAgICAg ICAgICAgICAgICAgICAgICBvdGhlcnMpKSkpKQogCiAgIChjb21wdXRlZC1maWxlIChzdHJpbmct YXBwZW5kCiAgICAgICAgICAgICAgICAgICAoY29uZCAoKHBhY2thZ2U/IHBhY2thZ2UpCmRpZmYg LS1naXQgYS90ZXN0cy9ndWl4LXBhY2stcmVsb2NhdGFibGUuc2ggYi90ZXN0cy9ndWl4LXBhY2st cmVsb2NhdGFibGUuc2gKaW5kZXggYTk2MGVjZDIwOS4uNWFjOGNkYzcxOCAxMDA2NDQKLS0tIGEv dGVzdHMvZ3VpeC1wYWNrLXJlbG9jYXRhYmxlLnNoCisrKyBiL3Rlc3RzL2d1aXgtcGFjay1yZWxv Y2F0YWJsZS5zaApAQCAtMSw1ICsxLDYgQEAKICMgR05VIEd1aXggLS0tIEZ1bmN0aW9uYWwgcGFj a2FnZSBtYW5hZ2VtZW50IGZvciBHTlUKICMgQ29weXJpZ2h0IMKpIDIwMTgsIDIwMTksIDIwMjAg THVkb3ZpYyBDb3VydMOocyA8bHVkb0BnbnUub3JnPgorIyBDb3B5cmlnaHQgwqkgMjAyMCBFcmlj IEJhdmllciA8YmF2aWVyQHBvc3Rlby5uZXQ+CiAjCiAjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdO VSBHdWl4LgogIwpAQCAtOTgsNiArOTksNyBAQCBjYXNlICJgdW5hbWUgLW1gIiBpbgogCXJ1bl93 aXRob3V0X3N0b3JlIEdVSVhfRVhFQ1VUSU9OX0VOR0lORT0iZmFrZWNocm9vdCIgXAogCSIkdGVz dF9kaXJlY3RvcnkvQmluL3NlZCIgLS12ZXJzaW9uID4gIiR0ZXN0X2RpcmVjdG9yeS9vdXRwdXQi CiAJZ3JlcCAnR05VIHNlZCcgIiR0ZXN0X2RpcmVjdG9yeS9vdXRwdXQiCisJdW5zZXQgR1VJWF9F WEVDVVRJT05fRU5HSU5FCiAKIAljaG1vZCAtUmYgK3cgIiR0ZXN0X2RpcmVjdG9yeSI7IHJtIC1y ZiAiJHRlc3RfZGlyZWN0b3J5Ii8qCiAKQEAgLTEzMyw4ICsxMzUsMzEgQEAgZXNhYwogdGFyYmFs bD0iYGd1aXggcGFjayAtUiAtUyAvc2hhcmU9c2hhcmUgZ3JvZmY6ZG9jYCIKIChjZCAiJHRlc3Rf ZGlyZWN0b3J5IjsgdGFyIHhmICIkdGFyYmFsbCIpCiB0ZXN0IC1kICIkdGVzdF9kaXJlY3Rvcnkv c2hhcmUvZG9jL2dyb2ZmL2h0bWwiCitjaG1vZCAtUmYgK3cgIiR0ZXN0X2RpcmVjdG9yeSI7IHJt IC1yZiAiJHRlc3RfZGlyZWN0b3J5Ii8qCiAKICMgRW5zdXJlICctUicgYXBwbGllcyB0byBwcm9w YWdhdGVkIGlucHV0cy4gIEZhaWxpbmcgdG8gZG8gdGhhdCwgaXQgd291bGQgZmFpbAogIyB3aXRo IGEgcHJvZmlsZSBjb2xsaXNpb24gZXJyb3IgaW4gdGhpcyBjYXNlIGJlY2F1c2UgJ3B5dGhvbi1z Y2lweScKICMgcHJvcGFnYXRlcyAncHl0aG9uLW51bXB5Jy4gIFNlZSA8aHR0cHM6Ly9idWdzLmdu dS5vcmcvNDI1MTA+LgogZ3VpeCBwYWNrIC1SUiBweXRob24tbnVtcHkgcHl0aG9uLXNjaXB5IC0t bm8tZ3JhZnRzIC1uCisKKyMgQ2hlY2sgdGhhdCBwYWNrYWdlcyB0aGF0IG1peCBleGVjdXRhYmxl IGFuZCBzdXBwb3J0IGZpbGVzIChlLmcuIGdpdCkgaW4gdGhlCisjICJiaW5hcnkiIGRpcmVjdG9y aWVzIHN0aWxsIHdvcmsgYWZ0ZXIgd3JhcHBlZC4KK2NhdCA+IiR0ZXN0X2RpcmVjdG9yeS9tYW5p ZmVzdC5zY20iIDw8J0VPRicKKyh1c2UtbW9kdWxlcyAoZ3VpeCkgKGd1aXggcHJvZmlsZXMpCisg ICAgICAgICAgICAgKGdudSBwYWNrYWdlcyBib290c3RyYXApKQorKG1hbmlmZXN0CisgKGxpc3Qg KG1hbmlmZXN0LWVudHJ5CisJKG5hbWUgInRlc3QiKSAodmVyc2lvbiAiMCIpCisJKGl0ZW0gKGZp bGUtdW5pb24gInRlc3QiCisJCQkgIGAoKCJiaW4vaGVsbG8iCisJCQkgICAgICwocHJvZ3JhbS1m aWxlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImhlbGxvIgorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICN+KGJlZ2luIChkaXNwbGF5IChsb2FkICIuLi9saWJleGVjL21z ZyIpKShuZXdsaW5lKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjOmd1aWxlICVi b290c3RyYXAtZ3VpbGUpKQorCQkJICAgICgibGliZXhlYy9tc2ciCisJCQkgICAgICwocGxhaW4t ZmlsZSAibXNnIiAiNDIiKSkpKSkpKSkKK0VPRgordGFyYmFsbD0iYGd1aXggcGFjayAtUlIgLVMg L29wdD0gLW0gJHRlc3RfZGlyZWN0b3J5L21hbmlmZXN0LnNjbWAiCisoY2QgIiR0ZXN0X2RpcmVj dG9yeSI7IHRhciB4dmYgIiR0YXJiYWxsIikKK3J1bl93aXRob3V0X3N0b3JlICIkdGVzdF9kaXJl Y3Rvcnkvb3B0L2Jpbi9oZWxsbyIgPiAiJHRlc3RfZGlyZWN0b3J5L291dHB1dCIKK3Rlc3QgImBj YXQgJHRlc3RfZGlyZWN0b3J5L291dHB1dGAiID0gIjQyIgotLSAKMi4yOC4wCgo= --=-wNcb9CCvVcBOKsfw/AyM-- From debbugs-submit-bounces@debbugs.gnu.org Fri Oct 23 06:48:59 2020 Received: (at 39807) by debbugs.gnu.org; 23 Oct 2020 10:48:59 +0000 Received: from localhost ([127.0.0.1]:55453 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kVud1-0003sy-8E for submit@debbugs.gnu.org; Fri, 23 Oct 2020 06:48:59 -0400 Received: from eggs.gnu.org ([209.51.188.92]:45224) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kVucy-0003sf-Ui for 39807@debbugs.gnu.org; Fri, 23 Oct 2020 06:48:58 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:41329) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kVucs-00069s-Hl; Fri, 23 Oct 2020 06:48:50 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=55092 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1kVucs-0005V8-1Q; Fri, 23 Oct 2020 06:48:50 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Eric Bavier Subject: Re: [bug#39807] [PATCH] guix: pack: Only wrap executable files. References: <3ace941f920d87da65de6e4fdc16add5b9725434.camel@posteo.net> <83416910901e77b537b64de392ee02598ccd72ff.camel@posteo.net> <87wnzk7xs0.fsf@gnu.org> <69f5446e2accd24cd1de9e3964373ab525b0875d.camel@posteo.net> <87pn5b383l.fsf@gnu.org> <48f280214fca0f8bd17aeff46c42ee76a04c90f2.camel@posteo.net> <87mu0fxo4e.fsf@gnu.org> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 2 Brumaire an 229 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Fri, 23 Oct 2020 12:48:48 +0200 In-Reply-To: (Eric Bavier's message of "Wed, 21 Oct 2020 18:51:31 -0500") Message-ID: <87pn59qktr.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 39807 Cc: 39807@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hi Eric, Eric Bavier skribis: > From 7caaea0b21e5b97836b1a40a44efd2f38dbab7ae Mon Sep 17 00:00:00 2001 > From: Eric Bavier > Date: Wed, 21 Oct 2020 18:33:52 -0500 > Subject: [PATCH 1/2] guix: pack: Fix offset calculation for store directo= ry > mount point. > > Fixes wrapping of non-package things, where the target store directory may > differ in length from the original. > > * guix/scripts/pack.scm (wrapped-package): Define > WRAPPER_PROGRAM macro with wrapper's file name. > * gnu/packages/aux-files/run-in-namespace.c (main): Offset index by len of > that file name. LGTM! Perhaps add a link to this discussion in the commit log. > From 85bd962e929924b016a85d3a0b3dff434ebe8de3 Mon Sep 17 00:00:00 2001 > From: Eric Bavier > Date: Mon, 24 Feb 2020 23:47:02 -0600 > Subject: [PATCH 2/2] guix: pack: Only wrap executable files. > > * guix/scripts/pack.scm (wrapped-package): Build wrappers for > executable files and symlink others. > * tests/guix-pack-relocatable.sh: Test relocatable example of mixed > executable and non-executable files. LGTM too! Thanks, Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Fri Oct 30 11:13:57 2020 Received: (at 39807-done) by debbugs.gnu.org; 30 Oct 2020 15:13:57 +0000 Received: from localhost ([127.0.0.1]:59259 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kYW6G-0000hK-Ns for submit@debbugs.gnu.org; Fri, 30 Oct 2020 11:13:57 -0400 Received: from mout01.posteo.de ([185.67.36.65]:41914) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kYW6D-0000h1-Mb for 39807-done@debbugs.gnu.org; Fri, 30 Oct 2020 11:13:54 -0400 Received: from submission (posteo.de [89.146.220.130]) by mout01.posteo.de (Postfix) with ESMTPS id 59E9316005C for <39807-done@debbugs.gnu.org>; Fri, 30 Oct 2020 16:13:47 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1604070827; bh=0xFdrJKuJS8Bwu2mLxPEfaOnbElvbD1v0JdXq0kSq5E=; h=Subject:From:To:Date:From; b=ctTf0PkCsh1hjnc9WiPY/Iyhmn65isq37I3ex7dI61Yf2w0/M1HKPqb76Oqxw6f2T gmfiRnU0U2Vufatr7Kfqn2rOCZCSz/TlGNqFfEIEQcWvMpLz3AEfcao2C4E9KAwOn3 d5ObUr1NaJ6Jx2KWfeX7R1xf/2qybk+bnxLA0UIPRIAsmMEwYe5zhI4oDoUuWlZDz2 AJ6tAdw/oHYmKwADK64i6W+BMpia/HIA1gsHKt9DdGv5ISbaNtksRWQweAO4+tGtTj BfzYCuOYUeF+FIlj0SvWPssjCyP7yUS8xVPwBkjsRfLZtjXbkGNrnfRahcY79kS1R2 XXelLD+rHttqQ== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4CN5Rt2NsNz9rxQ for <39807-done@debbugs.gnu.org>; Fri, 30 Oct 2020 16:13:46 +0100 (CET) Message-ID: <66edab14afe77962ab4cd033a08bdea570e61000.camel@posteo.net> Subject: Re: [bug#39807] [PATCH] guix: pack: Only wrap executable files. From: Eric Bavier To: 39807-done@debbugs.gnu.org Date: Fri, 30 Oct 2020 10:13:41 -0500 In-Reply-To: <87pn59qktr.fsf@gnu.org> References: <3ace941f920d87da65de6e4fdc16add5b9725434.camel@posteo.net> <83416910901e77b537b64de392ee02598ccd72ff.camel@posteo.net> <87wnzk7xs0.fsf@gnu.org> <69f5446e2accd24cd1de9e3964373ab525b0875d.camel@posteo.net> <87pn5b383l.fsf@gnu.org> <48f280214fca0f8bd17aeff46c42ee76a04c90f2.camel@posteo.net> <87mu0fxo4e.fsf@gnu.org> <87pn59qktr.fsf@gnu.org> Content-Type: multipart/mixed; boundary="=-MwOxOzk8vrm2SH29qbpc" User-Agent: Evolution 3.34.2 MIME-Version: 1.0 X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 39807-done X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --=-MwOxOzk8vrm2SH29qbpc Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit On Fri, 2020-10-23 at 12:48 +0200, Ludovic Courtès wrote: > Hi Eric, > > Eric Bavier skribis: > > > From 7caaea0b21e5b97836b1a40a44efd2f38dbab7ae Mon Sep 17 00:00:00 2001 > > From: Eric Bavier > > Date: Wed, 21 Oct 2020 18:33:52 -0500 > > Subject: [PATCH 1/2] guix: pack: Fix offset calculation for store directory > > mount point. > > > > Fixes wrapping of non-package things, where the target store directory may > > differ in length from the original. > > > > * guix/scripts/pack.scm (wrapped-package): Define > > WRAPPER_PROGRAM macro with wrapper's file name. > > * gnu/packages/aux-files/run-in-namespace.c (main): Offset index by len of > > that file name. > > LGTM! Perhaps add a link to this discussion in the commit log. > > > From 85bd962e929924b016a85d3a0b3dff434ebe8de3 Mon Sep 17 00:00:00 2001 > > From: Eric Bavier > > Date: Mon, 24 Feb 2020 23:47:02 -0600 > > Subject: [PATCH 2/2] guix: pack: Only wrap executable files. > > > > * guix/scripts/pack.scm (wrapped-package): Build wrappers for > > executable files and symlink others. > > * tests/guix-pack-relocatable.sh: Test relocatable example of mixed > > executable and non-executable files. > > LGTM too! > > Thanks, > Ludo’. Pushed in a73896425e92e5162766afdf042748b18f2462af and 4184998c70f9c4af101feb28cc19c5550abffcec after some small changes to the test to more faithfully mimic the failure case that was causing wrapped git commands to fail. `~Eric --=-MwOxOzk8vrm2SH29qbpc Content-Disposition: attachment; filename="pack-test-better.patch" Content-Type: text/x-patch; name="pack-test-better.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL3Rlc3RzL2d1aXgtcGFjay1yZWxvY2F0YWJsZS5zaCBiL3Rlc3RzL2d1aXgt cGFjay1yZWxvY2F0YWJsZS5zaAppbmRleCA1YWM4Y2RjNzE4Li4wMjU1MDc1ZmIxIDEwMDY0NAot LS0gYS90ZXN0cy9ndWl4LXBhY2stcmVsb2NhdGFibGUuc2gKKysrIGIvdGVzdHMvZ3VpeC1wYWNr LXJlbG9jYXRhYmxlLnNoCkBAIC0xNDUsNyArMTQ1LDcgQEAgZ3VpeCBwYWNrIC1SUiBweXRob24t bnVtcHkgcHl0aG9uLXNjaXB5IC0tbm8tZ3JhZnRzIC1uCiAjIENoZWNrIHRoYXQgcGFja2FnZXMg dGhhdCBtaXggZXhlY3V0YWJsZSBhbmQgc3VwcG9ydCBmaWxlcyAoZS5nLiBnaXQpIGluIHRoZQog IyAiYmluYXJ5IiBkaXJlY3RvcmllcyBzdGlsbCB3b3JrIGFmdGVyIHdyYXBwZWQuCiBjYXQgPiIk dGVzdF9kaXJlY3RvcnkvbWFuaWZlc3Quc2NtIiA8PCdFT0YnCi0odXNlLW1vZHVsZXMgKGd1aXgp IChndWl4IHByb2ZpbGVzKQorKHVzZS1tb2R1bGVzIChndWl4KSAoZ3VpeCBwcm9maWxlcykgKGd1 aXggc2VhcmNoLXBhdGhzKQogICAgICAgICAgICAgIChnbnUgcGFja2FnZXMgYm9vdHN0cmFwKSkK IChtYW5pZmVzdAogIChsaXN0IChtYW5pZmVzdC1lbnRyeQpAQCAtMTU0LDEyICsxNTQsMjIgQEAg Y2F0ID4iJHRlc3RfZGlyZWN0b3J5L21hbmlmZXN0LnNjbSIgPDwnRU9GJwogCQkJICBgKCgiYmlu L2hlbGxvIgogCQkJICAgICAsKHByb2dyYW0tZmlsZQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICJoZWxsbyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjfihiZWdpbiAo ZGlzcGxheSAobG9hZCAiLi4vbGliZXhlYy9tc2ciKSkobmV3bGluZSkpCisJCQkgICAgICAgI34o YmVnaW4KKwkJCQkgICAoYWRkLXRvLWxvYWQtcGF0aCAoZ2V0ZW52ICJIRUxMT19FWEVDX1BBVEgi KSkKKwkJCQkgICAoZGlzcGxheSAobG9hZC1mcm9tLXBhdGggIm1zZyIpKShuZXdsaW5lKSkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjOmd1aWxlICVib290c3RyYXAtZ3VpbGUpKQot CQkJICAgICgibGliZXhlYy9tc2ciCi0JCQkgICAgICwocGxhaW4tZmlsZSAibXNnIiAiNDIiKSkp KSkpKSkKKwkJCSAgICAoImxpYmV4ZWMvaGVsbG8vbXNnIgorCQkJICAgICAsKHBsYWluLWZpbGUg Im1zZyIgIjQyIikpKSkpCisJKHNlYXJjaC1wYXRocworCSAobGlzdCAoc2VhcmNoLXBhdGgtc3Bl Y2lmaWNhdGlvbgorCQkodmFyaWFibGUgIkhFTExPX0VYRUNfUEFUSCIpCisJCShmaWxlcyAnKCJs aWJleGVjL2hlbGxvIikpCisJCShzZXBhcmF0b3IgI2YpKSkpKSkpCiBFT0YKIHRhcmJhbGw9ImBn dWl4IHBhY2sgLVJSIC1TIC9vcHQ9IC1tICR0ZXN0X2RpcmVjdG9yeS9tYW5pZmVzdC5zY21gIgog KGNkICIkdGVzdF9kaXJlY3RvcnkiOyB0YXIgeHZmICIkdGFyYmFsbCIpCi1ydW5fd2l0aG91dF9z dG9yZSAiJHRlc3RfZGlyZWN0b3J5L29wdC9iaW4vaGVsbG8iID4gIiR0ZXN0X2RpcmVjdG9yeS9v dXRwdXQiCisoIGV4cG9ydCBHVUlYX1BST0ZJTEU9JHRlc3RfZGlyZWN0b3J5L29wdAorICAuICRH VUlYX1BST0ZJTEUvZXRjL3Byb2ZpbGUKKyAgcnVuX3dpdGhvdXRfc3RvcmUgIiR0ZXN0X2RpcmVj dG9yeS9vcHQvYmluL2hlbGxvIiA+ICIkdGVzdF9kaXJlY3Rvcnkvb3V0cHV0IiApCitjYXQgIiR0 ZXN0X2RpcmVjdG9yeS9vdXRwdXQiCiB0ZXN0ICJgY2F0ICR0ZXN0X2RpcmVjdG9yeS9vdXRwdXRg IiA9ICI0MiIK --=-MwOxOzk8vrm2SH29qbpc-- From unknown Mon Jun 23 02:23:13 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sat, 28 Nov 2020 12:24:03 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator