From fa67d5654176b4b815832eaf259188e1486c65ab Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 25 Jul 2017 10:15:58 +0200 Subject: gnu: elogind: Update to 232.3. * gnu/packages/freedesktop.scm (elogind): Update to 232.3. [home-page]: Use new upstream home page. [arguments]: Disable tests, add new required configure flags; add build phase "autogen". [native-inputs]: Add autoconf, automake, libtool, and python. --- gnu/packages/freedesktop.scm | 50 +++++++++++++++++++++++++++++--------------- 1 file changed, 33 insertions(+), 17 deletions(-) (limited to 'gnu/packages/freedesktop.scm') diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index f99f9771e3..378a8f919e 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -204,14 +204,14 @@ the freedesktop.org XDG Base Directory specification.") (define-public elogind (package (name "elogind") - (version "219.14") + (version "232.3") (source (origin (method url-fetch) - (uri (string-append "https://wingolog.org/pub/" name "/" - name "-" version ".tar.xz")) + (uri (string-append "https://github.com/elogind/elogind/" + "archive/v" version ".tar.gz")) (sha256 (base32 - "1jckc4wx199n1q4r4fv43ibjs6nlq91s39w9r78ilk1z383m1hcx")) + "1g3bqzw5dhd5zaivqgbi13n5zy219qmkrk6vmbhfprs8qvyn843f")) (modules '((guix build utils))) (snippet '(begin @@ -222,25 +222,41 @@ the freedesktop.org XDG Base Directory specification.") (("XSLTPROC_FLAGS = ") "XSLTPROC_FLAGS = --novalid")))))) (build-system gnu-build-system) (arguments - `(#:configure-flags + `(#:tests? #f ;FIXME: "make check" in the "po" directory fails. + #:configure-flags (list (string-append "--with-libcap=" (assoc-ref %build-inputs "libcap")) (string-append "--with-udevrulesdir=" (assoc-ref %outputs "out") - "/lib/udev/rules.d")) + "/lib/udev/rules.d") + (string-append "--with-rootprefix=" + (assoc-ref %outputs "out")) + ;; These are needed to ensure that lto linking works. + "RANLIB=gcc-ranlib" + "AR=gcc-ar" + "NM=gcc-nm") #:make-flags '("PKTTYAGENT=/run/current-system/profile/bin/pkttyagent") - #:phases (modify-phases %standard-phases - (add-before 'build 'fix-service-file - (lambda* (#:key outputs #:allow-other-keys) - ;; Fix the file name of the 'elogind' binary in the D-Bus - ;; '.service' file. - (substitute* "src/login/org.freedesktop.login1.service" - (("^Exec=.*") - (string-append "Exec=" (assoc-ref %outputs "out") - "/libexec/elogind/elogind\n")))))))) + #:phases + (modify-phases %standard-phases + (add-before 'configure 'autogen + (lambda _ + (and (zero? (system* "intltoolize" "--force" "--automake")) + (zero? (system* "autoreconf" "-vif"))))) + (add-before 'build 'fix-service-file + (lambda* (#:key outputs #:allow-other-keys) + ;; Fix the file name of the 'elogind' binary in the D-Bus + ;; '.service' file. + (substitute* "src/login/org.freedesktop.login1.service" + (("^Exec=.*") + (string-append "Exec=" (assoc-ref %outputs "out") + "/libexec/elogind/elogind\n")))))))) (native-inputs - `(("intltool" ,intltool) + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("intltool" ,intltool) ("gettext" ,gettext-minimal) + ("python" ,python) ("docbook-xsl" ,docbook-xsl) ("docbook-xml" ,docbook-xml) ("xsltproc" ,libxslt) @@ -260,7 +276,7 @@ the freedesktop.org XDG Base Directory specification.") ("dbus" ,dbus) ("eudev" ,eudev) ("acl" ,acl))) ;to add individual users to ACLs on /dev nodes - (home-page "https://github.com/wingo/elogind") + (home-page "https://github.com/elogind/elogind") (synopsis "User, seat, and session management service") (description "Elogind is the systemd project's \"logind\" service, extracted out as a separate project. Elogind integrates with PAM to provide -- cgit v1.2.3 From 124ac301c1f11b7c217107c3abf91edbb1a1c3f8 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 6 Sep 2017 09:49:17 +0300 Subject: gnu: weston: Add missing input. * gnu/packages/freedesktop.scm (weston)[inputs]: Add libcap. --- gnu/packages/freedesktop.scm | 1 + 1 file changed, 1 insertion(+) (limited to 'gnu/packages/freedesktop.scm') diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 378a8f919e..3c4ae3f4d0 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -448,6 +448,7 @@ applications, X servers (rootless or fullscreen) or other display servers.") `(("cairo" ,cairo-xcb) ("dbus" ,dbus) ("elogind" ,elogind) + ("libcap" ,libcap) ("libinput" ,libinput-minimal) ("libunwind" ,libunwind) ("libxcursor" ,libxcursor) -- cgit v1.2.3 From 1f919459eba67da908cd7614b4fb2e66a0e2620b Mon Sep 17 00:00:00 2001 From: Peter Mikkelsen Date: Wed, 6 Sep 2017 13:00:46 +0200 Subject: gnu: udisks: Add missing input. * gnu/packages/freedesktop.scm (udisks)[inputs]: Add libcap. --- gnu/packages/freedesktop.scm | 1 + 1 file changed, 1 insertion(+) (limited to 'gnu/packages/freedesktop.scm') diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 3c4ae3f4d0..3649093ea5 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -580,6 +580,7 @@ Analysis and Reporting Technology) functionality.") `(("acl" ,acl) ("libatasmart" ,libatasmart) ("libgudev" ,libgudev) + ("libcap" ,libcap) ("polkit" ,polkit) ("util-linux" ,util-linux))) (outputs '("out" -- cgit v1.2.3 From daae20894265958eb108f775befa390dbcaddd4a Mon Sep 17 00:00:00 2001 From: Peter Mikkelsen Date: Wed, 6 Sep 2017 13:06:41 +0200 Subject: gnu: modem-manager: Add missing input. * gnu/packages/freedesktop.scm (modem-manager)[inputs]: Add libcap. --- gnu/packages/freedesktop.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'gnu/packages/freedesktop.scm') diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 3649093ea5..9f4d43320e 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -778,7 +778,8 @@ which speak the Qualcomm MSM Interface (QMI) protocol.") (propagated-inputs `(("glib" ,glib))) ; required by mm-glib.pc (inputs - `(("libgudev" ,libgudev) + `(("libcap" ,libcap) + ("libgudev" ,libgudev) ("libmbim" ,libmbim) ("libqmi" ,libqmi) ("polkit" ,polkit))) -- cgit v1.2.3 From 7e38ba654a12f3c82e647c8b92d968be938d0867 Mon Sep 17 00:00:00 2001 From: Peter Mikkelsen Date: Wed, 6 Sep 2017 13:22:37 +0200 Subject: gnu: accountsservice: Add missing input. * gnu/packages/freedesktop.scm (accountsservice)[inputs]: Add libcap. --- gnu/packages/freedesktop.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'gnu/packages/freedesktop.scm') diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 9f4d43320e..b1d09104dc 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -681,7 +681,8 @@ message bus.") ("intltool" ,intltool) ("pkg-config" ,pkg-config))) (inputs - `(("shadow" ,shadow) + `(("libcap" ,libcap) + ("shadow" ,shadow) ("polkit" ,polkit))) (home-page "http://www.freedesktop.org/wiki/Software/AccountsService/") (synopsis "D-Bus interface for user account query and manipulation") -- cgit v1.2.3 From 26ba09ba356fa7ce35ba0a337be5a30987a3c729 Mon Sep 17 00:00:00 2001 From: Peter Mikkelsen Date: Wed, 6 Sep 2017 23:14:08 +0200 Subject: gnu: elogind: Update to 232.4. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/freedesktop.scm (elogind): Update to 232.4. [arguments]: Add --with-rootlibexecdir. Signed-off-by: Ludovic Courtès --- gnu/packages/freedesktop.scm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'gnu/packages/freedesktop.scm') diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index b1d09104dc..89dab53cbc 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -204,14 +204,14 @@ the freedesktop.org XDG Base Directory specification.") (define-public elogind (package (name "elogind") - (version "232.3") + (version "232.4") (source (origin (method url-fetch) (uri (string-append "https://github.com/elogind/elogind/" "archive/v" version ".tar.gz")) (sha256 (base32 - "1g3bqzw5dhd5zaivqgbi13n5zy219qmkrk6vmbhfprs8qvyn843f")) + "1qcxian48z2dj5gfmp7brrngdydqf2jm00f4rjr5sy1myh8fy931")) (modules '((guix build utils))) (snippet '(begin @@ -231,6 +231,9 @@ the freedesktop.org XDG Base Directory specification.") "/lib/udev/rules.d") (string-append "--with-rootprefix=" (assoc-ref %outputs "out")) + (string-append "--with-rootlibexecdir=" + (assoc-ref %outputs "out") + "/libexec/elogind") ;; These are needed to ensure that lto linking works. "RANLIB=gcc-ranlib" "AR=gcc-ar" -- cgit v1.2.3 From c2ffcc4425946725f843466680b89b9b0aa1f45e Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 7 Sep 2017 11:06:25 +0200 Subject: gnu: elogind: Add '-L' flag for libcap in libelogind.la. This fix allows us to revert this series of commits: 1b97e9261 * gnu: gdm: Add missing input. de0c89f18 * gnu: colord: Add missing input. 7e38ba654 * gnu: accountsservice: Add missing input. 166bc1b25 * gnu: network-manager: Add missing input. daae20894 * gnu: modem-manager: Add missing input. 1f919459e * gnu: udisks: Add missing input. 744e9d074 * gnu: mutter: Add missing input. 0cce140dc * gnu: gnome-session: Add missing input. 77c2476ae * gnu: polkit: Add missing input. 124ac301c * gnu: weston: Add missing input. 472c2223c * gnu: kmscon: Add missing input. * gnu/packages/freedesktop.scm (elogind)[arguments]: Add 'add-libcap-to-search-path' phase. (weston)[inputs]: Remove LIBCAP. (udisks): Likewise. (accountsservice): Likewise. (modem-manager): Likewise. * gnu/packages/gnome.scm (colord): Likewise (gnome-session): Likewise. (mutter): Likewise. (network-manager): Likewise. (gdm): Likewise. * gnu/packages/polkit.scm (polkit): Likewise. * gnu/packages/terminals.scm (kmscon): Likewise. --- gnu/packages/freedesktop.scm | 20 +++++++++++++------- gnu/packages/gnome.scm | 5 ----- gnu/packages/polkit.scm | 1 - gnu/packages/terminals.scm | 5 ++--- 4 files changed, 15 insertions(+), 16 deletions(-) (limited to 'gnu/packages/freedesktop.scm') diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 89dab53cbc..83374bce6e 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -252,7 +252,17 @@ the freedesktop.org XDG Base Directory specification.") (substitute* "src/login/org.freedesktop.login1.service" (("^Exec=.*") (string-append "Exec=" (assoc-ref %outputs "out") - "/libexec/elogind/elogind\n")))))))) + "/libexec/elogind/elogind\n"))))) + (add-after 'install 'add-libcap-to-search-path + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; Add a missing '-L' for libcap in libelogind.la. See + ;; . + (let ((libcap (assoc-ref inputs "libcap")) + (out (assoc-ref outputs "out"))) + (substitute* (string-append out "/lib/libelogind.la") + (("-lcap") + (string-append "-L" libcap "/lib -lcap"))) + #t)))))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) @@ -451,7 +461,6 @@ applications, X servers (rootless or fullscreen) or other display servers.") `(("cairo" ,cairo-xcb) ("dbus" ,dbus) ("elogind" ,elogind) - ("libcap" ,libcap) ("libinput" ,libinput-minimal) ("libunwind" ,libunwind) ("libxcursor" ,libxcursor) @@ -583,7 +592,6 @@ Analysis and Reporting Technology) functionality.") `(("acl" ,acl) ("libatasmart" ,libatasmart) ("libgudev" ,libgudev) - ("libcap" ,libcap) ("polkit" ,polkit) ("util-linux" ,util-linux))) (outputs '("out" @@ -684,8 +692,7 @@ message bus.") ("intltool" ,intltool) ("pkg-config" ,pkg-config))) (inputs - `(("libcap" ,libcap) - ("shadow" ,shadow) + `(("shadow" ,shadow) ("polkit" ,polkit))) (home-page "http://www.freedesktop.org/wiki/Software/AccountsService/") (synopsis "D-Bus interface for user account query and manipulation") @@ -782,8 +789,7 @@ which speak the Qualcomm MSM Interface (QMI) protocol.") (propagated-inputs `(("glib" ,glib))) ; required by mm-glib.pc (inputs - `(("libcap" ,libcap) - ("libgudev" ,libgudev) + `(("libgudev" ,libgudev) ("libmbim" ,libmbim) ("libqmi" ,libqmi) ("polkit" ,polkit))) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 339436f272..113c8e5a2f 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -2781,7 +2781,6 @@ keyboard shortcuts.") ("lcms" ,lcms))) (inputs `(("dbus-glib" ,dbus-glib) - ("libcap" ,libcap) ("libgudev" ,libgudev) ("libusb" ,libusb) ("sqlite" ,sqlite) @@ -4503,7 +4502,6 @@ such as gzip tarballs.") ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) ("gtk+" ,gtk+) ("json-glib" ,json-glib) - ("libcap" ,libcap) ("libsm" ,libsm) ("libxcomposite" ,libxcomposite) ("libxtst" ,libxtst) @@ -4739,7 +4737,6 @@ to display dialog boxes from the commandline and shell scripts.") `(("elogind" ,elogind) ("gnome-desktop" ,gnome-desktop) ("libcanberra-gtk" ,libcanberra) - ("libcap" ,libcap) ("libgudev" ,libgudev) ("libice" ,libice) ("libsm" ,libsm) @@ -5023,7 +5020,6 @@ users.") ("iptables" ,iptables) ("isc-dhcp" ,isc-dhcp) ("jansson" ,jansson) - ("libcap" ,libcap) ("libgcrypt" ,libgcrypt) ("libgudev" ,libgudev) ("libndp" ,libndp) @@ -5254,7 +5250,6 @@ libxml2.") ("gtk+" ,gtk+) ("iso-codes" ,iso-codes) ("libcanberra" ,libcanberra) - ("libcap" ,libcap) ("linux-pam" ,linux-pam))) (synopsis "Display manager for GNOME") (home-page "https://wiki.gnome.org/Projects/GDM/") diff --git a/gnu/packages/polkit.scm b/gnu/packages/polkit.scm index 11c825ef34..0e38dd61ee 100644 --- a/gnu/packages/polkit.scm +++ b/gnu/packages/polkit.scm @@ -81,7 +81,6 @@ (build-system gnu-build-system) (inputs `(("expat" ,expat) - ("libcap" ,libcap) ("linux-pam" ,linux-pam) ("elogind" ,elogind) ("mozjs" ,mozjs) diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm index db61915955..a9682b685c 100644 --- a/gnu/packages/terminals.scm +++ b/gnu/packages/terminals.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2016 Mckinley Olsen ;;; Copyright © 2016, 2017 Alex Griffin ;;; Copyright © 2016 David Craven -;;; Copyright © 2016 Ludovic Courtès +;;; Copyright © 2016, 2017 Ludovic Courtès ;;; Copyright © 2016, 2017 José Miguel Sánchez García ;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; Copyright © 2017 Ricardo Wurmus @@ -239,8 +239,7 @@ compatibility to existing emulators like xterm, gnome-terminal, konsole, etc.") ("libxml2" ,libxml2) ;for XML_CATALOG_FILES ("docbook-xsl" ,docbook-xsl))) (inputs - `(("libcap" ,libcap) - ("libdrm" ,libdrm) + `(("libdrm" ,libdrm) ("libtsm" ,libtsm) ("libxkbcommon" ,libxkbcommon) ("logind" ,elogind) -- cgit v1.2.3 From 505760ed08db7399bf5a21fd04272079fe7bca19 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 7 Sep 2017 23:22:28 +0200 Subject: gnu: elogind: Remove unnecessary configure flag. * gnu/packages/freedesktop.scm (elogind)[arguments]: Remove "--with-libcap" configure flag, which is no longer needed. --- gnu/packages/freedesktop.scm | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'gnu/packages/freedesktop.scm') diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 83374bce6e..3307a4ae80 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -224,9 +224,7 @@ the freedesktop.org XDG Base Directory specification.") (arguments `(#:tests? #f ;FIXME: "make check" in the "po" directory fails. #:configure-flags - (list (string-append "--with-libcap=" - (assoc-ref %build-inputs "libcap")) - (string-append "--with-udevrulesdir=" + (list (string-append "--with-udevrulesdir=" (assoc-ref %outputs "out") "/lib/udev/rules.d") (string-append "--with-rootprefix=" -- cgit v1.2.3 From cd1ad27e6cdf90230d07efc18a8fcfe45494aad0 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 7 Sep 2017 23:59:51 +0200 Subject: gnu: elogind: Use itself as the cgroup controller. Fixes a regression introduced in fa67d5654176b4b815832eaf259188e1486c65ab whereby elogind would fail to start with: Cannot determine cgroup we are running in: No data available Out of memory. thereby preventing log-in altogether. * gnu/packages/freedesktop.scm (elogind)[arguments]: Pass "--with-cgroup-controller=elogind". * gnu/tests/desktop.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. --- gnu/local.mk | 1 + gnu/packages/freedesktop.scm | 6 +++ gnu/tests/desktop.scm | 105 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 112 insertions(+) create mode 100644 gnu/tests/desktop.scm (limited to 'gnu/packages/freedesktop.scm') diff --git a/gnu/local.mk b/gnu/local.mk index 2f85510767..1ac9d5efea 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -487,6 +487,7 @@ GNU_SYSTEM_MODULES = \ %D%/tests/audio.scm \ %D%/tests/base.scm \ %D%/tests/databases.scm \ + %D%/tests/desktop.scm \ %D%/tests/dict.scm \ %D%/tests/nfs.scm \ %D%/tests/install.scm \ diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 3307a4ae80..606859771a 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -227,6 +227,12 @@ the freedesktop.org XDG Base Directory specification.") (list (string-append "--with-udevrulesdir=" (assoc-ref %outputs "out") "/lib/udev/rules.d") + + ;; Let elogind be its own cgroup controller, rather than relying + ;; on systemd or OpenRC. By default, 'configure' makes an + ;; incorrect guess. + "--with-cgroup-controller=elogind" + (string-append "--with-rootprefix=" (assoc-ref %outputs "out")) (string-append "--with-rootlibexecdir=" diff --git a/gnu/tests/desktop.scm b/gnu/tests/desktop.scm new file mode 100644 index 0000000000..be64c4e7e5 --- /dev/null +++ b/gnu/tests/desktop.scm @@ -0,0 +1,105 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2017 Ludovic Courtès +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu tests desktop) + #:use-module (gnu tests) + #:use-module (gnu services) + #:use-module (gnu services dbus) + #:use-module (gnu services desktop) + #:use-module (gnu system vm) + #:use-module (guix gexp) + #:use-module (srfi srfi-1) + #:export (%test-elogind)) + + +;;; +;;; Elogind. +;;; + +(define (run-elogind-test vm) + (define test + (with-imported-modules '((gnu build marionette) + (guix build syscalls)) + #~(begin + (use-modules (gnu build marionette) + (guix build syscalls) + (srfi srfi-64)) + + (define marionette + (make-marionette '(#$vm))) + + (mkdir #$output) + (chdir #$output) + + (test-begin "elogind") + + ;; Log in as root on tty1, and check what 'loginctl' returns. + (test-equal "login on tty1" + '(("c1" "0" "root" "seat0" "/dev/tty1") ;session + ("seat0") ;seat + ("0" "root")) ;user + + (begin + ;; Wait for tty1. + (marionette-eval + '(begin + (use-modules (gnu services herd)) + (start-service 'term-tty1)) + marionette) + (marionette-control "sendkey ctrl-alt-f1" marionette) + + ;; Now we can type. + (marionette-type "root\n" marionette) + (marionette-type "loginctl list-users --no-legend > users\n" + marionette) + (marionette-type "loginctl list-seats --no-legend > seats\n" + marionette) + (marionette-type "loginctl list-sessions --no-legend > sessions\n" + marionette) + + + ;; Read the three files. + (marionette-eval '(use-modules (rnrs io ports)) marionette) + (let ((guest-file (lambda (file) + (string-tokenize + (wait-for-file file marionette + #:read 'get-string-all))))) + (list (guest-file "/root/sessions") + (guest-file "/root/seats") + (guest-file "/root/users"))))) + + (test-end) + (exit (= (test-runner-fail-count (test-runner-current)) 0))))) + + (gexp->derivation "elogind" test)) + +(define %test-elogind + (system-test + (name "elogind") + (description + "Test whether we can log in when elogind is enabled, and whether +'loginctl' reports accurate user, session, and seat information.") + (value + (let ((os (marionette-operating-system + (simple-operating-system + (service elogind-service-type) + (service polkit-service-type) + (service dbus-root-service-type)) + #:imported-modules '((gnu services herd) + (guix combinators))))) + (run-elogind-test (virtual-machine os)))))) -- cgit v1.2.3