Subject: [PATCH 01/27] services: base: Deprecate 'host-name-service' procedure.

From: Bruno Victal <[email-masked]>
Date: Sat, 25 Feb 2023 18:57:47 +0000

* doc/guix.texi (operating-system Reference): Reorder cross-reference.
Add an anchor to be used ...
(Base services): ... here by host-name-service-type. Document
host-name-service-type.
* gnu/services/base.scm: Export host-name-service-type.
(host-name-service): Deprecate procedure.
* gnu/system.scm (operating-system-default-essential-services): Use
host-name-service-type.
---
 doc/guix.texi         | 16 ++++++++++------
 gnu/services/base.scm |  6 ++++--
 gnu/system.scm        |  2 +-
 3 files changed, 15 insertions(+), 9 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index a7ef00f421..9d5dd495c0 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -16640,12 +16640,14 @@ operating-system Reference
 @item @code{services} (default: @code{%base-services})
 A list of service objects denoting system services.  @xref{Services}.
 
+@anchor{operating-system-essential-services}
 @cindex essential services
 @item @code{essential-services} (default: ...)
 The list of ``essential services''---i.e., things like instances of
-@code{system-service-type} and @code{host-name-service-type} (@pxref{Service
-Reference}), which are derived from the operating system definition itself.
-As a user you should @emph{never} need to touch this field.
+@code{system-service-type} (@pxref{Service Reference}) and
+@code{host-name-service-type}, which are derived from the operating
+system definition itself.  As a user you should @emph{never} need to
+touch this field.
 
 @item @code{pam-services} (default: @code{(base-pam-services)})
 @cindex PAM
@@ -18018,9 +18020,11 @@ Base Services
 @end lisp
 @end deffn
 
-@deffn {Scheme Procedure} host-name-service @var{name}
-Return a service that sets the host name to @var{name}.
-@end deffn
+@defvar host-name-service-type
+Type of the service that sets the system host name, whose value
+is a string. This service is included in @code{operating-system} by
+default (@pxref{operating-system-essential-services,@code{essential-services}}).
+@end defvar
 
 @defvar console-font-service-type
 Install the given fonts on the specified ttys (fonts are per
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index 7ad1e765bd..c471107883 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -99,7 +99,8 @@ (define-module (gnu services base)
             file-system-service-type
             file-system-utilities
             swap-service
-            host-name-service
+            host-name-service  ; deprecated
+            host-name-service-type
             %default-console-font
             console-font-service-type
             console-font-service
@@ -778,7 +779,8 @@ (define host-name-service-type
       (one-shot? #t)))
    (description "Initialize the machine's host name.")))
 
-(define (host-name-service name)
+(define-deprecated (host-name-service name)
+  host-name-service-type
   "Return a service that sets the host name to @var{name}."
   (service host-name-service-type name))
 
diff --git a/gnu/system.scm b/gnu/system.scm
index 53f3c62bb0..bb26d7c9a5 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -782,7 +782,7 @@ (define (operating-system-default-essential-services os)
                             (operating-system-file-systems os)))
            (session-environment-service
             (operating-system-environment-variables os))
-           (host-name-service host-name)
+           (service host-name-service-type host-name)
            procs root-fs
            (service setuid-program-service-type
                     (operating-system-setuid-programs os))
-- 
2.39.1