Subject: bug#48964: closed (Re: bug#48964: [PATCH] services: Remove deprecated service procedures.)

From: [email-masked] (GNU bug Tracking System)
Date: Mon, 14 Jun 2021 16:46:02 +0000

Your bug report

#48964: [PATCH] services: Remove deprecated service procedures.

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].

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

Subject: Re: bug#48964: [PATCH] services: Remove deprecated service procedures.
From: Ludovic Courtès <[email-masked]>
To: Maxim Cournoyer <[email-masked]>
Cc: [email-masked]
Date: Mon, 14 Jun 2021 18:45:45 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Maxim Cournoyer <[email-masked]> skribis:

> Ludovic Courtès <[email-masked]> writes:
>
>> These service procedures were deprecated in January 2019, for instance
>> in commit 65a67bf711b14bc7200f6730c0f173375ca12974.
>>
>> * gnu/services/avahi.scm (avahi-service): Remove.
>> * gnu/services/base.scm (console-keymap, guix-service)
>> (guix-publish-service, gpm-service, urandom-seed-service): Remove.
>> * gnu/services/desktop.scm (upower-service, colord-service): Remove.
>> * gnu/services/mcron.scm (mcron-service): Remove.
>> * gnu/services/messaging.scm (bitlbee-service): Remove.
>> * gnu/services/networking.scm (dhcp-client-service, ntp-service)
>> (tor-service): Remove.
>> * gnu/services/xorg.scm (slim-service, gdm-service): Remove.
>
> LGTM!

Pushed as f70c3429ed0064eb4554722b4a60031385fd6785, thanks!

Ludo’.

Subject: [PATCH] services: Remove deprecated service procedures.
From: Ludovic Courtès <[email-masked]>
To: [email-masked]
Cc: Ludovic Courtès <[email-masked]>
Date: Sat, 12 Jun 2021 00:29:02 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

These service procedures were deprecated in January 2019, for instance
in commit 65a67bf711b14bc7200f6730c0f173375ca12974.

* gnu/services/avahi.scm (avahi-service): Remove.
* gnu/services/base.scm (console-keymap, guix-service)
(guix-publish-service, gpm-service, urandom-seed-service): Remove.
* gnu/services/desktop.scm (upower-service, colord-service): Remove.
* gnu/services/mcron.scm (mcron-service): Remove.
* gnu/services/messaging.scm (bitlbee-service): Remove.
* gnu/services/networking.scm (dhcp-client-service, ntp-service)
(tor-service): Remove.
* gnu/services/xorg.scm (slim-service, gdm-service): Remove.
---
 gnu/services/avahi.scm      | 35 ------------------
 gnu/services/base.scm       | 47 ------------------------
 gnu/services/desktop.scm    | 42 ---------------------
 gnu/services/mcron.scm      | 17 +--------
 gnu/services/messaging.scm  | 21 -----------
 gnu/services/networking.scm | 39 --------------------
 gnu/services/xorg.scm       | 73 -------------------------------------
 7 files changed, 1 insertion(+), 273 deletions(-)

Hi!

We do not have a formal deprecation policy, but I think 2.5 years
is more than enough for such a thing.

Thoughts?

Ludo’.

diff --git a/gnu/services/avahi.scm b/gnu/services/avahi.scm
index 7812191cb2..2dcf1d9c1b 100644
--- a/gnu/services/avahi.scm
+++ b/gnu/services/avahi.scm
@@ -40,7 +40,6 @@
             avahi-configuration-wide-area?
             avahi-configuration-domains-to-browse
 
-            avahi-service
             avahi-service-type))
 
 ;;; Commentary:
@@ -166,38 +165,4 @@ service switch (NSS) with support for @code{.local} host name resolution.")
                                             avahi-package)))
                   (default-value (avahi-configuration)))))
 
