Subject: bug#39866: closed (Re: [bug#39866] [PATCH] services: cuirass: Allow passing extra command line options.)

From: [email-masked] (GNU bug Tracking System)
Date: Sun, 08 Mar 2020 23:57:01 +0000

Your bug report

#39866: [PATCH] services: cuirass: Allow passing extra command line options.

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
39866: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=39866
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: [bug#39866] [PATCH] services: cuirass: Allow passing extra command line options.
From: Christopher Baines <[email-masked]>
To: Ludovic Courtès <[email-masked]>
Cc: [email-masked]
Date: Sun, 08 Mar 2020 23:55:56 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

Ludovic Courtès <[email-masked]> writes:

> Christopher Baines <[email-masked]> skribis:
>
>> This is so that the options supported by the service configuration don't have
>> to always be changed. Generally though all options should be explicitly
>> supported and documented, so this is mostly to facilitate experimentation.
>>
>> * gnu/services/cuirass.scm (<cuirass-configuration>): Add an extra-options
>> field.
>> (cuirass-shepherd-service): Pass the extra options to the shepherd servvices.
>> * doc/guix.texi (Continuous Integration): Document it.
>
> LGTM too!

Thanks for taking a look, I've pushed this now :)

Subject: [PATCH] services: cuirass: Allow passing extra command line options.
From: Christopher Baines <[email-masked]>
To: [email-masked]
Date: Mon, 2 Mar 2020 08:02:33 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

This is so that the options supported by the service configuration don't have
to always be changed. Generally though all options should be explicitly
supported and documented, so this is mostly to facilitate experimentation.

* gnu/services/cuirass.scm (<cuirass-configuration>): Add an extra-options
field.
(cuirass-shepherd-service): Pass the extra options to the shepherd servvices.
* doc/guix.texi (Continuous Integration): Document it.
---
 doc/guix.texi            |  3 +++
 gnu/services/cuirass.scm | 13 +++++++++----
 2 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index fab9159530..43fd17e59f 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -22445,6 +22445,9 @@ Only evaluate specifications and build derivations once.
 When substituting a pre-built binary fails, fall back to building
 packages locally.
 
+@item @code{extra-options} (default: @code{'()})
+Extra options to pass when running the Cuirass processes.
+
 @item @code{cuirass} (default: @code{cuirass})
 The Cuirass package to use.
 @end table
diff --git a/gnu/services/cuirass.scm b/gnu/services/cuirass.scm
index 7bfb021161..0f4f0f9948 100644
--- a/gnu/services/cuirass.scm
+++ b/gnu/services/cuirass.scm
@@ -77,7 +77,9 @@
   (one-shot?        cuirass-configuration-one-shot? ;boolean
                     (default #f))
   (fallback?        cuirass-configuration-fallback? ;boolean
-                    (default #f)))
+                    (default #f))
+  (extra-options    cuirass-configuration-extra-options
+                    (default '())))
 
 (define (cuirass-shepherd-service config)
   "Return a <shepherd-service> for the Cuirass service with CONFIG."
@@ -95,7 +97,8 @@
         (specs            (cuirass-configuration-specifications config))
         (use-substitutes? (cuirass-configuration-use-substitutes? config))
         (one-shot?        (cuirass-configuration-one-shot? config))
-        (fallback?        (cuirass-configuration-fallback? config)))
+        (fallback?        (cuirass-configuration-fallback? config))
+        (extra-options    (cuirass-configuration-extra-options config)))
     (list (shepherd-service
            (documentation "Run Cuirass.")
            (provision '(cuirass))
@@ -110,7 +113,8 @@
                            "--interval" #$(number->string interval)
                            #$@(if use-substitutes? '("--use-substitutes") '())
                            #$@(if one-shot? '("--one-shot") '())
-                           #$@(if fallback? '("--fallback") '()))
+                           #$@(if fallback? '("--fallback") '())
+                           #$@extra-options)
 
                      #:environment-variables
                      (list "GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt"
@@ -137,7 +141,8 @@
                            "--listen" #$host
                            "--interval" #$(number->string interval)
                            #$@(if use-substitutes? '("--use-substitutes") '())
-                           #$@(if fallback? '("--fallback") '()))
+                           #$@(if fallback? '("--fallback") '())
+                           #$@extra-options)
 
                      #:user #$user
                      #:group #$group
-- 
2.25.0