--load-path not honored by guix system

  • Done
  • quality assurance status badge
Details
2 participants
  • Blah Blahh
  • Ludovic Courtès
Owner
unassigned
Submitted by
Blah Blahh
Severity
normal
B
B
Blah Blahh wrote on 14 Oct 2016 01:48
(address . bug-guix@gnu.org)
CA+jmvS4qz-jjxYtOqTZt9X4Jdjs2vOs8HmkJrVQC2eh=OX-LsQ@mail.gmail.com
Worked fine when I set GUIX_PACKAGE_PATH, did not when I tried using
--load-path to pass the exact same directory. According to mark_weaver from
#guix it should, so here I am to mention it. Specifically I used "guix
system reconfigure --load-path=/root/guix-modules /etc/config.scm" and it
did not search in that directory, then I set GUIX_PACKAGE_PATH to
/root/guix-modules and ran the command without the --load-path part and it
found the package defined in a module in a subdirectory of it.
Attachment: file
L
L
Ludovic Courtès wrote on 16 Oct 2016 21:24
(name . Blah Blahh)(address . anotherreepca@gmail.com)(address . 24686@debbugs.gnu.org)
87y41of664.fsf@gnu.org
Hello,

Blah Blahh <anotherreepca@gmail.com> skribis:

Toggle quote (9 lines)
> Worked fine when I set GUIX_PACKAGE_PATH, did not when I tried using -
> -load-path to pass the exact same directory. According to mark_weaver
> from #guix it should, so here I am to mention it. Specifically I used
> "guix system reconfigure --load-path=/root/guix-modules
> /etc/config.scm" and it did not search in that directory, then I set
> GUIX_PACKAGE_PATH to /root/guix-modules and ran the command without
> the --load-path part and it found the package defined in a module in a
> subdirectory of it.

I just tried and it Works for Me with current master.

What does ‘guix --version’ return? What makes you think ‘--load-path’
is not honored, perhaps because you’re using ‘specification->package’ in
config.scm?

Thanks,
Ludo’.
L
L
Ludovic Courtès wrote on 16 Oct 2016 21:28
control message for bug #24686
(address . control@debbugs.gnu.org)
87wph8f60b.fsf@gnu.org
tags 24686 moreinfo
R
R
Reepca Russelstein wrote on 17 Oct 2016 03:34
Re: bug#24686: --load-path not honored by guix system
(name . Ludovic Courtès)(address . ludo@gnu.org)
CA+jmvS7n8sDEtH_LXv9a=openB2zq_Or0GdZjdhj199Y7=9qiA@mail.gmail.com
guix --version returns "guix (GNU Guix) 20161013.22". My config.scm
included (firmware (cons openfwwf-firmware %base-firmware)). I was using a
patch provided by bavier from irc to provide openfwwf-firmware (here is the
/root/guix-modules/gnu/packages/firmware.scm, which was the patched
version. When I tried running "guix system reconfigure
--load-path=/root/guix-modules /etc/config.scm" it said that it could not
find openfwwf-firmware. I then ran "export
GUIX_PACKAGE_PATH=/root/guix-modules" and then ran "guix system reconfigure
/etc/config.scm" and it successfully found openfwwf-firmware and
reconfigured the system. That's why I think --load-path is not being
honored.

I'm guessing that to reproduce, I should boot to the system configuration I
had at the time and try the same thing. So I tried rebooting to the system
I had at that time, but it seems to have failed to successfully boot...
screen is stuck black right now, will try some more later. Just wanted to
provide more details in the meantime.

On Sun, Oct 16, 2016 at 2:24 PM, Ludovic Courtès <ludo@gnu.org> wrote:

Toggle quote (22 lines)
> Hello,
>
> Blah Blahh <anotherreepca@gmail.com> skribis:
>
> > Worked fine when I set GUIX_PACKAGE_PATH, did not when I tried using -
> > -load-path to pass the exact same directory. According to mark_weaver
> > from #guix it should, so here I am to mention it. Specifically I used
> > "guix system reconfigure --load-path=/root/guix-modules
> > /etc/config.scm" and it did not search in that directory, then I set
> > GUIX_PACKAGE_PATH to /root/guix-modules and ran the command without
> > the --load-path part and it found the package defined in a module in a
> > subdirectory of it.
>
> I just tried and it Works for Me with current master.
>
> What does ‘guix --version’ return? What makes you think ‘--load-path’
> is not honored, perhaps because you’re using ‘specification->package’ in
> config.scm?
>
> Thanks,
> Ludo’.
>
Attachment: file
L
L
Ludovic Courtès wrote on 17 Oct 2016 10:29
(name . Reepca Russelstein)(address . anotherreepca@gmail.com)(address . 24686@debbugs.gnu.org)
87mvi3fker.fsf@gnu.org
Reepca Russelstein <anotherreepca@gmail.com> skribis:

Toggle quote (13 lines)
> guix --version returns "guix (GNU Guix) 20161013.22". My config.scm
> included (firmware (cons openfwwf-firmware %base-firmware)). I was using a
> patch provided by bavier from irc to provide openfwwf-firmware (here is the
> patch http://paste.lisp.org/display/328373). I created
> /root/guix-modules/gnu/packages/firmware.scm, which was the patched
> version. When I tried running "guix system reconfigure
> --load-path=/root/guix-modules /etc/config.scm" it said that it could not
> find openfwwf-firmware. I then ran "export
> GUIX_PACKAGE_PATH=/root/guix-modules" and then ran "guix system reconfigure
> /etc/config.scm" and it successfully found openfwwf-firmware and
> reconfigured the system. That's why I think --load-path is not being
> honored.

I think there’s something subtle going on. %load-path is adjusted when
command-line arguments are processed, but that happens after (gnu
system) and presumably (gnu packages firmware) have been loaded.
Therefore, your own (gnu packages firmware) module isn’t “seen”.

What I would suggest is to rename your (gnu packages firmware) module
to, say, (my packages firmware), and to use that in your OS config (make
sure to rename both the file and the module name that appears in the
‘define-module’ clause!).

Could you try and report back?

Thanks,
Ludo’.
L
L
Ludovic Courtès wrote on 18 Oct 2016 10:27
control message for bug #24686
(address . control@debbugs.gnu.org)
87lgxmoydc.fsf@gnu.org
tags 24686 notabug
close 24686
?