-(define-deprecated (avahi-service #:key (avahi avahi) debug?
-                                  host-name
-                                  (publish? #t)
-                                  (ipv4? #t) (ipv6? #t)
-                                  wide-area?
-                                  (domains-to-browse '()))
-  avahi-service-type
-  "Return a service that runs @command{avahi-daemon}, a system-wide
-mDNS/DNS-SD responder that allows for service discovery and
-\"zero-configuration\" host name lookups (see @uref{https://avahi.org/}), and
-extends the name service cache daemon (nscd) so that it can resolve
-@code{.local} host names using
-@uref{http://0pointer.de/lennart/projects/nss-mdns/, nss-mdns}.  Additionally,
-add the @var{avahi} package to the system profile so that commands such as
-@command{avahi-browse} are directly usable.
-
-If @var{host-name} is different from @code{#f}, use that as the host name to
-publish for this machine; otherwise, use the machine's actual host name.
-
-When @var{publish?} is true, publishing of host names and services is allowed;
-in particular, avahi-daemon will publish the machine's host name and IP
-address via mDNS on the local network.
-
-When @var{wide-area?} is true, DNS-SD over unicast DNS is enabled.
-
-Boolean values @var{ipv4?} and @var{ipv6?} determine whether to use IPv4/IPv6
-sockets."
-  (service avahi-service-type
-           (avahi-configuration
-            (avahi avahi) (debug? debug?) (host-name host-name)
-            (publish? publish?) (ipv4? ipv4?) (ipv6? ipv6?)
-            (wide-area? wide-area?)
-            (domains-to-browse domains-to-browse))))
-
 ;;; avahi.scm ends here
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index 24b3ea785b..bad755e62d 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -71,7 +71,6 @@
             file-system-service-type
             swap-service
             host-name-service
-            console-keymap-service
             %default-console-font
             console-font-service-type
             console-font-service
@@ -151,7 +150,6 @@
             guix-configuration-extra-options
             guix-configuration-log-file
 
-            guix-service
             guix-service-type
             guix-publish-configuration
             guix-publish-configuration?
@@ -163,16 +161,13 @@
             guix-publish-configuration-nar-path
             guix-publish-configuration-cache
             guix-publish-configuration-ttl
-            guix-publish-service
             guix-publish-service-type
 
             gpm-configuration
             gpm-configuration?
             gpm-service-type
-            gpm-service
 
             urandom-seed-service-type
-            urandom-seed-service
 
             rngd-configuration
             rngd-configuration?
@@ -543,10 +538,6 @@ file systems, as well as corresponding @file{/etc/fstab} entries.")))
 generator (RNG) with the value recorded when the system was last shut
 down.")))
 
-(define-deprecated (urandom-seed-service)
-  urandom-seed-service-type
-  (service urandom-seed-service-type))
-
 
 ;;;
 ;;; Add hardware random number generator to entropy pool.
@@ -651,11 +642,6 @@ to add @var{device} to the kernel's entropy pool.  The service will fail if
 @code{keyboard-layout} field of @code{operating-system}.}  Load the given list
 of console keymaps with @command{loadkeys}.")))
 
-(define-deprecated (console-keymap-service #:rest files)
-  #f
-  "Return a service to load console keymaps from @var{files}."
-  (service console-keymap-service-type files))
-
 (define %default-console-font
   ;; Note: 'LatGrkCyr-8x16' has the advantage of providing three common
   ;; scripts as well as glyphs for em dash, quotation marks, and other Unicode
@@ -1770,13 +1756,6 @@ proxy of 'guix-daemon'...~%")
    (description
     "Run the build daemon of GNU@tie{}Guix, aka. @command{guix-daemon}.")))
 
-(define-deprecated (guix-service #:optional
-                                 (config %default-guix-configuration))
-  guix-service-type
-  "Return a service that runs the Guix build daemon according to
-@var{config}."
-  (service guix-service-type config))
-
 
 (define-record-type* <guix-publish-configuration>
   guix-publish-configuration make-guix-publish-configuration
@@ -1928,19 +1907,6 @@ raise a deprecation warning if the 'compression-level' field was used."
                  "Add a Shepherd service running @command{guix publish}, a
 command that allows you to share pre-built binaries with others over HTTP.")))
 
-(define-deprecated (guix-publish-service #:key (guix guix)
-                                         (port 80) (host "localhost"))
-  guix-publish-service-type
-  "Return a service that runs @command{guix publish} listening on @var{host}
-and @var{port} (@pxref{Invoking guix publish}).
-
-This assumes that @file{/etc/guix} already contains a signing key pair as
-created by @command{guix archive --generate-key} (@pxref{Invoking guix
-archive}).  If that is not the case, the service will fail to start."
-  ;; Deprecated.
-  (service guix-publish-service-type
-           (guix-publish-configuration (guix guix) (port port) (host host))))
-
 
 ;;;
 ;;; Udev.
@@ -2282,19 +2248,6 @@ command-line options.  GPM allows users to use the mouse in the console,
 notably to select, copy, and paste text.  The default options use the
 @code{ps2} protocol, which works for both USB and PS/2 mice.")))
 
-(define-deprecated (gpm-service #:key (gpm gpm)
-                                (options %default-gpm-options))
-  gpm-service-type
-  "Run @var{gpm}, the general-purpose mouse daemon, with the given
-command-line @var{options}.  GPM allows users to use the mouse in the console,
-notably to select, copy, and paste text.  The default value of @var{options}
-uses the @code{ps2} protocol, which works for both USB and PS/2 mice.
-
-This service is not part of @var{%base-services}."
-  ;; To test in QEMU, use "-usbdevice mouse" and then, in the monitor, use
-  ;; "info mice" and "mouse_set X" to use the right mouse.
-  (service gpm-service-type
-           (gpm-configuration (gpm gpm) (options options))))
 
 (define-record-type* <kmscon-configuration>
   kmscon-configuration     make-kmscon-configuration
diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
index 265cf9f35f..cd800fcc2b 100644
--- a/gnu/services/desktop.scm
+++ b/gnu/services/desktop.scm
@@ -82,7 +82,6 @@
             upower-configuration-time-action
             upower-configuration-critical-power-action
 
-            upower-service
             upower-service-type
 
             udisks-configuration
@@ -91,7 +90,6 @@
             udisks-service-type
 
             colord-service-type
-            colord-service
 
             geoclue-application
             geoclue-configuration
@@ -285,37 +283,6 @@ used by GNOME.")
                                             upower-package)))
                   (default-value (upower-configuration)))))
 
-(define-deprecated (upower-service #:key (upower upower)
-                                   (watts-up-pro? #f)
-                                   (poll-batteries? #t)
-                                   (ignore-lid? #f)
-                                   (use-percentage-for-policy? #f)
-                                   (percentage-low 10)
-                                   (percentage-critical 3)
-                                   (percentage-action 2)
-                                   (time-low 1200)
-                                   (time-critical 300)
-                                   (time-action 120)
-                                   (critical-power-action 'hybrid-sleep))
-  upower-service-type
-  "Return a service that runs @uref{http://upower.freedesktop.org/,
-@command{upowerd}}, a system-wide monitor for power consumption and battery
-levels, with the given configuration settings.  It implements the
-@code{org.freedesktop.UPower} D-Bus interface, and is notably used by GNOME."
-  (let ((config (upower-configuration
-                 (watts-up-pro? watts-up-pro?)
-                 (poll-batteries? poll-batteries?)
-                 (ignore-lid? ignore-lid?)
-                 (use-percentage-for-policy? use-percentage-for-policy?)
-                 (percentage-low percentage-low)
-                 (percentage-critical percentage-critical)
-                 (percentage-action percentage-action)
-                 (time-low time-low)
-                 (time-critical time-critical)
-                 (time-action time-action)
-                 (critical-power-action critical-power-action))))
-    (service upower-service-type config)))
-
 
 ;;;
 ;;; GeoClue D-Bus service.
@@ -540,15 +507,6 @@ Users need to be in the @code{lp} group to access the D-Bus service.
 interface to manage the color profiles of input and output devices such as
 screens and scanners.")))
 
-(define-deprecated (colord-service #:key (colord colord))
-  colord-service-type
-  "Return a service that runs @command{colord}, a system service with a D-Bus
-interface to manage the color profiles of input and output devices such as
-screens and scanners.  It is notably used by the GNOME Color Manager graphical
-tool.  See @uref{http://www.freedesktop.org/software/colord/, the colord web
-site} for more information."
-  (service colord-service-type colord))
-
 
 ;;;
 ;;; UDisks.
diff --git a/gnu/services/mcron.scm b/gnu/services/mcron.scm
index bd4e6e7410..0e675607f3 100644
--- a/gnu/services/mcron.scm
+++ b/gnu/services/mcron.scm
@@ -31,8 +31,7 @@
             mcron-configuration-mcron
             mcron-configuration-jobs
 
-            mcron-service-type
-            mcron-service))
+            mcron-service-type))
 
 ;;; Commentary:
 ;;;
@@ -173,18 +172,4 @@ files."
                                          jobs)))))
                 (default-value (mcron-configuration)))) ;empty job list
 
