unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Sergei Trofimovich <slyich@gmail.com>
To: Maxime Devos <maximedevos@telenet.be>
Cc: 48434@debbugs.gnu.org
Subject: [bug#48434] [PATCH] guile: allow pre-inst-env inject local paths
Date: Tue, 17 Aug 2021 10:35:39 +0100	[thread overview]
Message-ID: <20210817103539.205800bd@zn3> (raw)
In-Reply-To: <20210817092830.7a86d795@zn3>

[-- Attachment #1: Type: text/plain, Size: 4606 bytes --]

On Tue, 17 Aug 2021 09:28:30 +0100
Sergei Trofimovich <slyich@gmail.com> wrote:

> On Mon, 16 Aug 2021 20:52:48 +0200
> Maxime Devos <maximedevos@telenet.be> wrote:
> 
> > Sergei Trofimovich schreef op ma 16-08-2021 om 18:28 [+0100]:  
> > > On Sat, 15 May 2021 10:52:27 +0100
> > > Sergei Trofimovich <slyfox@gentoo.org> wrote:
> > >     
> > > > I observed the problem when tried to run 'guix refresh' from local git checkout:
> > > > 
> > > >     $ strace -f ./pre-inst-env guix refresh -u re2c |& fgrep re2c.scm
> > > >     ...
> > > >     [pid 3014757] openat(AT_FDCWD, "/usr/share/guile/site/3.0/gnu/packages/re2c.scm.qilB0R",
> > > >         O_RDWR|O_CREAT|O_EXCL, 0600) = -1 EACCES (Permission denied)
> > > > 
> > > > Attempt to /usr/share happens because local directory override is ignored:  
> 
> > The local directory isn't ignored, it's at the end (the effect is about the same though).  
> 
> Reworded to: "because local directory override has too low priority".
> 
> > > > The change keeps GUILE_LOAD_PATH / GUILE_LOAD_COMPILED_PATH for ./pre-inst-env.
> > > > 
> > > > * gnu/packages/aux-files/guile-launcher.c (main): don't ignore
> > > > GUILE_LOAD_PATH / GUILE_LOAD_COMPILED_PATH in GUIX_UNINSTALLED=1 mode.    
> > 
> > Could you do something like
> > 
> > #define GUIX_UNINSTALLED 1
> > #if GUIX_UNINSTALLED
> > new behaviour
> > #else
> > OLD BEHAVIOUR
> > #endif
> > 
> > and change "Makefile.am" to compile two variants of "guile",
> > one with "DGUIX_UNINSTALLED=1" which goes into libexec, and another
> > with "DGUIX_UNINSTALLED=0" named "$CHECKOUT/guile" which isn't installed
> > anywhere but will be added to PATH by "pre-inst-env", or something like that?  
> 
> Attached v2 patch that should solve all the above.
> 
> Added two 'guile' flavours:
>     inplace/guile (to be used inplace)
>     store/guile (to be installed to libexec)
> While at it moved 'guix-daemon' to 'inplace/' as well to make it clear that
> tests use inplace variant sometimes. Installation location did not change.
> 
> Also moved scripts/guix to inplace/guix as ./pre-inst-env relies on it to
> be injected to PATH.
> 
> > Also, "guile-launcher.c" is used by 'quiet-quile" in (guix self).  It should probably be
> > verified that "guix pull" still works well.  
> 
> It's a bit hard to test right now as guix-master is slightly broken due to
> missing installed files when installed as a primary package manager, but at
> least fetch part works fine:
> 
> $ guix pull
> Updating channel 'guix' from Git repository at 'https://git.savannah.gnu.org/git/guix.git'...
> Authenticating channel 'guix', commits 9edb3f6 to f7094f5 (29 new commits)...
> Building from this channel:
>   guix      https://git.savannah.gnu.org/git/guix.git   f7094f5
> Backtrace:
> In ice-9/boot-9.scm:
>    222:29 19 (map1 (((guix store)) ((guix records)) ((guix #)) (#) …))
>    222:29 18 (map1 (((guix records)) ((guix profiles)) ((guix #)) # …))
>    222:29 17 (map1 (((guix profiles)) ((guix discovery)) ((guix …)) …))
>    222:29 16 (map1 (((guix discovery)) ((guix combinators)) ((# …)) …))
>    222:29 15 (map1 (((guix combinators)) ((guix channels)) ((# #)) …))
>    222:29 14 (map1 (((guix channels)) ((guix describe)) ((guix #)) …))
>    222:29 13 (map1 (((guix describe)) ((guix sets)) ((guix ui)) (#) …))
>    222:29 12 (map1 (((guix sets)) ((guix ui)) ((guix diagnostics)) …))
>    222:29 11 (map1 (((guix ui)) ((guix diagnostics)) ((guix #)) (#) …))
>    222:29 10 (map1 (((guix diagnostics)) ((guix modules)) ((# #)) # …))
>    222:29  9 (map1 (((guix modules)) ((guix packages)) ((guix #)) # …))
>    222:29  8 (map1 (((guix packages)) ((guix utils)) ((gnu # #)) # …))
>    222:29  7 (map1 (((guix utils)) ((gnu packages base)) ((gnu …)) …))
>    222:29  6 (map1 (((gnu packages base)) ((gnu packages bash)) (#) …))
>    222:29  5 (map1 (((gnu packages bash)) ((gnu packages hurd)) (#) …))
>    222:29  4 (map1 (((gnu packages hurd)) ((gnu system setuid)) (#) …))
>    222:17  3 (map1 (((gnu system setuid)) ((srfi srfi-1)) ((# #)) # …))
>    3329:6  2 (resolve-interface (gnu system setuid) #:select _ #:hide …)
>   1685:16  1 (raise-exception _ #:continuable? _)
>   1685:16  0 (raise-exception _ #:continuable? _)
> 
> ice-9/boot-9.scm:1685:16: In procedure raise-exception:
> no code for module (gnu system setuid)

With https://debbugs.gnu.org/cgi/bugreport.cgi?bug=50090 applied 'guix pull'
works successfully on a multi-user foreign distribution.

-- 

  Sergei

[-- Attachment #2: Цифровая подпись OpenPGP --]
[-- Type: application/pgp-signature, Size: 981 bytes --]

  reply	other threads:[~2021-08-17  9:36 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-15  9:52 [bug#48434] [PATCH] guile: allow pre-inst-env inject local paths Sergei Trofimovich
2021-08-16 17:28 ` Sergei Trofimovich
2021-08-16 18:52   ` Maxime Devos
2021-08-17  8:28     ` Sergei Trofimovich
2021-08-17  9:35       ` Sergei Trofimovich [this message]
2021-08-17 10:24       ` Maxime Devos
2021-08-17 12:15         ` Sergei Trofimovich
2021-08-17 13:59           ` Maxime Devos
2021-08-17 17:42             ` Sergei Trofimovich

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=20210817103539.205800bd@zn3 \
    --to=slyich@gmail.com \
    --cc=48434@debbugs.gnu.org \
    --cc=maximedevos@telenet.be \
    /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).