GNU bug report logs -
#62006
[PATCH] services: xorg: Deprecate 'screen-locker-service' procedure.
Previous Next
Reported by: Bruno Victal <mirai <at> makinata.eu>
Date: Mon, 6 Mar 2023 17:27:01 UTC
Severity: normal
Tags: patch
Done: Ludovic Courtès <ludo <at> gnu.org>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 62006 in the body.
You can then email your comments to 62006 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
ludo <at> gnu.org, guix-patches <at> gnu.org
:
bug#62006
; Package
guix-patches
.
(Mon, 06 Mar 2023 17:27:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Bruno Victal <mirai <at> makinata.eu>
:
New bug report received and forwarded. Copy sent to
ludo <at> gnu.org, guix-patches <at> gnu.org
.
(Mon, 06 Mar 2023 17:27:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
* doc/guix.texi (X Window): Replace 'screen-locker-service' with 'screen-locker-service-type'.
Document <screen-locker-configuration>.
* gnu/services/desktop.scm (desktop-services-for-system): Use screen-locker-service-type.
* gnu/services/xorg.scm: Export accessors for <screen-locker-configuration>.
(<screen-locker>): Rename to ...
(<screen-locker-configuration>): ... this.
(<screen-locker-configuration>)[empty?]: Rename to ...
(<screen-locker-configuration>)[allow-empty-password?]: ... this.
(screen-locker-pam-services): Update record name.
(screen-locker-setuid-programs): Update accessor name.
(screen-locker-service): Deprecate procedure.
---
Split from #61789.
doc/guix.texi | 32 ++++++++++++++++++++++-----
gnu/services/desktop.scm | 8 +++++--
gnu/services/xorg.scm | 47 +++++++++++++++++++++++++---------------
3 files changed, 62 insertions(+), 25 deletions(-)
diff --git a/doc/guix.texi b/doc/guix.texi
index 6671ba9305..71a3fde298 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -22206,18 +22206,38 @@ X Window
@end deffn
-@deffn {Scheme Procedure} screen-locker-service @var{package} [@var{program}]
-Add @var{package}, a package for a screen locker or screen saver whose
-command is @var{program}, to the set of setuid programs and add a PAM entry
-for it. For example:
+@defvar screen-locker-service-type
+Type for a service that adds a package for a screen locker or screen
+saver to the set of setuid programs and add a PAM entry for it. The
+value for this service is a @code{<screen-locker-configuration>} object.
+
+For example, to make XlockMore usable:
@lisp
-(screen-locker-service xlockmore "xlock")
+(service screen-locker-service-type
+ (screen-locker-configuration
+ "xlock" (file-append xlockmore "/bin/xlock") #f))
@end lisp
makes the good ol' XlockMore usable.
-@end deffn
+@end defvar
+@deftp {Data Type} screen-locker-configuration
+Data type representing the configuration of
+@code{screen-locker-service-type}.
+
+@table @asis
+@item @code{name} (type: string)
+Name of the screen locker.
+
+@item @code{program} (type: gexp)
+Path to the executable for the screen locker as a G-Expression.
+
+@item @code{allow-empty-password?} (type: boolean)
+Whether to allow empty passwords.
+
+@end table
+@end deftp
@node Printing Services
@subsection Printing Services
diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
index aa9f93997d..c0178135b0 100644
--- a/gnu/services/desktop.scm
+++ b/gnu/services/desktop.scm
@@ -1832,8 +1832,12 @@ (define* (desktop-services-for-system #:optional
(service sddm-service-type))
;; Screen lockers are a pretty useful thing and these are small.
- (screen-locker-service slock)
- (screen-locker-service xlockmore "xlock")
+ (service screen-locker-service-type
+ (screen-locker-configuration
+ "slock" (file-append slock "/bin/slock") #f))
+ (service screen-locker-service-type
+ (screen-locker-configuration
+ "xlock" (file-append xlockmore "/bin/xlock") #f))
;; Add udev rules for MTP devices so that non-root users can access
;; them.
diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm
index 5f073d05d3..c4745cecf5 100644
--- a/gnu/services/xorg.scm
+++ b/gnu/services/xorg.scm
@@ -107,10 +107,13 @@ (define-module (gnu services xorg)
slim-service-type
- screen-locker
- screen-locker?
+ screen-locker-configuration
+ screen-locker-configuration?
+ screen-locker-configuration-name
+ screen-locker-configuration-program
+ screen-locker-configuration-allow-empty-password?
screen-locker-service-type
- screen-locker-service
+ screen-locker-service ; deprecated
localed-configuration
localed-configuration?
@@ -683,21 +686,30 @@ (define slim-service-type
;;; Screen lockers & co.
;;;
-(define-record-type <screen-locker>
- (screen-locker name program empty?)
+(define-record-type <screen-locker-configuration>
+ (screen-locker-configuration name program allow-empty-password?)
+ screen-locker-configuration?
+ (name screen-locker-configuration-name) ;string
+ (program screen-locker-configuration-program) ;gexp
+ (allow-empty-password?
+ screen-locker-configuration-allow-empty-password?)) ;Boolean
+
+(define-deprecated/public-alias
+ screen-locker
+ screen-locker-configuration)
+
+(define-deprecated/public-alias
screen-locker?
- (name screen-locker-name) ;string
- (program screen-locker-program) ;gexp
- (empty? screen-locker-allows-empty-passwords?)) ;Boolean
+ screen-locker-configuration?)
(define screen-locker-pam-services
(match-lambda
- (($ <screen-locker> name _ empty?)
+ (($ <screen-locker-configuration> name _ empty?)
(list (unix-pam-service name
#:allow-empty-passwords? empty?)))))
(define screen-locker-setuid-programs
- (compose list file-like->setuid-program screen-locker-program))
+ (compose list file-like->setuid-program screen-locker-configuration-program))
(define screen-locker-service-type
(service-type (name 'screen-locker)
@@ -711,10 +723,11 @@ (define screen-locker-service-type
the graphical server by making it setuid-root, so it can authenticate users,
and by creating a PAM service for it.")))
-(define* (screen-locker-service package
- #:optional
- (program (package-name package))
- #:key allow-empty-passwords?)
+(define-deprecated (screen-locker-service package
+ #:optional
+ (program (package-name package))
+ #:key allow-empty-passwords?)
+ screen-locker-service-type
"Add @var{package}, a package for a screen locker or screen saver whose
command is @var{program}, to the set of setuid programs and add a PAM entry
for it. For example:
@@ -725,9 +738,9 @@ (define* (screen-locker-service package
makes the good ol' XlockMore usable."
(service screen-locker-service-type
- (screen-locker program
- (file-append package "/bin/" program)
- allow-empty-passwords?)))
+ (screen-locker-configuration program
+ (file-append package "/bin/" program)
+ allow-empty-passwords?)))
;;;
--
2.39.1
Reply sent
to
Ludovic Courtès <ludo <at> gnu.org>
:
You have taken responsibility.
(Fri, 10 Mar 2023 13:24:01 GMT)
Full text and
rfc822 format available.
Notification sent
to
Bruno Victal <mirai <at> makinata.eu>
:
bug acknowledged by developer.
(Fri, 10 Mar 2023 13:24:01 GMT)
Full text and
rfc822 format available.
Message #10 received at 62006-done <at> debbugs.gnu.org (full text, mbox):
hello,
Bruno Victal <mirai <at> makinata.eu> skribis:
> * doc/guix.texi (X Window): Replace 'screen-locker-service' with 'screen-locker-service-type'.
> Document <screen-locker-configuration>.
> * gnu/services/desktop.scm (desktop-services-for-system): Use screen-locker-service-type.
> * gnu/services/xorg.scm: Export accessors for <screen-locker-configuration>.
> (<screen-locker>): Rename to ...
> (<screen-locker-configuration>): ... this.
> (<screen-locker-configuration>)[empty?]: Rename to ...
> (<screen-locker-configuration>)[allow-empty-password?]: ... this.
> (screen-locker-pam-services): Update record name.
> (screen-locker-setuid-programs): Update accessor name.
> (screen-locker-service): Deprecate procedure.
> ---
>
> Split from #61789.
Applied, thanks!
Ludo’.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Sat, 08 Apr 2023 11:24:05 GMT)
Full text and
rfc822 format available.
This bug report was last modified 2 years and 35 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.