Subject: [bug#61789] [PATCH 18/27] services: dbus: Deprecate 'polkit-service' procedure.

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

* doc/guix.texi (Desktop Services): Replace 'polkit-service' with 'polkit-service-type'.
* gnu/services/dbus.scm (polkit-service): Deprecate procedure.
* gnu/tests/docker.scm (%docker-os): Use polkit-service-type.
* gnu/tests/virtualization.scm (%libvirt-os): Ditto.
---
 doc/guix.texi                | 14 +++++++++-----
 gnu/services/dbus.scm        |  6 ++++--
 gnu/tests/docker.scm         |  2 +-
 gnu/tests/virtualization.scm |  2 +-
 4 files changed, 15 insertions(+), 9 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index 1831528ef3..4ed77d6715 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -23432,16 +23432,20 @@ Desktop Services
 set to @code{accountsservice} (the package object for AccountsService).
 @end defvar
 
-@deffn {Scheme Procedure} polkit-service @
-                         [#:polkit @var{polkit}]
-Return a service that runs the
-@uref{https://www.freedesktop.org/wiki/Software/polkit/, Polkit privilege
+@defvar polkit-service-type
+Type for the service that runs the
+@url{https://www.freedesktop.org/wiki/Software/polkit/, Polkit privilege
 management service}, which allows system administrators to grant access to
 privileged operations in a structured way.  By querying the Polkit service, a
 privileged system component can know when it should grant additional
 capabilities to ordinary users.  For example, an ordinary user can be granted
 the capability to suspend the system if the user is logged in locally.
-@end deffn
+
+The value for this service is a @code{<polkit-configuration>} object.
+@end defvar
+
+@c TODO: Document <polkit-configuration>, preferably by refactoring this to use
+@c       define-configuration and generating documentation from it.
 
 @defvar polkit-wheel-service
 Service that adds the @code{wheel} group as admins to the Polkit
diff --git a/gnu/services/dbus.scm b/gnu/services/dbus.scm
index 5efd6bdadf..ea2593501f 100644
--- a/gnu/services/dbus.scm
+++ b/gnu/services/dbus.scm
@@ -28,6 +28,7 @@ (define-module (gnu services dbus)
   #:use-module ((gnu packages glib) #:select (dbus))
   #:use-module (gnu packages polkit)
   #:use-module (gnu packages admin)
+  #:use-module (guix deprecation)
   #:use-module (guix gexp)
   #:use-module ((guix packages) #:select (package-name))
   #:use-module (guix records)
@@ -43,7 +44,7 @@ (define-module (gnu services dbus)
             polkit-configuration
             polkit-configuration?
             polkit-service-type
-            polkit-service))
+            polkit-service))  ; deprecated
 
 ;;;
 ;;; D-Bus.
@@ -404,7 +405,8 @@ (define polkit-service-type
 privileged operations in a structured way.  Polkit is a requirement for most
 desktop environments, such as GNOME.")))
 
-(define* (polkit-service #:key (polkit polkit))
+(define-deprecated (polkit-service #:key (polkit polkit))
+  polkit-service-type
   "Return a service that runs the
 @uref{http://www.freedesktop.org/wiki/Software/polkit/, Polkit privilege
 management service}, which allows system administrators to grant access to
diff --git a/gnu/tests/docker.scm b/gnu/tests/docker.scm
index 4267ff89a8..e464ec587e 100644
--- a/gnu/tests/docker.scm
+++ b/gnu/tests/docker.scm
@@ -49,7 +49,7 @@ (define %docker-os
   (simple-operating-system
    (service dhcp-client-service-type)
    (dbus-service)
-   (polkit-service)
+   (service polkit-service-type)
    (service elogind-service-type)
    (service docker-service-type)))
 
diff --git a/gnu/tests/virtualization.scm b/gnu/tests/virtualization.scm
index 60789fbb5b..6749ade4bd 100644
--- a/gnu/tests/virtualization.scm
+++ b/gnu/tests/virtualization.scm
@@ -50,7 +50,7 @@ (define %libvirt-os
   (simple-operating-system
    (service dhcp-client-service-type)
    (dbus-service)
-   (polkit-service)
+   (service polkit-service-type)
    (service libvirt-service-type)))
 
 (define (run-libvirt-test)
-- 
2.39.1