From: brettg@posteo.net
To: help-guix <help-guix@gnu.org>
Cc: Help-Guix <help-guix-bounces+brettg=posteo.net@gnu.org>
Subject: Re: System-level inferiors.
Date: Wed, 20 Nov 2019 03:05:40 +0100 [thread overview]
Message-ID: <7dc16ac6617c713631a29f639397f6d0@posteo.net> (raw)
In-Reply-To: <4de784d5ed1ec86e5d02f1b3dd6b3ee2@posteo.net>
On 20.11.2019 02:55, brettg@posteo.net wrote:
> On 20.11.2019 02:35, brettg@posteo.net wrote:
>> On 20.11.2019 02:29, brettg@posteo.net wrote:
>>> On 19.11.2019 21:02, brettg@posteo.net wrote:
>>>> Hey all,
>>>>
>>>> I am experimenting with the inferior system a little bit. I am
>>>> attempting to see if I can specify a specific version of the
>>>> linux-libre kernel to be taken from an inferior and applied to my
>>>> system configuration.
>>>>
>>>> (define kernel-channel-inf
>>>> ;; This is the old revision from which
>>>> ;; we will obtain our desired kernel version.
>>>> (list (channel
>>>> (name 'guix)
>>>> (url "https://git.savannah.gnu.org/git/guix.git")
>>>> (commit
>>>> "fd41243c819635795f4e4bdef1e2823db5234e24"))))
>>>>
>>>> (define kernel-inferior-proc
>>>> ;; An inferior representing `kernel-channel-inf'.
>>>> (inferior-for-channels kernel-channel-inf))
>>>>
>>>> (operating-system
>>>>
>>>> ...
>>>>
>>>> (kernel (lookup-inferior-packages
>>>> kernel-inferior-proc "linux-libre" "4.19.81"))
>>>>
>>>> It took me some experimenting to come up with this, in that
>>>> experimenting the channel revision was built and cached. However,
>>>> when
>>>> I run `guix system build config.scm` with the above code snippet,
>>>> the
>>>> process just hangs on
>>>>
>>>> Updating channel 'guix' from Git repository at
>>>> 'https://git.savannah.gnu.org/git/guix.git'...
>>>>
>>>> I am not sure how to proceed to achieve what I am hoping for. Any
>>>> thoughts?
>>>>
>>>> Brett Gilio
>>>
>>> Update, I used guix time-machine to ensure that this specific build
>>> of
>>> linux-libre 4.19.81 was available in the store, so now it is not
>>> hanging:
>>>
>>> Instead, it is telling me:
>>>
>>> guix/gexp.scm:201:36: In procedure lookup-compiler:
>>> In procedure struct_vtable: Wrong type argument in position 1
>>> (expecting struct): (#<inferior-package linux-libre@4.19.81
>>> 7f13870f8900>)
>>>
>>> Will keep investigating a way to do this.
>>>
>>> Brett Gilio
>>
>> brettg@oryx ~/Repos/cfg/machines/oryx$ guix system build config.scm
>> Updating channel 'guix' from Git repository at
>> 'https://git.savannah.gnu.org/git/guix.git'...
>> Backtrace:
>> 18 (primitive-load
>> "/home/brettg/.config/guix/current/bin/guix")
>> In guix/ui.scm:
>> 1774:12 17 (run-guix-command _ . _)
>> In ice-9/boot-9.scm:
>> 829:9 16 (catch _ _ #<procedure 7f359bd3d1f8 at guix/ui.scm:647:2
>> (key …> …)
>> 829:9 15 (catch _ _ #<procedure 7f359bd3d210 at guix/ui.scm:770:6
>> (key …> …)
>> In guix/scripts/system.scm:
>> 1216:8 14 (_)
>> In guix/status.scm:
>> 768:4 13 (call-with-status-report _ _)
>> In guix/scripts/system.scm:
>> 1072:4 12 (process-action _ _ _)
>> In guix/store.scm:
>> 623:10 11 (call-with-store _)
>> 1834:24 10 (run-with-store #<store-connection 256.99 7f358c4d65a0> _
>> # _ # …)
>> In guix/scripts/system.scm:
>> 778:2 9 (_ _)
>> In gnu/services.scm:
>> 320:2 8 (_ _)
>> In gnu/system.scm:
>> 469:4 7 (_ _)
>> In guix/gexp.scm:
>> 859:2 6 (_ _)
>> 720:2 5 (_ _)
>> In ./guix/monads.scm:
>> 482:9 4 (_ _)
>> In guix/gexp.scm:
>> 590:13 3 (_ _)
>> In guix/store.scm:
>> 1692:13 2 (_ _)
>> In guix/gexp.scm:
>> 222:2 1 (lower-object (#<inferior-package linux-libre@4.19.81
>> 7f358c6…>) …)
>> 201:36 0 (lookup-compiler (#<inferior-package linux-libre@4.19.81
>> 7f358…>))
>>
>> guix/gexp.scm:201:36: In procedure lookup-compiler:
>> In procedure struct_vtable: Wrong type argument in position 1
>> (expecting struct): (#<inferior-package linux-libre@4.19.81
>> 7f358c651660>)
>
> https://lists.gnu.org/archive/html/bug-guix/2018-12/msg00153.html
>
> Relevant bug issue.
I figured it out, nevermind!
Final solution:
(define kernel-inferior-channel
;; This is the old revision from which
;; we will obtain our desired kernel version.
(list (channel
(name 'guix)
(url "https://git.savannah.gnu.org/git/guix.git")
(commit
"fd41243c819635795f4e4bdef1e2823db5234e24"))))
(define linux-libre-4.19.81-inf
(first
(lookup-inferior-packages
(inferior-for-channels kernel-inferior-channel)
"linux-libre" "4.19.81")))
... in operating-system ...
(kernel linux-libre-4.19.81-inf)
next prev parent reply other threads:[~2019-11-20 2:05 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-11-19 20:02 System-level inferiors brettg
2019-11-20 1:29 ` brettg
2019-11-20 1:35 ` brettg
2019-11-20 1:55 ` brettg
2019-11-20 2:05 ` brettg [this message]
2019-11-20 10:57 ` Pierre Neidhardt
2019-11-20 16:13 ` brettg
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7dc16ac6617c713631a29f639397f6d0@posteo.net \
--to=brettg@posteo.net \
--cc=help-guix-bounces+brettg=posteo.net@gnu.org \
--cc=help-guix@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 external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.