services: 'mingetty-service' no longer takes monadic values.

* gnu/services/base.scm (mingetty-service): Change default value of
  #:motd from a monadic value to a <plain-file>.  Assume MOTD to be a
  file-like object.  Assume LOGIN-PROGRAM is a gexp or #f.
  (%base-services): Use 'plain-file' instead of 'text-file' for motd.
* gnu/system/linux.scm (unix-pam-service): Update docstring to mention
  that MOTD is a file-like object.
* doc/guix.texi (Base Services): Adjust 'mingetty-service' documentation
  accordingly.
* gnu/system/install.scm (installation-services): Adjust accordingly.
  (log-to-info): Use 'program-file' instead of 'gexp->script'.
This commit is contained in:
Ludovic Courtès 2015-09-07 22:44:26 +02:00
parent b751cde36b
commit ce8a6dfc43
4 changed files with 10 additions and 17 deletions

View File

@ -5764,7 +5764,7 @@ automatically. @var{login-pause?} can be set to @code{#t} in conjunction with
@var{auto-login}, in which case the user will have to press a key before the @var{auto-login}, in which case the user will have to press a key before the
login shell is launched. login shell is launched.
When true, @var{login-program} is a gexp or a monadic gexp denoting the name When true, @var{login-program} is a gexp denoting the name
of the log-in program (the default is the @code{login} program from the Shadow of the log-in program (the default is the @code{login} program from the Shadow
tool suite.) tool suite.)

View File

@ -357,7 +357,7 @@ stopped before 'kill' is called."
(define* (mingetty-service tty (define* (mingetty-service tty
#:key #:key
(motd (text-file "motd" "Welcome.\n")) (motd (plain-file "motd" "Welcome.\n"))
auto-login auto-login
login-program login-program
login-pause? login-pause?
@ -374,19 +374,12 @@ automatically. @var{login-pause?} can be set to @code{#t} in conjunction with
@var{auto-login}, in which case the user will have to press a key before the @var{auto-login}, in which case the user will have to press a key before the
login shell is launched. login shell is launched.
When true, @var{login-program} is a gexp or a monadic gexp denoting the name When true, @var{login-program} is a gexp denoting the name
of the log-in program (the default is the @code{login} program from the Shadow of the log-in program (the default is the @code{login} program from the Shadow
tool suite.) tool suite.)
@var{motd} is a monadic value containing a text file to use as @var{motd} is a file-like object to use as the ``message of the day''."
the ``message of the day''." (with-monad %store-monad
(mlet %store-monad ((motd motd)
(login-program (cond ((gexp? login-program)
(return login-program))
((not login-program)
(return #f))
(else
login-program))))
(return (return
(service (service
(documentation (string-append "Run mingetty on " tty ".")) (documentation (string-append "Run mingetty on " tty "."))
@ -861,7 +854,7 @@ gexp, to open it, and evaluate @var{close} to close it."
(define %base-services (define %base-services
;; Convenience variable holding the basic services. ;; Convenience variable holding the basic services.
(let ((motd (text-file "motd" " (let ((motd (plain-file "motd" "
This is the GNU operating system, welcome!\n\n"))) This is the GNU operating system, welcome!\n\n")))
(list (console-font-service "tty1") (list (console-font-service "tty1")
(console-font-service "tty2") (console-font-service "tty2")

View File

@ -102,7 +102,7 @@ under /root/.guix-profile where GUIX is installed."
(define (log-to-info) (define (log-to-info)
"Return a script that spawns the Info reader on the right section of the "Return a script that spawns the Info reader on the right section of the
manual." manual."
(gexp->script "log-to-info" (program-file "log-to-info"
#~(begin #~(begin
;; 'gunzip' is needed to decompress the doc. ;; 'gunzip' is needed to decompress the doc.
(setenv "PATH" (string-append #$gzip "/bin")) (setenv "PATH" (string-append #$gzip "/bin"))
@ -234,7 +234,7 @@ configuration template file in the installation system."
(define (installation-services) (define (installation-services)
"Return the list services for the installation image." "Return the list services for the installation image."
(let ((motd (text-file "motd" " (let ((motd (plain-file "motd" "
Welcome to the installation of the Guix System Distribution! Welcome to the installation of the Guix System Distribution!
There is NO WARRANTY, to the extent permitted by law. In particular, you may There is NO WARRANTY, to the extent permitted by law. In particular, you may

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -136,7 +136,7 @@ dumped in /etc/pam.d/NAME, where NAME is the name of SERVICE."
(lambda* (name #:key allow-empty-passwords? motd) (lambda* (name #:key allow-empty-passwords? motd)
"Return a standard Unix-style PAM service for NAME. When "Return a standard Unix-style PAM service for NAME. When
ALLOW-EMPTY-PASSWORDS? is true, allow empty passwords. When MOTD is true, it ALLOW-EMPTY-PASSWORDS? is true, allow empty passwords. When MOTD is true, it
should be the name of a file used as the message-of-the-day." should be a file-like object used as the message-of-the-day."
;; See <http://www.linux-pam.org/Linux-PAM-html/sag-configuration-example.html>. ;; See <http://www.linux-pam.org/Linux-PAM-html/sag-configuration-example.html>.
(let ((name* name)) (let ((name* name))
(pam-service (pam-service