From: Eric Bavier <bavier@posteo.net>
To: 39807-done@debbugs.gnu.org
Subject: bug#39807: [PATCH] guix: pack: Only wrap executable files.
Date: Fri, 30 Oct 2020 10:13:41 -0500 [thread overview]
Message-ID: <66edab14afe77962ab4cd033a08bdea570e61000.camel@posteo.net> (raw)
In-Reply-To: <87pn59qktr.fsf@gnu.org>
[-- Attachment #1: Type: text/plain, Size: 1531 bytes --]
On Fri, 2020-10-23 at 12:48 +0200, Ludovic Courtès wrote:
> Hi Eric,
>
> Eric Bavier <bavier@posteo.net> skribis:
>
> > From 7caaea0b21e5b97836b1a40a44efd2f38dbab7ae Mon Sep 17 00:00:00 2001
> > From: Eric Bavier <bavier@member.fsf.org>
> > 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)<build-wrapper>: 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 <bavier@member.fsf.org>
> > 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>: 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
[-- Attachment #2: pack-test-better.patch --]
[-- Type: text/x-patch, Size: 1719 bytes --]
diff --git a/tests/guix-pack-relocatable.sh b/tests/guix-pack-relocatable.sh
index 5ac8cdc718..0255075fb1 100644
--- a/tests/guix-pack-relocatable.sh
+++ b/tests/guix-pack-relocatable.sh
@@ -145,7 +145,7 @@ guix pack -RR python-numpy python-scipy --no-grafts -n
# Check that packages that mix executable and support files (e.g. git) in the
# "binary" directories still work after wrapped.
cat >"$test_directory/manifest.scm" <<'EOF'
-(use-modules (guix) (guix profiles)
+(use-modules (guix) (guix profiles) (guix search-paths)
(gnu packages bootstrap))
(manifest
(list (manifest-entry
@@ -154,12 +154,22 @@ cat >"$test_directory/manifest.scm" <<'EOF'
`(("bin/hello"
,(program-file
"hello"
- #~(begin (display (load "../libexec/msg"))(newline))
+ #~(begin
+ (add-to-load-path (getenv "HELLO_EXEC_PATH"))
+ (display (load-from-path "msg"))(newline))
#:guile %bootstrap-guile))
- ("libexec/msg"
- ,(plain-file "msg" "42"))))))))
+ ("libexec/hello/msg"
+ ,(plain-file "msg" "42")))))
+ (search-paths
+ (list (search-path-specification
+ (variable "HELLO_EXEC_PATH")
+ (files '("libexec/hello"))
+ (separator #f)))))))
EOF
tarball="`guix pack -RR -S /opt= -m $test_directory/manifest.scm`"
(cd "$test_directory"; tar xvf "$tarball")
-run_without_store "$test_directory/opt/bin/hello" > "$test_directory/output"
+( export GUIX_PROFILE=$test_directory/opt
+ . $GUIX_PROFILE/etc/profile
+ run_without_store "$test_directory/opt/bin/hello" > "$test_directory/output" )
+cat "$test_directory/output"
test "`cat $test_directory/output`" = "42"
prev parent reply other threads:[~2020-10-30 15:14 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-02-27 4:36 [bug#39807] [PATCH] guix: pack: Only wrap executable files Eric Bavier
2020-03-06 11:16 ` Ludovic Courtès
2020-03-24 17:51 ` Ludovic Courtès
2020-03-27 2:53 ` Eric Bavier
2020-03-27 2:29 ` Eric Bavier
[not found] ` <8d8a2e1209d82e136d36222683967956@posteo.net>
2020-03-29 14:39 ` Ludovic Courtès
2020-07-27 21:42 ` Eric Bavier
2020-10-21 5:09 ` Eric Bavier
2020-10-21 9:07 ` Ludovic Courtès
2020-10-21 15:12 ` Eric Bavier
2020-10-21 15:35 ` Ludovic Courtès
2020-10-21 16:21 ` Eric Bavier
2020-10-21 21:31 ` Ludovic Courtès
2020-10-21 23:51 ` Eric Bavier
2020-10-23 10:48 ` Ludovic Courtès
2020-10-30 15:13 ` Eric Bavier [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=66edab14afe77962ab4cd033a08bdea570e61000.camel@posteo.net \
--to=bavier@posteo.net \
--cc=39807-done@debbugs.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).