-(define-deprecated (mcron-service jobs #:optional (mcron mcron))
-  mcron-service-type
-  "Return an mcron service running @var{mcron} that schedules @var{jobs}, a
-list of gexps denoting mcron job specifications.
-
-This is a shorthand for:
-@example
-  (service mcron-service-type
-           (mcron-configuration (mcron mcron) (jobs jobs)))
-@end example
-"
-  (service mcron-service-type
-           (mcron-configuration (mcron mcron) (jobs jobs))))
-
 ;;; mcron.scm ends here
diff --git a/gnu/services/messaging.scm b/gnu/services/messaging.scm
index 8f2f3914cf..0fcb7faf89 100644
--- a/gnu/services/messaging.scm
+++ b/gnu/services/messaging.scm
@@ -52,7 +52,6 @@
 
             bitlbee-configuration
             bitlbee-configuration?
-            bitlbee-service
             bitlbee-service-type
 
             quassel-configuration
@@ -889,26 +888,6 @@ string, you could instantiate a prosody service like this:
                  "Run @url{http://bitlbee.org,BitlBee}, a daemon that acts as
 a gateway between IRC and chat networks.")))
 
-(define-deprecated (bitlbee-service #:key (bitlbee bitlbee)
-                                    (interface "127.0.0.1") (port 6667)
-                                    (extra-settings ""))
-  bitlbee-service-type
-  "Return a service that runs @url{http://bitlbee.org,BitlBee}, a daemon that
-acts as a gateway between IRC and chat networks.
-
-The daemon will listen to the interface corresponding to the IP address
-specified in @var{interface}, on @var{port}.  @code{127.0.0.1} means that only
-local clients can connect, whereas @code{0.0.0.0} means that connections can
-come from any networking interface.
-
-In addition, @var{extra-settings} specifies a string to append to the
-configuration file."
-  (service bitlbee-service-type
-           (bitlbee-configuration
-            (bitlbee bitlbee)
-            (interface interface) (port port)
-            (extra-settings extra-settings))))
-
 
 ;;;
 ;;; Quassel.
diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm
index 87b3d754a3..1ae58041d3 100644
--- a/gnu/services/networking.scm
+++ b/gnu/services/networking.scm
@@ -73,7 +73,6 @@
   #:re-export (static-networking-service
                static-networking-service-type)
   #:export (%facebook-host-aliases
-            dhcp-client-service
             dhcp-client-service-type
 
             dhcpd-service-type
@@ -99,7 +98,6 @@
             ntp-server-address
             ntp-server-options
 
-            ntp-service
             ntp-service-type
 
             %openntpd-servers
@@ -126,7 +124,6 @@
             tor-configuration
             tor-configuration?
             tor-hidden-service
-            tor-service
             tor-service-type
 
             wicd-service-type
@@ -310,12 +307,6 @@ fe80::1%lo0 apps.facebook.com\n")
    (description "Run @command{dhcp}, a Dynamic Host Configuration
 Protocol (DHCP) client, on all the non-loopback network interfaces.")))
 
-(define-deprecated (dhcp-client-service #:key (dhcp isc-dhcp))
-  dhcp-client-service-type
-  "Return a service that runs @var{dhcp}, a Dynamic Host Configuration
-Protocol (DHCP) client, on all the non-loopback network interfaces."
-  (service dhcp-client-service-type dhcp))
-
 (define-record-type* <dhcpd-configuration>
   dhcpd-configuration make-dhcpd-configuration
   dhcpd-configuration?
@@ -541,21 +532,6 @@ daemon of the @uref{http://www.ntp.org, Network Time Foundation}.  The daemon
 will keep the system clock synchronized with that of the given servers.")
                 (default-value (ntp-configuration))))
 
-(define-deprecated (ntp-service #:key (ntp ntp)
-                                (servers %ntp-servers)
-                                allow-large-adjustment?)
-  ntp-service-type
-  "Return a service that runs the daemon from @var{ntp}, the
-@uref{http://www.ntp.org, Network Time Protocol package}.  The daemon will
-keep the system clock synchronized with that of @var{servers}.
-@var{allow-large-adjustment?} determines whether @command{ntpd} is allowed to
-make an initial adjustment of more than 1,000 seconds."
-  (service ntp-service-type
-           (ntp-configuration (ntp ntp)
-                              (servers servers)
-                              (allow-large-adjustment?
-                               allow-large-adjustment?))))
-
 
 ;;;
 ;;; OpenNTPD.
@@ -1059,21 +1035,6 @@ HiddenServicePort ~a ~a~%"
                  "Run the @uref{https://torproject.org, Tor} anonymous
 networking daemon.")))
 
-(define-deprecated (tor-service #:optional
-                                (config-file (plain-file "empty" ""))
-                                #:key (tor tor))
-  tor-service-type
-  "Return a service to run the @uref{https://torproject.org, Tor} anonymous
-networking daemon.
-
-The daemon runs as the @code{tor} unprivileged user.  It is passed
-@var{config-file}, a file-like object, with an additional @code{User tor} line
-and lines for hidden services added via @code{tor-hidden-service}.  Run
-@command{man tor} for information about the configuration file."
-  (service tor-service-type
-           (tor-configuration (tor tor)
-                              (config-file config-file))))
-
 (define tor-hidden-service-type
   ;; A type that extends Tor with hidden services.
   (service-type (name 'tor-hidden-service)
diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm
index 17d983ff8d..8ffea3b9dd 100644
--- a/gnu/services/xorg.scm
+++ b/gnu/services/xorg.scm
@@ -95,7 +95,6 @@
             slim-configuration-sessreg
 
             slim-service-type
-            slim-service
 
             screen-locker
             screen-locker?
@@ -108,7 +107,6 @@
 
             gdm-configuration
             gdm-service-type
-            gdm-service
 
             handle-xorg-configuration
             set-xorg-configuration))
@@ -664,49 +662,6 @@ reboot_cmd " shepherd "/sbin/reboot\n"
                   (description
                    "Run the SLiM graphical login manager for X11."))))
 
-(define-deprecated (slim-service #:key (slim slim)
-                                 (allow-empty-passwords? #t) auto-login?
-                                 (default-user "")
-                                 (theme %default-slim-theme)
-                                 (theme-name %default-slim-theme-name)
-                                 (xauth xauth) (shepherd shepherd)
-                                 (auto-login-session #f)
-                                 (startx (xorg-start-command)))
-  slim-service-type
-  "Return a service that spawns the SLiM graphical login manager, which in
-turn starts the X display server with @var{startx}, a command as returned by
-@code{xorg-start-command}.
-
-@cindex X session
-
-SLiM automatically looks for session types described by the @file{.desktop}
-files in @file{/run/current-system/profile/share/xsessions} and allows users
-to choose a session from the log-in screen using @kbd{F1}.  Packages such as
-@var{xfce}, @var{sawfish}, and @var{ratpoison} provide @file{.desktop} files;
-adding them to the system-wide set of packages automatically makes them
-available at the log-in screen.
-
-In addition, @file{~/.xsession} files are honored.  When available,
-@file{~/.xsession} must be an executable that starts a window manager
-and/or other X clients.
-
-When @var{allow-empty-passwords?} is true, allow logins with an empty
-password.  When @var{auto-login?} is true, log in automatically as
-@var{default-user} with @var{auto-login-session}.
-
-If @var{theme} is @code{#f}, the use the default log-in theme; otherwise
-@var{theme} must be a gexp denoting the name of a directory containing the
-theme to use.  In that case, @var{theme-name} specifies the name of the
-theme."
-  (service slim-service-type
-           (slim-configuration
-            (slim slim)
-            (allow-empty-passwords? allow-empty-passwords?)
-            (auto-login? auto-login?) (default-user default-user)
-            (theme theme) (theme-name theme-name)
-            (xauth xauth) (shepherd shepherd)
-            (auto-login-session auto-login-session))))
-
 
 ;;;
 ;;; Screen lockers & co.
@@ -1043,34 +998,6 @@ the GNOME desktop environment.")
                    "Run the GNOME Desktop Manager (GDM), a program that allows
 you to log in in a graphical session, whether or not you use GNOME."))))
 
-(define-deprecated (gdm-service #:key (gdm gdm)
-                                (allow-empty-passwords? #t)
-                                (x-server (xorg-wrapper)))
-  gdm-service-type
-  "Return a service that spawns the GDM graphical login manager, which in turn
-starts the X display server with @var{X}, a command as returned by
-@code{xorg-wrapper}.
-
-@cindex X session
-
-GDM automatically looks for session types described by the @file{.desktop}
-files in @file{/run/current-system/profile/share/xsessions} and allows users
-to choose a session from the log-in screen using @kbd{F1}.  Packages such as
-@var{xfce}, @var{sawfish}, and @var{ratpoison} provide @file{.desktop} files;
-adding them to the system-wide set of packages automatically makes them
-available at the log-in screen.
-
-In addition, @file{~/.xsession} files are honored.  When available,
-@file{~/.xsession} must be an executable that starts a window manager
-and/or other X clients.
-
-When @var{allow-empty-passwords?} is true, allow logins with an empty
-password."
-  (service gdm-service-type
-           (gdm-configuration
-            (gdm gdm)
-            (allow-empty-passwords? allow-empty-passwords?))))
-
 (define* (set-xorg-configuration config
                                  #:optional
                                  (login-manager-service-type
-- 
2.32.0