Re: Unable to configure a system with 'cuirass-service'
ng0writes: > Mathieu Lirzin writes: > >> Hi, >> >> Mathieu Lirzin writes: >> >>> Carlo Zancanaro writes: >>> On Thu, Dec 01 2016, ng0 wrote > I tried that before (though I did just think it was wrong) and now I > get the same message as yesterday: > > ... > > In gnu/services/cuirass.scm: 81: 1 [cuirass-shepherd-service #] In > unknown file:?: 0 [string=? "" ((# # # # ...))] > > ERROR: In procedure string=?: ERROR: In procedure string=: Wrong > type argument in position 2 (expecting string): (((#:name . "guix") > (#:url . "git://git.savannah.gnu.org/guix.git") (#:load-path . ".") > (#:file . "/.../cuirass/tests/gnu-system.scm") (#:proc . hydra-jobs) > (#:arguments (subset . "hello")) (#:branch . "master"))) It looks like cuirass is expecting the specifications to be a string, not a list. I don't know anything about cuirass, so I can't help you to configure the cuirass-service. Looking at the source, specifications has a comment ";string (file-name)". It looks like the "specifications" field of the configuration is just equivalent to the --specifications argument to the cuirass command, if that helps at all. >>> >>> Indeed, this is a mistake on my side. Here are 2 patches that should >>> fix this issue. >> >> I went ahead and pushed them in commits: >> >> - 44ccd9622eb4a0083d4f833a61172973390ca62b >> - 57aa94bd7e7d530e52356723c8f1dbf727144b25 >> >> Thanks, >> >> -- >> Mathieu Lirzin >> > > Thanks, I wasn't able to test them before and provide you with > feedback, I was just busy and the CI is kind of low priority for > gnunet. Sure no problem. -- Mathieu Lirzin
Re: Unable to configure a system with 'cuirass-service'
Mathieu Lirzinwrites: > Hi, > > Mathieu Lirzin writes: > >> Carlo Zancanaro writes: >> >>> On Thu, Dec 01 2016, ng0 wrote I tried that before (though I did just think it was wrong) and now I get the same message as yesterday: ... In gnu/services/cuirass.scm: 81: 1 [cuirass-shepherd-service #] In unknown file:?: 0 [string=? "" ((# # # # ...))] ERROR: In procedure string=?: ERROR: In procedure string=: Wrong type argument in position 2 (expecting string): (((#:name . "guix") (#:url . "git://git.savannah.gnu.org/guix.git") (#:load-path . ".") (#:file . "/.../cuirass/tests/gnu-system.scm") (#:proc . hydra-jobs) (#:arguments (subset . "hello")) (#:branch . "master"))) >>> >>> It looks like cuirass is expecting the specifications to be a string, >>> not a list. I don't know anything about cuirass, so I can't help you >>> to configure the cuirass-service. >>> >>> Looking at the source, specifications has a comment ";string >>> (file-name)". It looks like the "specifications" field of the >>> configuration is just equivalent to the --specifications argument to the >>> cuirass command, if that helps at all. >> >> Indeed, this is a mistake on my side. Here are 2 patches that should >> fix this issue. > > I went ahead and pushed them in commits: > > - 44ccd9622eb4a0083d4f833a61172973390ca62b > - 57aa94bd7e7d530e52356723c8f1dbf727144b25 > > Thanks, > > -- > Mathieu Lirzin > Thanks, I wasn't able to test them before and provide you with feedback, I was just busy and the CI is kind of low priority for gnunet. But we'd like to get a CI running on our own infrastructure on systems like GuixSD as far as I understood conversations so far. But I am aware that a general CI might still take some time with cuirass. -- ♥Ⓐ ng0 | ng0.chaosnet.org
Re: Unable to configure a system with 'cuirass-service'
Hi, Mathieu Lirzinwrites: > Carlo Zancanaro writes: > >> On Thu, Dec 01 2016, ng0 wrote >>> I tried that before (though I did just think it was wrong) and now I >>> get the same message as yesterday: >>> >>> ... >>> >>> In gnu/services/cuirass.scm: 81: 1 [cuirass-shepherd-service #] In >>> unknown file:?: 0 [string=? "" ((# # # # ...))] >>> >>> ERROR: In procedure string=?: ERROR: In procedure string=: Wrong >>> type argument in position 2 (expecting string): (((#:name . "guix") >>> (#:url . "git://git.savannah.gnu.org/guix.git") (#:load-path . ".") >>> (#:file . "/.../cuirass/tests/gnu-system.scm") (#:proc . hydra-jobs) >>> (#:arguments (subset . "hello")) (#:branch . "master"))) >> >> It looks like cuirass is expecting the specifications to be a string, >> not a list. I don't know anything about cuirass, so I can't help you >> to configure the cuirass-service. >> >> Looking at the source, specifications has a comment ";string >> (file-name)". It looks like the "specifications" field of the >> configuration is just equivalent to the --specifications argument to the >> cuirass command, if that helps at all. > > Indeed, this is a mistake on my side. Here are 2 patches that should > fix this issue. I went ahead and pushed them in commits: - 44ccd9622eb4a0083d4f833a61172973390ca62b - 57aa94bd7e7d530e52356723c8f1dbf727144b25 Thanks, -- Mathieu Lirzin
Re: Unable to configure a system with 'cuirass-service'
Hi, Carlo Zancanarowrites: > On Thu, Dec 01 2016, ng0 wrote >> I tried that before (though I did just think it was wrong) and now I >> get the same message as yesterday: >> >> ... >> >> In gnu/services/cuirass.scm: 81: 1 [cuirass-shepherd-service #] In >> unknown file:?: 0 [string=? "" ((# # # # ...))] >> >> ERROR: In procedure string=?: ERROR: In procedure string=: Wrong >> type argument in position 2 (expecting string): (((#:name . "guix") >> (#:url . "git://git.savannah.gnu.org/guix.git") (#:load-path . ".") >> (#:file . "/.../cuirass/tests/gnu-system.scm") (#:proc . hydra-jobs) >> (#:arguments (subset . "hello")) (#:branch . "master"))) > > It looks like cuirass is expecting the specifications to be a string, > not a list. I don't know anything about cuirass, so I can't help you > to configure the cuirass-service. > > Looking at the source, specifications has a comment ";string > (file-name)". It looks like the "specifications" field of the > configuration is just equivalent to the --specifications argument to the > cuirass command, if that helps at all. Indeed, this is a mistake on my side. Here are 2 patches that should fix this issue. >From 707d6f7255eeab39b6694bc81537966cbca0e61d Mon Sep 17 00:00:00 2001 From: Mathieu Lirzin Date: Thu, 1 Dec 2016 21:10:18 +0100 Subject: [PATCH 1/2] gnu: cuirass: Update to revision 2. * gnu/packages/ci.scm (cuirass): Update to revision 2. --- gnu/packages/ci.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm index f07e75a..d88ee6d 100644 --- a/gnu/packages/ci.scm +++ b/gnu/packages/ci.scm @@ -185,8 +185,8 @@ their dependencies.") (license l:gpl3+ (define-public cuirass - (let ((commit "7248c0038f3d0bfcf6c469d534efb4a13952c112") -(revision "1")) + (let ((commit "05eba838eab4ca928d8df926d70677821714e962") +(revision "2")) (package (name "cuirass") (version (string-append "0.0.1-" revision "." (string-take commit 7))) @@ -198,7 +198,7 @@ their dependencies.") (file-name (string-append name "-" version)) (sha256 (base32 - "0hkwh2pcz3wzg1n533ch2w7vwr97yr369q4ki0yqk99wfipjrydw" + "17bchil0dxflf74fncpr6drbpvc43a0hnvp22gp9w58kwpskwvri" (build-system gnu-build-system) (arguments '(#:phases -- 2.10.2 >From ab369ae1b894bcbb4045aa70b30399543eb4b050 Mon Sep 17 00:00:00 2001 From: Mathieu Lirzin Date: Thu, 1 Dec 2016 20:41:08 +0100 Subject: [PATCH 2/2] services: cuirass: Put specifications in the store. * gnu/services/cuirass.scm (): Change type of 'specifications' field to an alist to match the documentation example. (cuirass-shepherd-service): Store the provided specifications in a file. Use that file as the "--specification" argument. --- gnu/services/cuirass.scm | 12 +++- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/gnu/services/cuirass.scm b/gnu/services/cuirass.scm index d843c07..4975a7e 100644 --- a/gnu/services/cuirass.scm +++ b/gnu/services/cuirass.scm @@ -52,8 +52,8 @@ (default 60)) (database cuirass-configuration-database ;string (file-name) (default "/var/run/cuirass/cuirass.db")) - (specifications cuirass-configuration-specifications ;string (file-name) -(default "")) + (specifications cuirass-configuration-specifications ;specification-alist +(default '())) (use-substitutes? cuirass-configuration-use-substitutes? ;boolean (default #f)) (one-shot?cuirass-configuration-one-shot? ;boolean @@ -66,7 +66,7 @@ (let ((cache-directory (cuirass-configuration-cache-directory config)) (interval (cuirass-configuration-interval config)) (database (cuirass-configuration-database config)) - (specifications (cuirass-configuration-specifications config)) + (specs(cuirass-configuration-specifications config)) (use-substitutes? (cuirass-configuration-use-substitutes? config)) (one-shot?(cuirass-configuration-one-shot? config))) (list (shepherd-service @@ -78,9 +78,11 @@ #$@(if (string=? "" cache-directory) '() (list "--cache-directory" cache-directory)) -#$@(if (string=? "" specifications) +#$@(if (null? specs) '() - (list "--specifications" specifications)) + (let ((str (format #f "'~S" specs))) + (list "--specifications" + (plain-file "specs.scm" str
Re: Unable to configure a system with 'cuirass-service'
On Thu, Dec 01 2016, ng0 wrote I tried that before (though I did just think it was wrong) and now I get the same message as yesterday: ... In gnu/services/cuirass.scm: 81: 1 [cuirass-shepherd-service #] In unknown file: ?: 0 [string=? "" ((# # # # ...))] ERROR: In procedure string=?: ERROR: In procedure string=: Wrong type argument in position 2 (expecting string): (((#:name . "guix") (#:url . "git://git.savannah.gnu.org/guix.git") (#:load-path . ".") (#:file . "/.../cuirass/tests/gnu-system.scm") (#:proc . hydra-jobs) (#:arguments (subset . "hello")) (#:branch . "master"))) It looks like cuirass is expecting the specifications to be a string, not a list. I don't know anything about cuirass, so I can't help you to configure the cuirass-service. Looking at the source, specifications has a comment ";string (file-name)". It looks like the "specifications" field of the configuration is just equivalent to the --specifications argument to the cuirass command, if that helps at all. signature.asc Description: PGP signature
Re: Unable to configure a system with 'cuirass-service'
Carlo Zancanarowrites: > On Thu, Dec 01 2016, ng0 wrote >> https://ptpb.pw/gQOZ.scm with this change it fails differently: > > This is wrong again, but for a different reason. The > `%desktop-services` must be the last argument to the `cons*` call. I tried that before (though I did just think it was wrong) and now I get the same message as yesterday: ng0@greendragon ~$ sudo guix system build /etc/config.scm Backtrace: In ice-9/boot-9.scm: 1727: 19 [%start-stack load-stack ...] 1732: 18 [#] In unknown file: ?: 17 [primitive-load "/gnu/store/vk6q4xahpy1dvs5ig3gg699fgszbf8ay-guix-0.11.0-4.1f41/bin/.guix-real"] In guix/ui.scm: 1222: 16 [run-guix-command system "build" "/etc/config.scm"] In ice-9/boot-9.scm: 160: 15 [catch srfi-34 # ...] 160: 14 [catch system-error ...] In guix/scripts/system.scm: 954: 13 [#] 841: 12 [process-action build ("/etc/config.scm") ...] In guix/store.scm: 1215: 11 [run-with-store # ...] In guix/scripts/system.scm: 853: 10 [# #] 611: 9 [perform-action build # # ...] In gnu/system.scm: 635: 8 [operating-system-derivation # # #f] In gnu/services.scm: 585: 7 [loop #] In srfi/srfi-1.scm: 575: 6 [map # (# # #)] In gnu/services.scm: 585: 5 [loop #< type: # parameters: #>] In srfi/srfi-1.scm: 575: 4 [map # (# # # # ...)] In gnu/services.scm: 585: 3 [loop #< type: # parameters: ()>] In srfi/srfi-1.scm: 573: 2 [map # (# # # # ...)] In gnu/services/cuirass.scm: 81: 1 [cuirass-shepherd-service #] In unknown file: ?: 0 [string=? "" ((# # # # ...))] ERROR: In procedure string=?: ERROR: In procedure string=: Wrong type argument in position 2 (expecting string): (((#:name . "guix") (#:url . "git://git.savannah.gnu.org/guix.git") (#:load-path . ".") (#:file . "/.../cuirass/tests/gnu-system.scm") (#:proc . hydra-jobs) (#:arguments (subset . "hello")) (#:branch . "master"))) -- ♥Ⓐ ng0 | ng0.chaosnet.org
Re: Unable to configure a system with 'cuirass-service'
On Thu, Dec 01 2016, ng0 wrote https://ptpb.pw/gQOZ.scm with this change it fails differently: This is wrong again, but for a different reason. The `%desktop-services` must be the last argument to the `cons*` call. You want it to look like this (assuming my formatting comes out at least a little bit okay): (services (cons* (gnome-desktop-service) (tor-service) (console-keymap-service "de") (lsh-service) (let ((spec-guix `((#:name . "guix") (#:url . "git://git.savannah.gnu.org/guix.git") (#:load-path . ".") ;; Adapt to a valid absolute file name. (#:file . "/.../cuirass/tests/gnu-system.scm") (#:proc . hydra-jobs) (#:arguments (subset . "hello")) (#:branch . "master" (cuirass-service #:config (cuirass-configuration (specifications (list spec-guix) %desktop-services)) signature.asc Description: PGP signature
Re: Unable to configure a system with 'cuirass-service'
Sorry, I should really set up my client to add CC or even To with lists... Carlo Zancanarowrites: > On Wed, Nov 30 2016, ng0 wrote >> Is there anything obvious I have to change? [ 6 more citation lines. Click/Enter to show. ] > > Your `let` body contains both the `(cuirass-service ...)` form as > well as the `%desktop-services` form. A `let` form will take the > value of the last form in its body, so the `(cuirass-service ...)` > value is being thrown away. > > Try removing one of the closing parentheses after `%desktop-services` > and add it after the `(cuirass-service ...)` form. (This has the effect > of moving `%desktop-services` out of the `let` body.) Thanks! https://ptpb.pw/gQOZ.scm with this change it fails differently: ng0@greendragon ~$ sudo guix system build /etc/config.scm Backtrace: In ice-9/boot-9.scm: 160: 18 [catch #t # ...] In unknown file: ?: 17 [apply-smob/1 #] In ice-9/boot-9.scm: 66: 16 [call-with-prompt prompt0 ...] In ice-9/eval.scm: 432: 15 [eval # #] In ice-9/boot-9.scm: 2404: 14 [save-module-excursion #] 4056: 13 [#] 1727: 12 [%start-stack load-stack #] 1732: 11 [#] In unknown file: ?: 10 [primitive-load "/gnu/store/vk6q4xahpy1dvs5ig3gg699fgszbf8ay-guix-0.11.0-4.1f41/bin/.guix-real"] In guix/ui.scm: 1222: 9 [run-guix-command system "build" "/etc/config.scm"] In ice-9/boot-9.scm: 160: 8 [catch srfi-34 # ...] 160: 7 [catch system-error ...] In guix/scripts/system.scm: 954: 6 [#] 841: 5 [process-action build ("/etc/config.scm") ...] In guix/store.scm: 1215: 4 [run-with-store # ...] In guix/scripts/system.scm: 853: 3 [# #] 611: 2 [perform-action build # # ...] In gnu/system.scm: 635: 1 [operating-system-derivation # # #f] In unknown file: ?: 0 [append (# # # # ...) (# # # # ...)] ERROR: In procedure append: ERROR: In procedure append: Wrong type argument in position 1 (expecting empty list): #< type: # parameters: #< cache-directory: "" user: "cuirass" group: "cuirass" interval: 60 database: "/var/run/cuirass/cuirass.db" specifications: (((#:name . "guix") (#:url . "git://git.savannah.gnu.org/guix.git") (#:load-path . ".") (#:file . "/.../cuirass/tests/gnu-system.scm") (#:proc . hydra-jobs) (#:arguments (subset . "hello")) (#:branch . "master"))) use-substitutes?: #f one-shot?: #f>>
Re: Unable to configure a system with 'cuirass-service'
On Wed, Nov 30 2016, ng0 wrote Is there anything obvious I have to change? Your `let` body contains both the `(cuirass-service ...)` form as well as the `%desktop-services` form. A `let` form will take the value of the last form in its body, so the `(cuirass-service ...)` value is being thrown away. Try removing one of the closing parentheses after `%desktop-services` and add it after the `(cuirass-service ...)` form. (This has the effect of moving `%desktop-services` out of the `let` body.) signature.asc Description: PGP signature
Unable to configure a system with 'cuirass-service'
Mathieu Lirzinwrites: > Pushed in commit a7cf4eb6d99838606d8ecfa776f7e4920dfbb7f5 with bug fixed > and requested changes. > > Thanks. To begin to test the service, I tried this with this[0] system config today and failed. I tried some variations, moving around the let, checking for typos, let* instead of let, etc, but I wasn't succesful. What does this mean? I am able to configure the system with this, but finally (cuirass-service) is silently ignored and never makes it into the new system. Is there anything obvious I have to change? [0]: https://ptpb.pw/lIwS.scm