[PATCH 0/2] Make 'description' of <service-type> mandatory

DoneSubmitted by Ludovic Courtès.
Details
2 participants
  • Ludovic Courtès
  • Maxim Cournoyer
Owner
unassigned
Severity
normal
L
L
Ludovic Courtès wrote on 13 May 23:43 +0200
(address . guix-patches@gnu.org)(name . Ludovic Courtès)(address . ludo@gnu.org)
20220513214318.27355-1-ludo@gnu.org
Hi!

This change makes the ‘description’ field of <service-type> mandatory.
I think it’s necessary if we are to make ‘guix system search’, ‘guix
home search’, and similar tools useful.

Objections?

Thanks,
Ludo’.

Ludovic Courtès (2):
services: Add more description fields.
services: Make <service-type> 'description' field mandatory.

gnu/services.scm | 6 +++---
gnu/services/base.scm | 3 ++-
gnu/system/install.scm | 6 ++++--
gnu/tests.scm | 7 +++++--
4 files changed, 14 insertions(+), 8 deletions(-)


base-commit: 2e6f4220cffc72f55f5390a57499e95fc9a03796
--
2.36.0
L
L
Ludovic Courtès wrote on 13 May 23:46 +0200
[PATCH 1/2] services: Add more description fields.
(address . 55404@debbugs.gnu.org)(name . Ludovic Courtès)(address . ludo@gnu.org)
20220513214645.27434-1-ludo@gnu.org
* gnu/services.scm (simple-service): Add 'description' field.
* gnu/services/base.scm (udev-rules-service): Likewise.
* gnu/system/install.scm (configuration-template-service-type): Likewise.
* gnu/tests.scm (marionette-service-type): Likewise.
---
gnu/services.scm | 3 ++-
gnu/services/base.scm | 3 ++-
gnu/system/install.scm | 6 ++++--
gnu/tests.scm | 7 +++++--
4 files changed, 13 insertions(+), 6 deletions(-)

Toggle diff (75 lines)
diff --git a/gnu/services.scm b/gnu/services.scm
index e3d4fcc232..234ee372b8 100644
--- a/gnu/services.scm
+++ b/gnu/services.scm
@@ -292,7 +292,8 @@ (define (simple-service name target value)
 singleton service type NAME, of which the returned service is an instance."
   (let* ((extension (service-extension target identity))
          (type      (service-type (name name)
-                                  (extensions (list extension)))))
+                                  (extensions (list extension))
+                                  (description "This is a simple service."))))
     (service type value)))
 
 (define-syntax %modify-service
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index bcec888587..3fb92e6da0 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -2191,7 +2191,8 @@ (define* (udev-rules-service name rules #:key (groups '()))
                              (service-extension
                               account-service-type account-extension)
                              (service-extension
-                              udev-service-type udev-extension))))))
+                              udev-service-type udev-extension)))
+                (description "This service adds udev rules."))))
     (service type #f)))
 
 (define (swap-space->shepherd-service-name space)
diff --git a/gnu/system/install.scm b/gnu/system/install.scm
index 073d7df1db..2fbf08f676 100644
--- a/gnu/system/install.scm
+++ b/gnu/system/install.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2014-2022 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2016 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
@@ -252,7 +252,9 @@ (define configuration-template-service-type
   (service-type (name 'configuration-template)
                 (extensions
                  (list (service-extension etc-service-type
-                                          /etc/configuration-files)))))
+                                          /etc/configuration-files)))
+                (description "Install the operating system configuration file
+templates under @file{/etc/configuration}.")))
 
 (define %configuration-template-service
   (service configuration-template-service-type #t))
diff --git a/gnu/tests.scm b/gnu/tests.scm
index 85f38ae8c9..ca677d315b 100644
--- a/gnu/tests.scm
+++ b/gnu/tests.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2016-2020, 2022 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
 ;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
@@ -161,7 +161,10 @@ (define marionette-service-type
   (service-type (name 'marionette-repl)
                 (extensions
                  (list (service-extension shepherd-root-service-type
-                                          marionette-shepherd-service)))))
+                                          marionette-shepherd-service)))
+                (description "The @dfn{marionette} service allows a guest
+system (virtual machine) to be manipulated by the host.  It is used for system
+tests.")))
 
 (define* (marionette-operating-system os
                                       #:key
-- 
2.36.0
L
L
Ludovic Courtès wrote on 13 May 23:46 +0200
[PATCH 2/2] services: Make <service-type> 'description' field mandatory.
(address . 55404@debbugs.gnu.org)(name . Ludovic Courtès)(address . ludo@gnu.org)
20220513214645.27434-2-ludo@gnu.org
* gnu/services.scm (<service-type>)[description]: Remove default value.
---
gnu/services.scm | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

Toggle diff (16 lines)
diff --git a/gnu/services.scm b/gnu/services.scm
index 234ee372b8..6f0f4d5bdc 100644
--- a/gnu/services.scm
+++ b/gnu/services.scm
@@ -183,8 +183,7 @@ (define-record-type* <service-type> service-type make-service-type
                  (default &no-default-value))
 
   ;; Meta-data.
-  (description  service-type-description          ;string
-                (default #f))
+  (description  service-type-description)         ;string
   (location     service-type-location             ;<location>
                 (default (and=> (current-source-location)
                                 source-properties->location))
-- 
2.36.0
M
M
Maxim Cournoyer wrote on 18 May 06:43 +0200
Re: bug#55404: [PATCH 0/2] Make 'description' of <service-type> mandatory
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 55404@debbugs.gnu.org)
87h75n1mdr.fsf@gmail.com
Hello Ludovic,

Ludovic Courtès <ludo@gnu.org> writes:

Toggle quote (8 lines)
> Hi!
>
> This change makes the ‘description’ field of <service-type> mandatory.
> I think it’s necessary if we are to make ‘guix system search’, ‘guix
> home search’, and similar tools useful.
>
> Objections?

None. Go for it!

(LGTM)

Maxim
L
L
Ludovic Courtès wrote on 18 May 22:37 +0200
(name . Maxim Cournoyer)(address . maxim.cournoyer@gmail.com)(address . 55404-done@debbugs.gnu.org)
87ilq21srf.fsf_-_@gnu.org
Hello,

Maxim Cournoyer <maxim.cournoyer@gmail.com> skribis:

Toggle quote (12 lines)
> Ludovic Courtès <ludo@gnu.org> writes:
>
>> Hi!
>>
>> This change makes the ‘description’ field of <service-type> mandatory.
>> I think it’s necessary if we are to make ‘guix system search’, ‘guix
>> home search’, and similar tools useful.
>>
>> Objections?
>
> None. Go for it!

Alright, pushed as 3948ac25b1dccc40c7fdf56377f94a0775a835ee with
additional ‘tests/services.scm’ changes I had forgotten.

Thanks for taking a look!

Ludo’.
Closed
?