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

  • Done
  • quality assurance status badge
Details
2 participants
  • Ludovic Courtès
  • Maxim Cournoyer
Owner
unassigned
Submitted by
Ludovic Courtès
Severity
normal
L
L
Ludovic Courtès wrote on 13 May 2022 23:43
(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 2022 23:46
[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 2022 23:46
[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 2022 06:43
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 2022 22:37
(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
?