GNU bug report logs -
#66525
[PATCH 0/7] Remove dependency of polkit, python-dbusmock, etc. on (guix build syscalls)
Previous Next
Reported by: Ludovic Courtès <ludo <at> gnu.org>
Date: Fri, 13 Oct 2023 15:47:01 UTC
Severity: normal
Tags: patch
Done: Ludovic Courtès <ludo <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
Message #89 received at 66525 <at> debbugs.gnu.org (full text, mbox):
Having a dependency on (guix build syscalls) this deep in the stack
would make it much harder to change syscalls.scm.
* gnu/packages/polkit.scm (polkit)[arguments]: Remove #:imported-modules.
Remove (guix build syscalls) from #:modules.
Rewrite ‘check’ phase to reap processes from the build process.
[native-inputs]: Remove TINI.
---
gnu/packages/polkit.scm | 35 +++++++++++++++--------------------
1 file changed, 15 insertions(+), 20 deletions(-)
diff --git a/gnu/packages/polkit.scm b/gnu/packages/polkit.scm
index 6fe7824a57..2f733dd703 100644
--- a/gnu/packages/polkit.scm
+++ b/gnu/packages/polkit.scm
@@ -95,10 +95,7 @@ (define-public polkit
(build-system meson-build-system)
(arguments
(list
- #:imported-modules `(,@%meson-build-system-modules
- (guix build syscalls))
#:modules '((guix build meson-build-system)
- (guix build syscalls)
(guix build utils)
(ice-9 match))
#:configure-flags
@@ -130,24 +127,23 @@ (define-public polkit
(replace 'check
(lambda* (#:key tests? test-options #:allow-other-keys)
(when tests?
- ;; Run the test suite through tini to ensure signals are
- ;; properly handled and zombie processes reaped.
(match (primitive-fork)
(0 ;child process
- (set-child-subreaper!)
- ;; Use tini so that signals are properly handled and
- ;; doubly-forked processes get reaped; otherwise,
- ;; python-dbusmock would waste time polling for the dbus
- ;; processes it spawns to be reaped, in vain.
- (apply execlp "tini" "--"
- "meson" "--" "test" "-t" "0" "--print-errorlogs"
+ (apply execlp "meson" "meson"
+ "test" "-t" "0" "--print-errorlogs"
test-options))
- (pid
- (match (waitpid pid)
- ((_ . status)
- (unless (zero? status)
- (error "`meson test' exited with status"
- status))))))))))))
+ (meson-pid
+ ;; Reap child processes; otherwise, python-dbusmock would
+ ;; waste time polling for the dbus processes it spawns to
+ ;; be reaped, in vain.
+ (let loop ()
+ (match (waitpid WAIT_ANY)
+ ((pid . status)
+ (if (= pid meson-pid)
+ (unless (zero? status)
+ (error "`meson test' exited with status"
+ status))
+ (loop)))))))))))))
(inputs
(list duktape expat elogind linux-pam nspr))
(propagated-inputs
@@ -162,8 +158,7 @@ (define-public polkit
perl
pkg-config
python
- python-dbusmock
- tini))
+ python-dbusmock))
(home-page "https://www.freedesktop.org/wiki/Software/polkit/")
(synopsis "Authorization API for privilege management")
(description "Polkit is an application-level toolkit for defining and
--
2.41.0
This bug report was last modified 1 year and 305 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.