From ce8a6dfc43265787c23fb93d3877fbcacb0451e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 7 Sep 2015 22:44:26 +0200 Subject: [PATCH] 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 . 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'. --- doc/guix.texi | 2 +- gnu/services/base.scm | 17 +++++------------ gnu/system/install.scm | 4 ++-- gnu/system/linux.scm | 4 ++-- 4 files changed, 10 insertions(+), 17 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 6334b37a7f..d5c5ffd8cc 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -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 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 tool suite.) diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 7f37b3da00..865d461a1e 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -357,7 +357,7 @@ stopped before 'kill' is called." (define* (mingetty-service tty #:key - (motd (text-file "motd" "Welcome.\n")) + (motd (plain-file "motd" "Welcome.\n")) auto-login login-program 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 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 tool suite.) -@var{motd} is a monadic value containing a text file to use as -the ``message of the day''." - (mlet %store-monad ((motd motd) - (login-program (cond ((gexp? login-program) - (return login-program)) - ((not login-program) - (return #f)) - (else - login-program)))) +@var{motd} is a file-like object to use as the ``message of the day''." + (with-monad %store-monad (return (service (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 ;; 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"))) (list (console-font-service "tty1") (console-font-service "tty2") diff --git a/gnu/system/install.scm b/gnu/system/install.scm index c161526d77..dc5a47a293 100644 --- a/gnu/system/install.scm +++ b/gnu/system/install.scm @@ -102,7 +102,7 @@ under /root/.guix-profile where GUIX is installed." (define (log-to-info) "Return a script that spawns the Info reader on the right section of the manual." - (gexp->script "log-to-info" + (program-file "log-to-info" #~(begin ;; 'gunzip' is needed to decompress the doc. (setenv "PATH" (string-append #$gzip "/bin")) @@ -234,7 +234,7 @@ configuration template file in the installation system." (define (installation-services) "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! There is NO WARRANTY, to the extent permitted by law. In particular, you may diff --git a/gnu/system/linux.scm b/gnu/system/linux.scm index 7461a4a61f..ac5005ebd1 100644 --- a/gnu/system/linux.scm +++ b/gnu/system/linux.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014 Ludovic Courtès +;;; Copyright © 2013, 2014, 2015 Ludovic Courtès ;;; ;;; 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) "Return a standard Unix-style PAM service for NAME. When 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 . (let ((name* name)) (pam-service