[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
?
Your comment

This issue is archived.

To comment on this conversation send an email to 55404@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 55404
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch