help-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: System-level inferiors.


From: brettg
Subject: Re: System-level inferiors.
Date: Wed, 20 Nov 2019 03:05:40 +0100
User-agent: Posteo Webmail



On 20.11.2019 02:55, address@hidden wrote:
On 20.11.2019 02:35, address@hidden wrote:
On 20.11.2019 02:29, address@hidden wrote:
On 19.11.2019 21:02, address@hidden 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)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]