Package: guix-patches;
Reported by: Julian Flake <flake <at> uni-koblenz.de>
Date: Sun, 22 Sep 2024 18:52:02 UTC
Severity: normal
Tags: patch
Done: Andreas Enge <andreas <at> enge.fr>
Bug is archived. No further changes may be made.
Message #66 received at 73428 <at> debbugs.gnu.org (full text, mbox):
From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com> To: 73428 <at> debbugs.gnu.org Cc: ludo <at> gnu.org, me <at> tobias.gr, Maxim Cournoyer <maxim.cournoyer <at> gmail.com>, flake <at> uni-koblenz.de Subject: [PATCH v2] gnu: elogind: Update to 255.17. Date: Fri, 24 Jan 2025 09:22:09 +0900
* 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. Change-Id: I2426532b6b5143ad5e30ca879858356c4b9a2c3e --- (no changes since v1) gnu/local.mk | 1 - gnu/packages/freedesktop.scm | 74 ++++++++++++++------ gnu/packages/patches/elogind-fix-rpath.patch | 60 ---------------- 3 files changed, 54 insertions(+), 81 deletions(-) delete mode 100644 gnu/packages/patches/elogind-fix-rpath.patch diff --git a/gnu/local.mk b/gnu/local.mk index 5091f93eb8..d3fd9ecfa5 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1202,7 +1202,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 c6f18e9949..380464801d 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -27,7 +27,7 @@ ;;; Copyright © 2021 Robby Zambito <contact <at> robbyzambito.me> ;;; Copyright © 2021, 2022, 2023 Maxime Devos <maximedevos <at> telenet.be> ;;; Copyright © 2021, 2022, 2024 John Kehayias <john.kehayias <at> protonmail.com> -;;; Copyright © 2021-2024 Maxim Cournoyer <maxim.cournoyer <at> gmail.com> +;;; Copyright © 2021-2025 Maxim Cournoyer <maxim.cournoyer <at> gmail.com> ;;; Copyright © 2022 Daniel Meißner <daniel.meissner-i4k <at> ruhr-uni-bochum.de> ;;; Copyright © 2022 Wamm K. D. <jaft.r <at> outlook.com> ;;; Copyright © 2022 Petr Hodina <phodina <at> protonmail.com> @@ -823,7 +823,7 @@ (define-public libxdg-basedir (define-public elogind (package (name "elogind") - (version "252.9") + (version "255.17") (source (origin (method git-fetch) (uri (git-reference @@ -832,8 +832,7 @@ (define-public elogind (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 @@ -842,11 +841,8 @@ (define-public elogind (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"))) #~()) @@ -860,13 +856,11 @@ (define-public elogind (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) @@ -877,7 +871,7 @@ (define-public elogind (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 @@ -885,6 +879,18 @@ (define-public elogind "-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" @@ -901,18 +907,46 @@ (define-public elogind (("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") @@ -948,11 +982,11 @@ (define-public elogind 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 <mark <at> 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 base-commit: a1074ecbcb147abe9ffbb1774f11be7704a41c8a -- 2.47.1
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.