guix_mirror_bot pushed a commit to branch elogind-updates in repository guix.
commit a48d56f6c2662c2d72d2ad060ef996e8599c9a75 Author: Maxim Cournoyer <maxim.courno...@gmail.com> AuthorDate: Thu Apr 18 10:14:53 2024 -0400 gnu: elogind: Update to 255.17. * gnu/packages/freedesktop.scm (elogind): Update to 255.17. [source]: Delete patches. [configure-flags]: Add mode and libexecdir options. Remove obsolete rootlibexecdir, dbussessionservicedir and dbus-interfaces-dir ones. Update 'man' option value to 'enabled'. [phases] {do-not-install-empty-/var/log/elogind-dir} {patch-tzdata}: New phases. {adjust-tests}: Fix FHS assumptions in a few test files. Re-instate the cgroup and copy_holes tests. Disable the cgroup-util, mountpoint-util, bus-creds, login and sd-device tests. [native-inputs]: Remove m4. Add tzdata. * gnu/packages/patches/elogind-fix-rpath.patch: Delete file. * gnu/local.mk (dist_patch_DATA): De-register it. Series-to: 73...@debbugs.gnu.org Series-version: 3 Series-changes: 3 - rebased Series-cc: fl...@uni-koblenz.de, m...@tobias.gr>, l...@gnu.org Change-Id: I2426532b6b5143ad5e30ca879858356c4b9a2c3e --- gnu/local.mk | 1 - gnu/packages/freedesktop.scm | 74 ++++++++++++++++++++-------- gnu/packages/patches/elogind-fix-rpath.patch | 60 ---------------------- 3 files changed, 54 insertions(+), 81 deletions(-) diff --git a/gnu/local.mk b/gnu/local.mk index acc1a2bfa7..c3e11132b4 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1216,7 +1216,6 @@ dist_patch_DATA = \ %D%/packages/patches/elm-ghc9.2.patch \ %D%/packages/patches/elm-offline-package-registry.patch \ %D%/packages/patches/elm-reactor-static-files.patch \ - %D%/packages/patches/elogind-fix-rpath.patch \ %D%/packages/patches/emacs-all-the-icons-remove-duplicate-rs.patch \ %D%/packages/patches/emacs-deferred-fix-number-of-arguments.patch \ %D%/packages/patches/emacs-elpy-dup-test-name.patch \ diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index f1e31424d3..d0c37d0ba0 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -27,7 +27,7 @@ ;;; Copyright © 2021 Robby Zambito <cont...@robbyzambito.me> ;;; Copyright © 2021, 2022, 2023 Maxime Devos <maximede...@telenet.be> ;;; Copyright © 2021, 2022, 2024 John Kehayias <john.kehay...@protonmail.com> -;;; Copyright © 2021-2024 Maxim Cournoyer <maxim.courno...@gmail.com> +;;; Copyright © 2021-2025 Maxim Cournoyer <maxim.courno...@gmail.com> ;;; Copyright © 2022 Daniel Meißner <daniel.meissner-...@ruhr-uni-bochum.de> ;;; Copyright © 2022 Wamm K. D. <jaf...@outlook.com> ;;; Copyright © 2022 Petr Hodina <phod...@protonmail.com> @@ -875,7 +875,7 @@ the freedesktop.org XDG Base Directory specification.") (define-public elogind (package (name "elogind") - (version "252.9") + (version "255.17") (source (origin (method git-fetch) (uri (git-reference @@ -884,8 +884,7 @@ the freedesktop.org XDG Base Directory specification.") (file-name (git-file-name name version)) (sha256 (base32 - "049cfv97975x700s7lx4p9i22nv6v7j046iwkspxba7kr5qq7akw")) - (patches (search-patches "elogind-fix-rpath.patch")))) + "0cb6p559281dzh24is91v6d4v4kz45yhyizibi4sfql9nign865h")))) (build-system meson-build-system) (arguments `(#:configure-flags @@ -894,11 +893,8 @@ the freedesktop.org XDG Base Directory specification.") (libexec (string-append out "/libexec/elogind")) (dbus-data (string-append out "/share/dbus-1")) (dbuspolicy (string-append dbus-data "/system.d")) - (dbussessionservice (string-append dbus-data "/services")) (dbussystemservice (string-append dbus-data "/system-services")) - (dbusinterfaces (string-append dbus-data "/interfaces")) - #$@(if (not (target-riscv64?)) #~((kexec-tools #$(this-package-input "kexec-tools"))) #~()) @@ -912,13 +908,11 @@ the freedesktop.org XDG Base Directory specification.") (poweroff-path (string-append shepherd "/sbin/shutdown")) (reboot-path (string-append shepherd "/sbin/reboot"))) (list - (string-append "-Drootprefix=" out) + "-Dmode=release" + (string-append "-Dlibexecdir=" libexec) (string-append "-Dsysconfdir=" sysconf) - (string-append "-Drootlibexecdir=" libexec) (string-append "-Ddbuspolicydir=" dbuspolicy) - (string-append "-Ddbussessionservicedir=" dbussessionservice) (string-append "-Ddbussystemservicedir=" dbussystemservice) - (string-append "-Ddbus-interfaces-dir=" dbusinterfaces) (string-append "-Dc_link_args=-Wl,-rpath=" libexec) (string-append "-Dcpp_link_args=-Wl,-rpath=" libexec) (string-append "-Dhalt-path=" halt-path) @@ -929,7 +923,7 @@ the freedesktop.org XDG Base Directory specification.") (string-append "-Dreboot-path=" reboot-path) (string-append "-Dnologin-path=" nologin-path) "-Dcgroup-controller=elogind" - "-Dman=true" + "-Dman=enabled" ;; Disable some tests. "-Dslow-tests=false" ;; Adjust the default user shell to /bin/sh (otherwise it is set @@ -937,6 +931,18 @@ the freedesktop.org XDG Base Directory specification.") "-Ddefault-user-shell=/bin/sh")) #:phases (modify-phases %standard-phases + (add-after 'unpack 'patch-tzdata + (lambda* (#:key native-inputs inputs #:allow-other-keys) + (substitute* "src/basic/time-util.c" + (("/usr/share/zoneinfo") + (search-input-directory (or native-inputs inputs) + "share/zoneinfo"))))) + (add-after 'unpack 'do-not-install-empty-/var/log/elogind-dir + (lambda _ + ;; This is the elogind state directory, which is not writable in + ;; the build environment. + (substitute* "meson.build" + (("install_emptydir\\(elogindstatedir)") "")))) (add-after 'unpack 'fix-pkttyagent-path (lambda _ (substitute* "meson.build" @@ -953,18 +959,46 @@ the freedesktop.org XDG Base Directory specification.") (("PKGSYSCONFDIR") "\"/etc/elogind\"")))) (add-after 'unpack 'adjust-tests (lambda _ + ;; A few tests expect /var/tmp to exists, but it doesn't in the + ;; container. + (substitute* '("src/test/test-xattr-util.c" + "src/test/test-copy.c" + "src/test/test-fs-util.c") + (("/var/tmp/") + "/tmp/")) + (substitute* "src/test/test-xattr-util.c" + ;; The xattr-util test depends on /usr; patch it to use /tmp + ;; instead. + (("fd, \"usr\", \"user.idontexist\"") + "fd, \"/tmp\", \"user.idontexist\"")) + (substitute* '("src/test/test-chase.c" + "src/test/test-fd-util.c") + ;; Many checks use /usr, which doesn't exist in our + ;; environment. + (("/usr") + "/tmp") + (("\"usr\"") + "\"tmp\"")) (substitute* "src/test/meson.build" - ((".*'test-cgroup.c'.*") "")) ;no cgroup in container + ;; Requires cgroup support. + ((".*'test-cgroup-util\\.c'.*") "") + ;; Requires privilege to create mount namespaces. + ((".*'test-mountpoint-util\\.c'.*") "")) + (substitute* "src/libelogind/meson.build" + ;; The bus-creds test fails due to requiring cgroups. + ((".*'sd-bus/test-bus-creds.c'.*") "") + ;; The login test fails due to 'sd_pid_get_slice' returning + ;; NULL. + ((".*'sd-login/test-login.c'.*") "") + ;; The sd-device test fails due to 'devname_from_devnum' + ;; returning NULL. + ((".*'sd-device/test-sd-device.c'.*") "")) ;; This test tries to copy some bytes from /usr/lib/os-release, ;; which does not exist in the build container. Choose something ;; more likely to be available. (substitute* "src/test/test-copy.c" (("/usr/lib/os-release") - "/etc/passwd") - ;; Skip the copy_holes test, which fails for unknown reasons - ;; (see: https://github.com/elogind/elogind/issues/261). - (("TEST_RET\\(copy_holes).*" all) - (string-append all " return 77;\n"))) + "/etc/passwd")) ;; Use a shebang that works in the build container. (substitute* "src/test/test-exec-util.c" (("#!/bin/sh") @@ -1000,11 +1034,11 @@ the freedesktop.org XDG Base Directory specification.") docbook-xsl gettext-minimal gperf - m4 pkg-config python python-jinja2 - libxslt)) + libxslt + tzdata)) (inputs (append (if (not (target-riscv64?)) diff --git a/gnu/packages/patches/elogind-fix-rpath.patch b/gnu/packages/patches/elogind-fix-rpath.patch deleted file mode 100644 index 2a76cc467f..0000000000 --- a/gnu/packages/patches/elogind-fix-rpath.patch +++ /dev/null @@ -1,60 +0,0 @@ -Retrieved from https://github.com/elogind/elogind/issues/258 - -From: Mark Hindley <m...@hindley.org.uk> -Date: Wed, 24 May 2023 10:39:41 +0100 -Subject: Fixup_executable_rpath - -./meson.build sets - - install_rpath : rootlibexecdir - -however src/shared/meson.build sets - -libshared = shared_library( - [snip] - install_dir : rootpkglibdir - ) ---- - meson.build | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/meson.build b/meson.build -index 694a2fd..a575f69 100644 ---- a/meson.build -+++ b/meson.build -@@ -2903,7 +2903,7 @@ executable('elogind', - dependencies : [threads, - libacl, - libudev], -- install_rpath : rootlibexecdir, -+ install_rpath : rootpkglibdir, - install : true, - install_dir : rootlibexecdir) - -@@ -2913,7 +2913,7 @@ exe = executable('loginctl', - link_with : [libshared], - dependencies : [threads, - libudev], -- install_rpath : rootlibexecdir, -+ install_rpath : rootpkglibdir, - install : true, - install_dir : rootbindir) - public_programs += [exe] -@@ -2923,7 +2923,7 @@ exe = executable('elogind-inhibit', - include_directories : includes, - link_with : [libshared], - dependencies : [threads], -- install_rpath : rootlibexecdir, -+ install_rpath : rootpkglibdir, - install : true, - install_dir : rootbindir) - public_programs += [exe] -@@ -4283,7 +4283,7 @@ executable('elogind-uaccess-command', - libshared], - dependencies: [libacl, - libudev], -- install_rpath : rootlibexecdir, -+ install_rpath : rootpkglibdir, - install : true, - install_dir : rootlibexecdir) - #endif // 0