Re: Unable to configure a system with 'cuirass-service'

2016-12-15 Thread Mathieu Lirzin
ng0  writes:

> 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'

2016-12-15 Thread ng0
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. 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'

2016-12-15 Thread Mathieu Lirzin
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



Re: Unable to configure a system with 'cuirass-service'

2016-12-01 Thread Mathieu Lirzin
Hi,

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.

>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'

2016-12-01 Thread Carlo Zancanaro


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'

2016-12-01 Thread ng0
Carlo Zancanaro  writes:

> 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'

2016-12-01 Thread Carlo Zancanaro


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'

2016-12-01 Thread ng0
Sorry, I should really set up my client to add CC or even To with lists...

  Carlo Zancanaro  writes:

  > 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'

2016-11-30 Thread Carlo Zancanaro

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'

2016-11-30 Thread ng0
Mathieu Lirzin  writes:

> 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