Re: System-level inferiors.

2019-11-20 Thread brettg




On 20.11.2019 11:57, Pierre Neidhardt wrote:

This is very nice.
As far as I know, the inferior interface is still "unstable", but this
would be a good start for a blog/cookbook article nonetheless! :)


Pierre,

I think something like this definitely should go in the cookbook 
regarding inferiors and the time-machine mechanism.


Let me know what I can do to help.

Brett



Re: System-level inferiors.

2019-11-19 Thread brettg




On 20.11.2019 02:55, bre...@posteo.net wrote:

On 20.11.2019 02:35, bre...@posteo.net wrote:

On 20.11.2019 02:29, bre...@posteo.net wrote:

On 19.11.2019 21:02, bre...@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): (#)

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 _ _ #(key …> …)
829:9 15 (catch _ _ #(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 # _ 
# _ # …)

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 (#7f358c6…>) …)
   201:36  0 (lookup-compiler (#7f358…>))


guix/gexp.scm:201:36: In procedure lookup-compiler:
In procedure struct_vtable: Wrong type argument in position 1
(expecting struct): (#)


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)



Re: System-level inferiors.

2019-11-19 Thread brettg




On 20.11.2019 02:35, bre...@posteo.net wrote:

On 20.11.2019 02:29, bre...@posteo.net wrote:

On 19.11.2019 21:02, bre...@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): (#)

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 _ _ #(key …> …)
829:9 15 (catch _ _ #(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 # _ 
# _ # …)

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 (#7f358c6…>) …)
   201:36  0 (lookup-compiler (#7f358…>))


guix/gexp.scm:201:36: In procedure lookup-compiler:
In procedure struct_vtable: Wrong type argument in position 1
(expecting struct): (#)


https://lists.gnu.org/archive/html/bug-guix/2018-12/msg00153.html

Relevant bug issue.



Re: System-level inferiors.

2019-11-19 Thread brettg




On 20.11.2019 02:29, bre...@posteo.net wrote:

On 19.11.2019 21:02, bre...@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): (#)

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 _ _ #(key …> …)
829:9 15 (catch _ _ #(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 # _ # 
_ # …)

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 (#7f358c6…>) …)
   201:36  0 (lookup-compiler (#7f358…>))


guix/gexp.scm:201:36: In procedure lookup-compiler:
In procedure struct_vtable: Wrong type argument in position 1 (expecting 
struct): (#)




Re: System-level inferiors.

2019-11-19 Thread brettg




On 19.11.2019 21:02, bre...@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): (#)


Will keep investigating a way to do this.

Brett Gilio