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.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 66525 in the body.
You can then email your comments to 66525 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
guix-patches <at> gnu.org
:
bug#66525
; Package
guix-patches
.
(Fri, 13 Oct 2023 15:47:01 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Ludovic Courtès <ludo <at> gnu.org>
:
New bug report received and forwarded. Copy sent to
guix-patches <at> gnu.org
.
(Fri, 13 Oct 2023 15:47:01 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
Hello!
This patch series removes (guix build syscalls) from the dependencies
of several packages where having that dependency would effectively
prevent us from changing syscalls.scm due to the high number of
dependents (and it turns out that removing that dependency was easy).
This change involves a rebuild of ~3,912 packages. I plan to create
a branch and have it built by ci.guix (I suppose qa.guix will skip it
by default?). I can do that any time (the build farm is currently idle!)
but since ‘rust-team’ is fully built, I thought we might want to merge
it first; Efraim? I’ll also send a proper “request for merging”.
Besides I have not forgotten about the underlying bug, reported
at <https://issues.guix.gnu.org/30948>, and I plan to propose another
fix there.
Thoughts?
Ludo’.
Ludovic Courtès (7):
gnu: mutter: Remove dependency on (guix build syscalls).
gnu: python-ipykernel: Remove dependency on (guix build syscalls).
gnu: python-dbusmock: Remove dependency on (guix build syscalls).
gnu: python-dbusmock: Rewrite phases as a gexp.
gnu: python-dbusmock: Use ‘search-input-file’.
gnu: polkit: Remove dependency on (guix build syscalls).
gnu: public-inbox: Remove dependency on (guix build syscalls).
gnu/packages/gnome.scm | 25 +++++-----
gnu/packages/mail.scm | 33 ++++++-------
gnu/packages/polkit.scm | 35 ++++++-------
gnu/packages/python-xyz.scm | 99 ++++++++++++++++++-------------------
4 files changed, 89 insertions(+), 103 deletions(-)
base-commit: 5a3fb306535c2ec0a118f2f0bc8f6a162b85c7d6
--
2.41.0
Information forwarded
to
liliana.prikler <at> gmail.com, maxim.cournoyer <at> gmail.com, rg <at> raghavgururajan.name, guix-patches <at> gnu.org
:
bug#66525
; Package
guix-patches
.
(Fri, 13 Oct 2023 15:49:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 66525 <at> debbugs.gnu.org (full text, mbox):
* gnu/packages/gnome.scm (mutter)[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/gnome.scm | 25 +++++++++++--------------
1 file changed, 11 insertions(+), 14 deletions(-)
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 908b5782b5..a4993b7aa9 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -7831,10 +7831,7 @@ (define-public mutter
(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))
#:glib-or-gtk? #t
@@ -7928,22 +7925,23 @@ (define-public mutter
"1"))
(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" "--"
- "dbus-run-session" "--"
+ (apply execlp "dbus-run-session" "dbus-run-session"
"xvfb-run" "-a" "-s" (getenv "XVFB_SERVER_ARGS")
"meson" "test" "-t" "0" "--print-errorlogs"
test-options))
- (pid
- (match (waitpid pid)
- ((_ . status)
- (unless (zero? status)
- (error "`meson test' exited with status"
- status))))))))))))
+ (dbus-pid
+ (let loop ()
+ (match (waitpid WAIT_ANY)
+ ((pid . status)
+ (if (= pid dbus-pid)
+ (unless (zero? status)
+ (error "`meson test' exited with status"
+ status))
+ (loop)))))))))))))
(native-inputs
(list desktop-file-utils ;for update-desktop-database
`(,glib "bin") ;for glib-compile-schemas, etc.
@@ -7964,8 +7962,7 @@ (define-public mutter
pipewire
python
python-dbus
- python-dbusmock
- tini)) ;acting as init (zombie reaper)
+ python-dbusmock))
(propagated-inputs
(list gsettings-desktop-schemas-next ;required by libmutter.pc
gtk+ ;required by libmutter.pc
--
2.41.0
Information forwarded
to
lars <at> 6xq.net, marius <at> gnu.org, me <at> bonfacemunyoki.com, jgart <at> dismail.de, guix-patches <at> gnu.org
:
bug#66525
; Package
guix-patches
.
(Fri, 13 Oct 2023 15:49:02 GMT)
Full text and
rfc822 format available.
Message #11 received at 66525 <at> debbugs.gnu.org (full text, mbox):
* gnu/packages/python-xyz.scm (python-ipykernel)[arguments]:
Remove #:imported-modules. Remove (guix build syscalls) from #:modules.
Rewrite ‘check’ phase to reap child processes from the build process.
[native-inputs]: Remove TINI.
---
gnu/packages/python-xyz.scm | 31 +++++++++++++------------------
1 file changed, 13 insertions(+), 18 deletions(-)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index a45ff44be1..07984adb8e 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -10644,10 +10644,7 @@ (define-public python-ipykernel
(build-system pyproject-build-system)
(arguments
(list
- #:imported-modules `(,@%pyproject-build-system-modules
- (guix build syscalls))
#:modules '((guix build pyproject-build-system)
- (guix build syscalls)
(guix build utils)
(ice-9 match))
#:phases
@@ -10666,20 +10663,19 @@ (define-public python-ipykernel
(when tests?
(match (primitive-fork)
(0 ;child process
- (set-child-subreaper!)
- ;; XXX: Tini provides proper PID1-like signal handling that
- ;; reaps zombie processes, necessary for the
- ;; 'test_shutdown_subprocesses' test to pass.
-
- ;; TODO: Complete https://issues.guix.gnu.org/30948.
(setenv "HOME" "/tmp")
- (execlp "tini" "--" "pytest" "-vv"))
- (pid
- (match (waitpid pid)
- ((_ . status)
- (unless (zero? status)
- (error "`pytest' exited with status"
- status)))))))))
+ (execlp "pytest" "pytest" "-vv"))
+ (pytest-pid
+ ;; Reap zombie processes, necessary for the
+ ;; 'test_shutdown_subprocesses' test to pass.
+ (let loop ()
+ (match (waitpid WAIT_ANY)
+ ((pid . status)
+ (if (= pid pytest-pid)
+ (unless (zero? status)
+ (error "`pytest' exited with status"
+ status))
+ (loop))))))))))
(add-after 'install 'set-python-file-name
(lambda* (#:key inputs #:allow-other-keys)
;; Record the absolute file name of the 'python' executable in
@@ -10708,8 +10704,7 @@ (define-public python-ipykernel
;; and causes deprecation warnings. Using the bootstrap variant
;; avoids that.
python-pytest-bootstrap
- python-pytest-timeout
- tini))
+ python-pytest-timeout))
(home-page "https://ipython.org")
(synopsis "IPython Kernel for Jupyter")
(description "This package provides the IPython kernel for Jupyter.")
--
2.41.0
Information forwarded
to
lars <at> 6xq.net, marius <at> gnu.org, me <at> bonfacemunyoki.com, jgart <at> dismail.de, guix-patches <at> gnu.org
:
bug#66525
; Package
guix-patches
.
(Fri, 13 Oct 2023 15:49:03 GMT)
Full text and
rfc822 format available.
Message #14 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/python-xyz.scm (python-dbusmock)[native-inputs]: Remove TINY.
[arguments]: Remove #:imported-modules, and remove (guix build syscalls)
from #:modules. Rewrite ‘check’ phase to reap processes from the build
process itself.
---
gnu/packages/python-xyz.scm | 32 +++++++++++++++-----------------
1 file changed, 15 insertions(+), 17 deletions(-)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 07984adb8e..e871951def 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -27156,12 +27156,10 @@ (define-public python-dbusmock
"1nwl0gzzds2g1w1gfxfzlgrkb5hr1rrdyn619ml25c6b1rjyfk3g"))))
(build-system python-build-system)
(arguments
- `(#:imported-modules (,@%python-build-system-modules
- (guix build syscalls))
- #:modules ((guix build python-build-system)
- (guix build syscalls)
+ `(#:modules ((guix build python-build-system)
(guix build utils)
(ice-9 match))
+
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-paths
@@ -27177,20 +27175,20 @@ (define-public python-dbusmock
(when tests?
(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.
- (execlp "tini" "--" "pytest" "-vv"))
- (pid
- (match (waitpid pid)
- ((_ . status)
- (unless (zero? status)
- (error "`pytest' exited with status"
- status))))))))))))
+ (execlp "pytest" "pytest" "-vv"))
+ (pytest-pid
+ (let loop ()
+ ;; Reap child processes; otherwise, python-dbusmock would
+ ;; waste time polling for the dbus processes it spawns to
+ ;; be reaped, in vain.
+ (match (waitpid WAIT_ANY)
+ ((pid . status)
+ (if (= pid pytest-pid)
+ (unless (zero? status)
+ (error "`pytest' exited with status" status))
+ (loop)))))))))))))
(native-inputs
- (list dbus python-pytest tini which))
+ (list dbus python-pytest which))
(inputs
(list dbus))
(propagated-inputs
--
2.41.0
Information forwarded
to
lars <at> 6xq.net, marius <at> gnu.org, me <at> bonfacemunyoki.com, jgart <at> dismail.de, guix-patches <at> gnu.org
:
bug#66525
; Package
guix-patches
.
(Fri, 13 Oct 2023 15:49:03 GMT)
Full text and
rfc822 format available.
Message #17 received at 66525 <at> debbugs.gnu.org (full text, mbox):
* gnu/packages/python-xyz.scm (python-dbusmock)[arguments]: Use gexps.
---
gnu/packages/python-xyz.scm | 62 +++++++++++++++++++------------------
1 file changed, 32 insertions(+), 30 deletions(-)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index e871951def..d6747a55c0 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -27156,37 +27156,39 @@ (define-public python-dbusmock
"1nwl0gzzds2g1w1gfxfzlgrkb5hr1rrdyn619ml25c6b1rjyfk3g"))))
(build-system python-build-system)
(arguments
- `(#:modules ((guix build python-build-system)
- (guix build utils)
- (ice-9 match))
+ (list #:modules `((guix build python-build-system)
+ (guix build utils)
+ (ice-9 match))
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-paths
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "tests/test_code.py"
- (("/bin/bash") (which "bash")))
- (substitute* "dbusmock/testcase.py"
- (("'dbus-daemon'")
- (string-append "'" (assoc-ref inputs "dbus")
- "/bin/dbus-daemon'")))))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (match (primitive-fork)
- (0 ;child process
- (execlp "pytest" "pytest" "-vv"))
- (pytest-pid
- (let loop ()
- ;; Reap child processes; otherwise, python-dbusmock would
- ;; waste time polling for the dbus processes it spawns to
- ;; be reaped, in vain.
- (match (waitpid WAIT_ANY)
- ((pid . status)
- (if (= pid pytest-pid)
- (unless (zero? status)
- (error "`pytest' exited with status" status))
- (loop)))))))))))))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "tests/test_code.py"
+ (("/bin/bash")
+ (which "bash")))
+ (substitute* "dbusmock/testcase.py"
+ (("'dbus-daemon'")
+ (string-append "'" (assoc-ref inputs "dbus")
+ "/bin/dbus-daemon'")))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (match (primitive-fork)
+ (0 ;child process
+ (execlp "pytest" "pytest" "-vv"))
+ (pytest-pid
+ (let loop ()
+ ;; Reap child processes; otherwise, python-dbusmock
+ ;; would waste time polling for the dbus processes
+ ;; it spawns to be reaped, in vain.
+ (match (waitpid WAIT_ANY)
+ ((pid . status)
+ (if (= pid pytest-pid)
+ (unless (zero? status)
+ (error "`pytest' exited with status"
+ status))
+ (loop)))))))))))))
(native-inputs
(list dbus python-pytest which))
(inputs
--
2.41.0
Information forwarded
to
lars <at> 6xq.net, marius <at> gnu.org, me <at> bonfacemunyoki.com, jgart <at> dismail.de, guix-patches <at> gnu.org
:
bug#66525
; Package
guix-patches
.
(Fri, 13 Oct 2023 15:49:04 GMT)
Full text and
rfc822 format available.
Message #20 received at 66525 <at> debbugs.gnu.org (full text, mbox):
* gnu/packages/python-xyz.scm (python-dbusmock)[arguments]: In
‘patch-paths’ phase, use ‘search-input-file’ instead of ‘assoc-ref’.
---
gnu/packages/python-xyz.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index d6747a55c0..c70ea6eea5 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -27169,8 +27169,8 @@ (define-public python-dbusmock
(which "bash")))
(substitute* "dbusmock/testcase.py"
(("'dbus-daemon'")
- (string-append "'" (assoc-ref inputs "dbus")
- "/bin/dbus-daemon'")))))
+ (object->string
+ (search-input-file inputs "/bin/dbus-daemon"))))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
--
2.41.0
Information forwarded
to
guix-patches <at> gnu.org
:
bug#66525
; Package
guix-patches
.
(Fri, 13 Oct 2023 15:49:04 GMT)
Full text and
rfc822 format available.
Message #23 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
Information forwarded
to
guix-patches <at> gnu.org
:
bug#66525
; Package
guix-patches
.
(Fri, 13 Oct 2023 15:49:05 GMT)
Full text and
rfc822 format available.
Message #26 received at 66525 <at> debbugs.gnu.org (full text, mbox):
* gnu/packages/mail.scm (public-inbox)[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/mail.scm | 33 ++++++++++++++++-----------------
1 file changed, 16 insertions(+), 17 deletions(-)
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index be458a2d92..fc5cde38ce 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo <at> gnu.org>
+;;; Copyright © 2013-2021, 2023 Ludovic Courtès <ludo <at> gnu.org>
;;; Copyright © 2014, 2015, 2017, 2020 Mark H Weaver <mhw <at> netris.org>
;;; Copyright © 2014 Ian Denhardt <ian <at> zenhack.net>
;;; Copyright © 2014 Sou Bunnbu <iyzsong <at> gmail.com>
@@ -4242,10 +4242,7 @@ (define-public public-inbox
(file-name (git-file-name name version))))
(build-system perl-build-system)
(arguments
- `(#:imported-modules (,@%perl-build-system-modules
- (guix build syscalls))
- #:modules ((guix build perl-build-system)
- (guix build syscalls)
+ `(#:modules ((guix build perl-build-system)
(guix build utils)
(ice-9 match))
#:phases
@@ -4282,18 +4279,20 @@ (define-public public-inbox
(setenv "TMP" "/tmp")
(setenv "TMPDIR" "/tmp")
- ;; Use tini so that signals are properly handled and
- ;; doubly-forked processes get reaped; otherwise,
- ;; lei-daemon is kept as a zombie and the testsuite
- ;; fails thinking that it didn't quit as it should.
- (set-child-subreaper!)
- (apply execlp "tini" "--"
+ (apply execlp "make"
"make" "check" test-flags))
- (pid
- (match (waitpid pid)
- ((_ . status)
- (unless (zero? status)
- (error "`make check' exited with status" status))))))
+ (make-pid
+ ;; Reap child processes; otherwise, lei-daemon is kept as
+ ;; a zombie and the testsuite fails thinking that it
+ ;; didn't quit as it should.
+ (let loop ()
+ (match (waitpid WAIT_ANY)
+ ((pid . status)
+ (if (= pid make-pid)
+ (unless (zero? status)
+ (error "`make check' exited with status"
+ status))
+ (loop)))))))
(format #t "test suite not run~%"))))
(add-after 'install 'wrap-programs
(lambda* (#:key inputs outputs #:allow-other-keys)
@@ -4313,7 +4312,7 @@ (define-public public-inbox
(find-files (string-append out "/bin")))))))))
(native-inputs
(list ;; For testing.
- lsof openssl tini))
+ lsof openssl))
(inputs
(append
(if (not (target-64bit?))
--
2.41.0
Added indication that bug 66525 blocks66055
Request was from
Ludovic Courtès <ludo <at> gnu.org>
to
control <at> debbugs.gnu.org
.
(Fri, 13 Oct 2023 15:54:02 GMT)
Full text and
rfc822 format available.
Added indication that bug 66525 blocks66054
Request was from
Ludovic Courtès <ludo <at> gnu.org>
to
control <at> debbugs.gnu.org
.
(Fri, 13 Oct 2023 15:55:02 GMT)
Full text and
rfc822 format available.
Added indication that bug 66525 blocks65546
Request was from
Ludovic Courtès <ludo <at> gnu.org>
to
control <at> debbugs.gnu.org
.
(Fri, 13 Oct 2023 15:55:02 GMT)
Full text and
rfc822 format available.
Information forwarded
to
guix-patches <at> gnu.org
:
bug#66525
; Package
guix-patches
.
(Fri, 13 Oct 2023 16:51:01 GMT)
Full text and
rfc822 format available.
Message #35 received at 66525 <at> debbugs.gnu.org (full text, mbox):
Am Freitag, dem 13.10.2023 um 17:47 +0200 schrieb Ludovic Courtès:
> * gnu/packages/gnome.scm (mutter)[arguments]: Remove #:imported-
> modules.
> Remove (guix build syscalls) from #:modules.
> Rewrite ‘check’ phase to reap processes from the build process.
> [native-inputs]: Remove TINI.
> ---
LGTM, but where would this go?
Information forwarded
to
guix-patches <at> gnu.org
:
bug#66525
; Package
guix-patches
.
(Fri, 13 Oct 2023 17:07:02 GMT)
Full text and
rfc822 format available.
Message #38 received at 66525 <at> debbugs.gnu.org (full text, mbox):
Hi Ludovic,
On 2023-10-13 16:47, Ludovic Courtès wrote:
> [native-inputs]: Remove TINI.
[…]
> (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" "--"
> - "dbus-run-session" "--"
> + (apply execlp "dbus-run-session" "dbus-run-session"
> "xvfb-run" "-a" "-s" (getenv "XVFB_SERVER_ARGS")
Looks like this comment could be removed as well?
--
Furthermore, I consider that nonfree software must be eradicated.
Cheers,
Bruno.
Information forwarded
to
guix-patches <at> gnu.org
:
bug#66525
; Package
guix-patches
.
(Sat, 14 Oct 2023 12:54:01 GMT)
Full text and
rfc822 format available.
Message #41 received at 66525 <at> debbugs.gnu.org (full text, mbox):
Hi Ludo,
Ludovic Courtès <ludo <at> gnu.org> writes:
> * gnu/packages/gnome.scm (mutter)[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/gnome.scm | 25 +++++++++++--------------
> 1 file changed, 11 insertions(+), 14 deletions(-)
>
> diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
> index 908b5782b5..a4993b7aa9 100644
> --- a/gnu/packages/gnome.scm
> +++ b/gnu/packages/gnome.scm
> @@ -7831,10 +7831,7 @@ (define-public mutter
> (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))
> #:glib-or-gtk? #t
> @@ -7928,22 +7925,23 @@ (define-public mutter
> "1"))
> (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.
As Bruno mentioned, the comment above has gone stale.
> - (apply execlp "tini" "--"
> - "dbus-run-session" "--"
> + (apply execlp "dbus-run-session" "dbus-run-session"
> "xvfb-run" "-a" "-s" (getenv "XVFB_SERVER_ARGS")
> "meson" "test" "-t" "0" "--print-errorlogs"
> test-options))
> - (pid
> - (match (waitpid pid)
> - ((_ . status)
> - (unless (zero? status)
> - (error "`meson test' exited with status"
> - status))))))))))))
> + (dbus-pid
> + (let loop ()
> + (match (waitpid WAIT_ANY)
> + ((pid . status)
> + (if (= pid dbus-pid)
> + (unless (zero? status)
> + (error "`meson test' exited with status"
> + status))
> + (loop)))))))))))))
Interesting simplification! I obviously wasn't aware this could work
instead of the more intricate set-child-subreaper! + fake init (tini).
I guess it solves a very narrow subset signal handling behavior compared
to a real init, but that it is sufficient here.
LGTM with comments from Bruno taken into account.
I think it could go to core-updates since we're already prepping the
branch. It may give some respite to the berlin aarch64 workers, which
have been working non-stop for days or weeks.
--
Thanks,
Maxim
Information forwarded
to
guix-patches <at> gnu.org
:
bug#66525
; Package
guix-patches
.
(Sat, 14 Oct 2023 12:54:02 GMT)
Full text and
rfc822 format available.
Message #44 received at 66525 <at> debbugs.gnu.org (full text, mbox):
Hi Liliana,
z
Liliana Marie Prikler <liliana.prikler <at> gmail.com> writes:
> Am Freitag, dem 13.10.2023 um 17:47 +0200 schrieb Ludovic Courtès:
>> * gnu/packages/gnome.scm (mutter)[arguments]: Remove #:imported-
>> modules.
>> Remove (guix build syscalls) from #:modules.
>> Rewrite ‘check’ phase to reap processes from the build process.
>> [native-inputs]: Remove TINI.
>> ---
> LGTM, but where would this go?
I think it could go to core-updates.
Information forwarded
to
guix-patches <at> gnu.org
:
bug#66525
; Package
guix-patches
.
(Sat, 14 Oct 2023 12:58:01 GMT)
Full text and
rfc822 format available.
Message #47 received at 66525 <at> debbugs.gnu.org (full text, mbox):
Hi Ludovic,
Ludovic Courtès <ludo <at> gnu.org> writes:
[...]
> Besides I have not forgotten about the underlying bug, reported
> at <https://issues.guix.gnu.org/30948>, and I plan to propose another
> fix there.
I'm looking forward to how you'll approach the problem.
[...]
> Ludovic Courtès (7):
> gnu: mutter: Remove dependency on (guix build syscalls).
> gnu: python-ipykernel: Remove dependency on (guix build syscalls).
> gnu: python-dbusmock: Remove dependency on (guix build syscalls).
> gnu: python-dbusmock: Rewrite phases as a gexp.
> gnu: python-dbusmock: Use ‘search-input-file’.
> gnu: polkit: Remove dependency on (guix build syscalls).
> gnu: public-inbox: Remove dependency on (guix build syscalls).
This series LGTM, with the comment about Mirai to drop a stale comment
in path #1 addressed.
Thanks for working on it!
--
Thanks,
Maxim
Information forwarded
to
guix-patches <at> gnu.org
:
bug#66525
; Package
guix-patches
.
(Sat, 14 Oct 2023 17:49:02 GMT)
Full text and
rfc822 format available.
Message #50 received at 66525 <at> debbugs.gnu.org (full text, mbox):
Hi,
Maxim Cournoyer <maxim.cournoyer <at> gmail.com> skribis:
> Liliana Marie Prikler <liliana.prikler <at> gmail.com> writes:
>
>> Am Freitag, dem 13.10.2023 um 17:47 +0200 schrieb Ludovic Courtès:
>>> * gnu/packages/gnome.scm (mutter)[arguments]: Remove #:imported-
>>> modules.
>>> Remove (guix build syscalls) from #:modules.
>>> Rewrite ‘check’ phase to reap processes from the build process.
>>> [native-inputs]: Remove TINI.
>>> ---
>> LGTM, but where would this go?
>
> I think it could go to core-updates.
I proposed a dedicated branch, in line with the branching policy that
was discussed back in February during and after the Guix Days:
https://issues.guix.gnu.org/66525#0
Ludo’.
Information forwarded
to
guix-patches <at> gnu.org
:
bug#66525
; Package
guix-patches
.
(Sat, 14 Oct 2023 17:50:02 GMT)
Full text and
rfc822 format available.
Message #53 received at 66525 <at> debbugs.gnu.org (full text, mbox):
Bruno Victal <mirai <at> makinata.eu> skribis:
>> (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" "--"
>> - "dbus-run-session" "--"
>> + (apply execlp "dbus-run-session" "dbus-run-session"
>> "xvfb-run" "-a" "-s" (getenv "XVFB_SERVER_ARGS")
>
> Looks like this comment could be removed as well?
Oops, noted (waiting for other comments before sending a new version).
Ludo’.
Information forwarded
to
guix-patches <at> gnu.org
:
bug#66525
; Package
guix-patches
.
(Sat, 14 Oct 2023 17:51:02 GMT)
Full text and
rfc822 format available.
Message #56 received at 66525 <at> debbugs.gnu.org (full text, mbox):
Maxim Cournoyer <maxim.cournoyer <at> gmail.com> skribis:
> I think it could go to core-updates since we're already prepping the
> branch. It may give some respite to the berlin aarch64 workers, which
> have been working non-stop for days or weeks.
Yeah, it’s a tempting option in terms of resource usage, but less in
terms of legibility of the whole process. Dunno.
Ludo’.
Information forwarded
to
guix-patches <at> gnu.org
:
bug#66525
; Package
guix-patches
.
(Sun, 15 Oct 2023 19:55:02 GMT)
Full text and
rfc822 format available.
Message #59 received at 66525 <at> debbugs.gnu.org (full text, mbox):
Hi,
Ludovic Courtès <ludo <at> gnu.org> writes:
> Maxim Cournoyer <maxim.cournoyer <at> gmail.com> skribis:
>
>> I think it could go to core-updates since we're already prepping the
>> branch. It may give some respite to the berlin aarch64 workers, which
>> have been working non-stop for days or weeks.
>
> Yeah, it’s a tempting option in terms of resource usage, but less in
> terms of legibility of the whole process. Dunno.
Yeah, for resource usage, bundling this to core-updates makes sense,
especially since it should only affect running the test suite of the
packages touched, not their output.
--
Thanks,
Maxim
Information forwarded
to
guix-patches <at> gnu.org
:
bug#66525
; Package
guix-patches
.
(Mon, 16 Oct 2023 15:18:02 GMT)
Full text and
rfc822 format available.
Message #62 received at 66525 <at> debbugs.gnu.org (full text, mbox):
Hi,
Maxim Cournoyer <maxim.cournoyer <at> gmail.com> skribis:
> Ludovic Courtès <ludo <at> gnu.org> writes:
>
>> Maxim Cournoyer <maxim.cournoyer <at> gmail.com> skribis:
>>
>>> I think it could go to core-updates since we're already prepping the
>>> branch. It may give some respite to the berlin aarch64 workers, which
>>> have been working non-stop for days or weeks.
>>
>> Yeah, it’s a tempting option in terms of resource usage, but less in
>> terms of legibility of the whole process. Dunno.
>
> Yeah, for resource usage, bundling this to core-updates makes sense,
> especially since it should only affect running the test suite of the
> packages touched, not their output.
OTOH, my initial motivation was to apply patches to syscalls.scm that
have been queued for quite a while already:
https://issues.guix.gnu.org/66055
https://issues.guix.gnu.org/66054
https://issues.guix.gnu.org/65546
I fear that bundling it with ‘core-updates’ would delay it by several
more months.
Resource usage is a concern due to the low AArch64 build power, but it’s
not too bad lately, even with ‘rust-team’ and ‘gnome-team’ updates:
https://ci.guix.gnu.org/metrics
So overall, I think I have a preference for making a dedicated branch
and queueing a branch merge request. (I think it’s also good to use
that process more widely.)
WDYT?
Ludo’.
Information forwarded
to
guix-patches <at> gnu.org
:
bug#66525
; Package
guix-patches
.
(Mon, 16 Oct 2023 16:21:01 GMT)
Full text and
rfc822 format available.
Message #65 received at 66525 <at> debbugs.gnu.org (full text, mbox):
Hi Ludo,
Ludovic Courtès <ludo <at> gnu.org> writes:
> Hi,
>
> Maxim Cournoyer <maxim.cournoyer <at> gmail.com> skribis:
>
>> Ludovic Courtès <ludo <at> gnu.org> writes:
>>
>>> Maxim Cournoyer <maxim.cournoyer <at> gmail.com> skribis:
>>>
>>>> I think it could go to core-updates since we're already prepping the
>>>> branch. It may give some respite to the berlin aarch64 workers, which
>>>> have been working non-stop for days or weeks.
>>>
>>> Yeah, it’s a tempting option in terms of resource usage, but less in
>>> terms of legibility of the whole process. Dunno.
>>
>> Yeah, for resource usage, bundling this to core-updates makes sense,
>> especially since it should only affect running the test suite of the
>> packages touched, not their output.
>
> OTOH, my initial motivation was to apply patches to syscalls.scm that
> have been queued for quite a while already:
>
> https://issues.guix.gnu.org/66055
> https://issues.guix.gnu.org/66054
> https://issues.guix.gnu.org/65546
>
> I fear that bundling it with ‘core-updates’ would delay it by several
> more months.
>
> Resource usage is a concern due to the low AArch64 build power, but it’s
> not too bad lately, even with ‘rust-team’ and ‘gnome-team’ updates:
>
> https://ci.guix.gnu.org/metrics
>
> So overall, I think I have a preference for making a dedicated branch
> and queueing a branch merge request. (I think it’s also good to use
> that process more widely.)
>
> WDYT?
Go for it! I'm confident core-updates won't take several months, but
who knows :-)
--
Thanks,
Maxim
Information forwarded
to
guix-patches <at> gnu.org
:
bug#66525
; Package
guix-patches
.
(Tue, 17 Oct 2023 08:58:02 GMT)
Full text and
rfc822 format available.
Message #68 received at submit <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
On Fri, Oct 13, 2023 at 05:45:32PM +0200, Ludovic Courtès wrote:
> Hello!
>
> This patch series removes (guix build syscalls) from the dependencies
> of several packages where having that dependency would effectively
> prevent us from changing syscalls.scm due to the high number of
> dependents (and it turns out that removing that dependency was easy).
>
> This change involves a rebuild of ~3,912 packages. I plan to create
> a branch and have it built by ci.guix (I suppose qa.guix will skip it
> by default?). I can do that any time (the build farm is currently idle!)
> but since ‘rust-team’ is fully built, I thought we might want to merge
> it first; Efraim? I’ll also send a proper “request for merging”.
That would be nice. I'm currently waiting for aarch64 to catch up and
then I need to rebase on master since the qt-team branch got merged and
then it should be ready.
> Besides I have not forgotten about the underlying bug, reported
> at <https://issues.guix.gnu.org/30948>, and I plan to propose another
> fix there.
>
> Thoughts?
>
> Ludo’.
>
> Ludovic Courtès (7):
> gnu: mutter: Remove dependency on (guix build syscalls).
> gnu: python-ipykernel: Remove dependency on (guix build syscalls).
> gnu: python-dbusmock: Remove dependency on (guix build syscalls).
> gnu: python-dbusmock: Rewrite phases as a gexp.
> gnu: python-dbusmock: Use ‘search-input-file’.
> gnu: polkit: Remove dependency on (guix build syscalls).
> gnu: public-inbox: Remove dependency on (guix build syscalls).
>
> gnu/packages/gnome.scm | 25 +++++-----
> gnu/packages/mail.scm | 33 ++++++-------
> gnu/packages/polkit.scm | 35 ++++++-------
> gnu/packages/python-xyz.scm | 99 ++++++++++++++++++-------------------
> 4 files changed, 89 insertions(+), 103 deletions(-)
>
>
> base-commit: 5a3fb306535c2ec0a118f2f0bc8f6a162b85c7d6
> --
> 2.41.0
>
--
Efraim Flashner <efraim <at> flashner.co.il> רנשלפ םירפא
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
[signature.asc (application/pgp-signature, inline)]
Information forwarded
to
guix-patches <at> gnu.org
:
bug#66525
; Package
guix-patches
.
(Sun, 22 Oct 2023 13:45:02 GMT)
Full text and
rfc822 format available.
Message #71 received at 66525 <at> debbugs.gnu.org (full text, mbox):
Hello!
Here’s an updated version of this patch set; changes compared to v1:
• Update outdated comment in one of the packages;
• Remove dependency on (guix build syscalls) of the following build
systems: ant, dub, android-ndk.
I’ve pushed this as ‘wip-syscall-update’ and got ci.guix to build it:
https://ci.guix.gnu.org/jobset/syscall-update
As discussed earlier, I’ll send a merge request.
Ludo’.
Ludovic Courtès (10):
gnu: mutter: Remove dependency on (guix build syscalls).
gnu: python-ipykernel: Remove dependency on (guix build syscalls).
gnu: python-dbusmock: Remove dependency on (guix build syscalls).
gnu: python-dbusmock: Rewrite phases as a gexp.
gnu: python-dbusmock: Use ‘search-input-file’.
gnu: polkit: Remove dependency on (guix build syscalls).
gnu: public-inbox: Remove dependency on (guix build syscalls).
build-system/ant: Remove dependency on (guix build syscalls).
build-system/android-ndk: Remove dependency on (guix build syscalls).
build-system/dub: Remove dependency on (guix build syscalls).
gnu/packages/gnome.scm | 32 +++++-----
gnu/packages/mail.scm | 33 +++++------
gnu/packages/polkit.scm | 35 +++++------
gnu/packages/python-xyz.scm | 99 +++++++++++++++----------------
guix/build-system/android-ndk.scm | 1 -
guix/build-system/ant.scm | 1 -
guix/build-system/dub.scm | 1 -
7 files changed, 92 insertions(+), 110 deletions(-)
base-commit: 8ca7ccbf0dad63d75637ffdc6a5105eb9a4a4673
--
2.41.0
Information forwarded
to
liliana.prikler <at> gmail.com, maxim.cournoyer <at> gmail.com, rg <at> raghavgururajan.name, guix-patches <at> gnu.org
:
bug#66525
; Package
guix-patches
.
(Sun, 22 Oct 2023 13:45:02 GMT)
Full text and
rfc822 format available.
Message #74 received at 66525 <at> debbugs.gnu.org (full text, mbox):
* gnu/packages/gnome.scm (mutter)[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/gnome.scm | 32 ++++++++++++++------------------
1 file changed, 14 insertions(+), 18 deletions(-)
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 2ffe8dfef2..ac3035e07d 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -7831,10 +7831,7 @@ (define-public mutter
(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))
#:glib-or-gtk? #t
@@ -7928,22 +7925,22 @@ (define-public mutter
"1"))
(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" "--"
- "dbus-run-session" "--"
+ (apply execlp "dbus-run-session" "dbus-run-session"
"xvfb-run" "-a" "-s" (getenv "XVFB_SERVER_ARGS")
"meson" "test" "-t" "0" "--print-errorlogs"
test-options))
- (pid
- (match (waitpid pid)
- ((_ . status)
- (unless (zero? status)
- (error "`meson test' exited with status"
- status))))))))))))
+ (dbus-pid
+ (let loop ()
+ ;; Reap child processes; otherwise, python-dbusmock would
+ ;; waste time polling for the dbus processes it spawns to
+ ;; be reaped, in vain.
+ (match (waitpid WAIT_ANY)
+ ((pid . status)
+ (if (= pid dbus-pid)
+ (unless (zero? status)
+ (error "`meson test' exited with status"
+ status))
+ (loop)))))))))))))
(native-inputs
(list desktop-file-utils ;for update-desktop-database
`(,glib "bin") ;for glib-compile-schemas, etc.
@@ -7964,8 +7961,7 @@ (define-public mutter
pipewire
python
python-dbus
- python-dbusmock
- tini)) ;acting as init (zombie reaper)
+ python-dbusmock))
(propagated-inputs
(list gsettings-desktop-schemas-next ;required by libmutter.pc
gtk+ ;required by libmutter.pc
--
2.41.0
Information forwarded
to
lars <at> 6xq.net, marius <at> gnu.org, me <at> bonfacemunyoki.com, jgart <at> dismail.de, guix-patches <at> gnu.org
:
bug#66525
; Package
guix-patches
.
(Sun, 22 Oct 2023 13:45:03 GMT)
Full text and
rfc822 format available.
Message #77 received at 66525 <at> debbugs.gnu.org (full text, mbox):
* gnu/packages/python-xyz.scm (python-ipykernel)[arguments]:
Remove #:imported-modules. Remove (guix build syscalls) from #:modules.
Rewrite ‘check’ phase to reap child processes from the build process.
[native-inputs]: Remove TINI.
---
gnu/packages/python-xyz.scm | 31 +++++++++++++------------------
1 file changed, 13 insertions(+), 18 deletions(-)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 29ac11df95..d094c6e451 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -10660,10 +10660,7 @@ (define-public python-ipykernel
(build-system pyproject-build-system)
(arguments
(list
- #:imported-modules `(,@%pyproject-build-system-modules
- (guix build syscalls))
#:modules '((guix build pyproject-build-system)
- (guix build syscalls)
(guix build utils)
(ice-9 match))
#:phases
@@ -10682,20 +10679,19 @@ (define-public python-ipykernel
(when tests?
(match (primitive-fork)
(0 ;child process
- (set-child-subreaper!)
- ;; XXX: Tini provides proper PID1-like signal handling that
- ;; reaps zombie processes, necessary for the
- ;; 'test_shutdown_subprocesses' test to pass.
-
- ;; TODO: Complete https://issues.guix.gnu.org/30948.
(setenv "HOME" "/tmp")
- (execlp "tini" "--" "pytest" "-vv"))
- (pid
- (match (waitpid pid)
- ((_ . status)
- (unless (zero? status)
- (error "`pytest' exited with status"
- status)))))))))
+ (execlp "pytest" "pytest" "-vv"))
+ (pytest-pid
+ ;; Reap zombie processes, necessary for the
+ ;; 'test_shutdown_subprocesses' test to pass.
+ (let loop ()
+ (match (waitpid WAIT_ANY)
+ ((pid . status)
+ (if (= pid pytest-pid)
+ (unless (zero? status)
+ (error "`pytest' exited with status"
+ status))
+ (loop))))))))))
(add-after 'install 'set-python-file-name
(lambda* (#:key inputs #:allow-other-keys)
;; Record the absolute file name of the 'python' executable in
@@ -10724,8 +10720,7 @@ (define-public python-ipykernel
;; and causes deprecation warnings. Using the bootstrap variant
;; avoids that.
python-pytest-bootstrap
- python-pytest-timeout
- tini))
+ python-pytest-timeout))
(home-page "https://ipython.org")
(synopsis "IPython Kernel for Jupyter")
(description "This package provides the IPython kernel for Jupyter.")
--
2.41.0
Information forwarded
to
lars <at> 6xq.net, marius <at> gnu.org, me <at> bonfacemunyoki.com, jgart <at> dismail.de, guix-patches <at> gnu.org
:
bug#66525
; Package
guix-patches
.
(Sun, 22 Oct 2023 13:45:03 GMT)
Full text and
rfc822 format available.
Message #80 received at 66525 <at> debbugs.gnu.org (full text, mbox):
* gnu/packages/python-xyz.scm (python-dbusmock)[arguments]: Use gexps.
---
gnu/packages/python-xyz.scm | 62 +++++++++++++++++++------------------
1 file changed, 32 insertions(+), 30 deletions(-)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 782d1fae6f..4929c6dcc7 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -27165,37 +27165,39 @@ (define-public python-dbusmock
"1nwl0gzzds2g1w1gfxfzlgrkb5hr1rrdyn619ml25c6b1rjyfk3g"))))
(build-system python-build-system)
(arguments
- `(#:modules ((guix build python-build-system)
- (guix build utils)
- (ice-9 match))
+ (list #:modules `((guix build python-build-system)
+ (guix build utils)
+ (ice-9 match))
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-paths
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "tests/test_code.py"
- (("/bin/bash") (which "bash")))
- (substitute* "dbusmock/testcase.py"
- (("'dbus-daemon'")
- (string-append "'" (assoc-ref inputs "dbus")
- "/bin/dbus-daemon'")))))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (match (primitive-fork)
- (0 ;child process
- (execlp "pytest" "pytest" "-vv"))
- (pytest-pid
- (let loop ()
- ;; Reap child processes; otherwise, python-dbusmock would
- ;; waste time polling for the dbus processes it spawns to
- ;; be reaped, in vain.
- (match (waitpid WAIT_ANY)
- ((pid . status)
- (if (= pid pytest-pid)
- (unless (zero? status)
- (error "`pytest' exited with status" status))
- (loop)))))))))))))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "tests/test_code.py"
+ (("/bin/bash")
+ (which "bash")))
+ (substitute* "dbusmock/testcase.py"
+ (("'dbus-daemon'")
+ (string-append "'" (assoc-ref inputs "dbus")
+ "/bin/dbus-daemon'")))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (match (primitive-fork)
+ (0 ;child process
+ (execlp "pytest" "pytest" "-vv"))
+ (pytest-pid
+ (let loop ()
+ ;; Reap child processes; otherwise, python-dbusmock
+ ;; would waste time polling for the dbus processes
+ ;; it spawns to be reaped, in vain.
+ (match (waitpid WAIT_ANY)
+ ((pid . status)
+ (if (= pid pytest-pid)
+ (unless (zero? status)
+ (error "`pytest' exited with status"
+ status))
+ (loop)))))))))))))
(native-inputs
(list dbus python-pytest which))
(inputs
--
2.41.0
Information forwarded
to
lars <at> 6xq.net, marius <at> gnu.org, me <at> bonfacemunyoki.com, jgart <at> dismail.de, guix-patches <at> gnu.org
:
bug#66525
; Package
guix-patches
.
(Sun, 22 Oct 2023 13:45:04 GMT)
Full text and
rfc822 format available.
Message #83 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/python-xyz.scm (python-dbusmock)[native-inputs]: Remove TINY.
[arguments]: Remove #:imported-modules, and remove (guix build syscalls)
from #:modules. Rewrite ‘check’ phase to reap processes from the build
process itself.
---
gnu/packages/python-xyz.scm | 32 +++++++++++++++-----------------
1 file changed, 15 insertions(+), 17 deletions(-)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index d094c6e451..782d1fae6f 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -27165,12 +27165,10 @@ (define-public python-dbusmock
"1nwl0gzzds2g1w1gfxfzlgrkb5hr1rrdyn619ml25c6b1rjyfk3g"))))
(build-system python-build-system)
(arguments
- `(#:imported-modules (,@%python-build-system-modules
- (guix build syscalls))
- #:modules ((guix build python-build-system)
- (guix build syscalls)
+ `(#:modules ((guix build python-build-system)
(guix build utils)
(ice-9 match))
+
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-paths
@@ -27186,20 +27184,20 @@ (define-public python-dbusmock
(when tests?
(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.
- (execlp "tini" "--" "pytest" "-vv"))
- (pid
- (match (waitpid pid)
- ((_ . status)
- (unless (zero? status)
- (error "`pytest' exited with status"
- status))))))))))))
+ (execlp "pytest" "pytest" "-vv"))
+ (pytest-pid
+ (let loop ()
+ ;; Reap child processes; otherwise, python-dbusmock would
+ ;; waste time polling for the dbus processes it spawns to
+ ;; be reaped, in vain.
+ (match (waitpid WAIT_ANY)
+ ((pid . status)
+ (if (= pid pytest-pid)
+ (unless (zero? status)
+ (error "`pytest' exited with status" status))
+ (loop)))))))))))))
(native-inputs
- (list dbus python-pytest tini which))
+ (list dbus python-pytest which))
(inputs
(list dbus))
(propagated-inputs
--
2.41.0
Information forwarded
to
lars <at> 6xq.net, marius <at> gnu.org, me <at> bonfacemunyoki.com, jgart <at> dismail.de, guix-patches <at> gnu.org
:
bug#66525
; Package
guix-patches
.
(Sun, 22 Oct 2023 13:45:04 GMT)
Full text and
rfc822 format available.
Message #86 received at 66525 <at> debbugs.gnu.org (full text, mbox):
* gnu/packages/python-xyz.scm (python-dbusmock)[arguments]: In
‘patch-paths’ phase, use ‘search-input-file’ instead of ‘assoc-ref’.
---
gnu/packages/python-xyz.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 4929c6dcc7..65c23cb318 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -27178,8 +27178,8 @@ (define-public python-dbusmock
(which "bash")))
(substitute* "dbusmock/testcase.py"
(("'dbus-daemon'")
- (string-append "'" (assoc-ref inputs "dbus")
- "/bin/dbus-daemon'")))))
+ (object->string
+ (search-input-file inputs "/bin/dbus-daemon"))))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
--
2.41.0
Information forwarded
to
guix-patches <at> gnu.org
:
bug#66525
; Package
guix-patches
.
(Sun, 22 Oct 2023 13:45:04 GMT)
Full text and
rfc822 format available.
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
Information forwarded
to
guix-patches <at> gnu.org
:
bug#66525
; Package
guix-patches
.
(Sun, 22 Oct 2023 13:45:05 GMT)
Full text and
rfc822 format available.
Message #92 received at 66525 <at> debbugs.gnu.org (full text, mbox):
* gnu/packages/mail.scm (public-inbox)[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/mail.scm | 33 ++++++++++++++++-----------------
1 file changed, 16 insertions(+), 17 deletions(-)
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index be458a2d92..fc5cde38ce 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo <at> gnu.org>
+;;; Copyright © 2013-2021, 2023 Ludovic Courtès <ludo <at> gnu.org>
;;; Copyright © 2014, 2015, 2017, 2020 Mark H Weaver <mhw <at> netris.org>
;;; Copyright © 2014 Ian Denhardt <ian <at> zenhack.net>
;;; Copyright © 2014 Sou Bunnbu <iyzsong <at> gmail.com>
@@ -4242,10 +4242,7 @@ (define-public public-inbox
(file-name (git-file-name name version))))
(build-system perl-build-system)
(arguments
- `(#:imported-modules (,@%perl-build-system-modules
- (guix build syscalls))
- #:modules ((guix build perl-build-system)
- (guix build syscalls)
+ `(#:modules ((guix build perl-build-system)
(guix build utils)
(ice-9 match))
#:phases
@@ -4282,18 +4279,20 @@ (define-public public-inbox
(setenv "TMP" "/tmp")
(setenv "TMPDIR" "/tmp")
- ;; Use tini so that signals are properly handled and
- ;; doubly-forked processes get reaped; otherwise,
- ;; lei-daemon is kept as a zombie and the testsuite
- ;; fails thinking that it didn't quit as it should.
- (set-child-subreaper!)
- (apply execlp "tini" "--"
+ (apply execlp "make"
"make" "check" test-flags))
- (pid
- (match (waitpid pid)
- ((_ . status)
- (unless (zero? status)
- (error "`make check' exited with status" status))))))
+ (make-pid
+ ;; Reap child processes; otherwise, lei-daemon is kept as
+ ;; a zombie and the testsuite fails thinking that it
+ ;; didn't quit as it should.
+ (let loop ()
+ (match (waitpid WAIT_ANY)
+ ((pid . status)
+ (if (= pid make-pid)
+ (unless (zero? status)
+ (error "`make check' exited with status"
+ status))
+ (loop)))))))
(format #t "test suite not run~%"))))
(add-after 'install 'wrap-programs
(lambda* (#:key inputs outputs #:allow-other-keys)
@@ -4313,7 +4312,7 @@ (define-public public-inbox
(find-files (string-append out "/bin")))))))))
(native-inputs
(list ;; For testing.
- lsof openssl tini))
+ lsof openssl))
(inputs
(append
(if (not (target-64bit?))
--
2.41.0
Information forwarded
to
bjoern.hoefling <at> bjoernhoefling.de, julien <at> lepiller.eu, guix-patches <at> gnu.org
:
bug#66525
; Package
guix-patches
.
(Sun, 22 Oct 2023 13:46:01 GMT)
Full text and
rfc822 format available.
Message #95 received at 66525 <at> debbugs.gnu.org (full text, mbox):
The module has been unused since
a6343af22161b21ddbc4143a2b6a60d1ee860eb0.
* guix/build-system/ant.scm (%ant-build-system-modules): Remove (guix
build syscalls).
---
guix/build-system/ant.scm | 1 -
1 file changed, 1 deletion(-)
diff --git a/guix/build-system/ant.scm b/guix/build-system/ant.scm
index cfb033f6a5..e191fd3c99 100644
--- a/guix/build-system/ant.scm
+++ b/guix/build-system/ant.scm
@@ -43,7 +43,6 @@ (define %ant-build-system-modules
(guix build maven plugin)
(guix build maven pom)
(guix build java-utils)
- (guix build syscalls)
,@%gnu-build-system-modules))
(define (default-jdk)
--
2.41.0
Information forwarded
to
guix-patches <at> gnu.org
:
bug#66525
; Package
guix-patches
.
(Sun, 22 Oct 2023 13:46:02 GMT)
Full text and
rfc822 format available.
Message #98 received at 66525 <at> debbugs.gnu.org (full text, mbox):
The (guix build syscalls) module was unused.
* guix/build-system/android-ndk.scm (%android-ndk-build-system-modules):
Remove (guix build syscalls).
---
guix/build-system/android-ndk.scm | 1 -
1 file changed, 1 deletion(-)
diff --git a/guix/build-system/android-ndk.scm b/guix/build-system/android-ndk.scm
index 047f884b19..aa7cc06279 100644
--- a/guix/build-system/android-ndk.scm
+++ b/guix/build-system/android-ndk.scm
@@ -31,7 +31,6 @@ (define-module (guix build-system android-ndk)
(define %android-ndk-build-system-modules
;; Build-side modules imported by default.
`((guix build android-ndk-build-system)
- (guix build syscalls)
,@%gnu-build-system-modules))
(define* (android-ndk-build name inputs
--
2.41.0
Information forwarded
to
guix-patches <at> gnu.org
:
bug#66525
; Package
guix-patches
.
(Sun, 22 Oct 2023 13:46:02 GMT)
Full text and
rfc822 format available.
Message #101 received at 66525 <at> debbugs.gnu.org (full text, mbox):
The (guix build syscalls) module was unused.
* guix/build-system/dub.scm (%dub-build-system-modules): Remove (guix
build syscalls).
---
guix/build-system/dub.scm | 1 -
1 file changed, 1 deletion(-)
diff --git a/guix/build-system/dub.scm b/guix/build-system/dub.scm
index b4011cdb83..951c084398 100644
--- a/guix/build-system/dub.scm
+++ b/guix/build-system/dub.scm
@@ -59,7 +59,6 @@ (define (default-ld-gold-wrapper)
(define %dub-build-system-modules
;; Build-side modules imported by default.
`((guix build dub-build-system)
- (guix build syscalls)
,@%gnu-build-system-modules))
(define* (dub-build name inputs
--
2.41.0
Added indication that bug 66525 blocks66682
Request was from
Ludovic Courtès <ludo <at> gnu.org>
to
control <at> debbugs.gnu.org
.
(Sun, 22 Oct 2023 13:52:02 GMT)
Full text and
rfc822 format available.
Information forwarded
to
guix-patches <at> gnu.org
:
bug#66525
; Package
guix-patches
.
(Mon, 23 Oct 2023 01:56:01 GMT)
Full text and
rfc822 format available.
Message #106 received at 66525 <at> debbugs.gnu.org (full text, mbox):
Hi Ludovic,
Ludovic Courtès <ludo <at> gnu.org> writes:
> Hello!
>
> Here’s an updated version of this patch set; changes compared to v1:
>
> • Update outdated comment in one of the packages;
>
> • Remove dependency on (guix build syscalls) of the following build
> systems: ant, dub, android-ndk.
>
> I’ve pushed this as ‘wip-syscall-update’ and got ci.guix to build it:
>
> https://ci.guix.gnu.org/jobset/syscall-update
>
> As discussed earlier, I’ll send a merge request.
OK. It seems the branch was already mostly built (72% vs 73% for
master), so it should be good.
I'd still like to have something like bug#65595 implemented in Cuirass
so that it'd be easy to list all regressions that have to do with a
topic branch. Currently failed builds are all grouped in the outputs,
whether it's for already or newly failing packages, which is less useful
in the context of feature branches.
--
Thanks,
Maxim
Information forwarded
to
guix-patches <at> gnu.org
:
bug#66525
; Package
guix-patches
.
(Mon, 23 Oct 2023 10:11:02 GMT)
Full text and
rfc822 format available.
Message #109 received at 66525 <at> debbugs.gnu.org (full text, mbox):
Hi,
Maxim Cournoyer <maxim.cournoyer <at> gmail.com> skribis:
>> I’ve pushed this as ‘wip-syscall-update’ and got ci.guix to build it:
>>
>> https://ci.guix.gnu.org/jobset/syscall-update
>>
>> As discussed earlier, I’ll send a merge request.
>
> OK. It seems the branch was already mostly built (72% vs 73% for
> master), so it should be good.
Yes. (For the record, that’s almost 14K builds in 18 hours; the
x86_64/i686 builds were most likely completed in half of that time.)
Now merged as 48c1a74b2461d42dc0df202d8353640b3b64ac62!
> I'd still like to have something like bug#65595 implemented in Cuirass
> so that it'd be easy to list all regressions that have to do with a
> topic branch. Currently failed builds are all grouped in the outputs,
> whether it's for already or newly failing packages, which is less useful
> in the context of feature branches.
It’s something where the Data Service really shines because it knows the
derivations of each package of each revision, and it can compare
substitute availability.
Perhaps what we need is closer integration and/or user interface
improvement. For example, it’s not trivial from
<https://data.qa.guix.gnu.org/repository/1/branch/issue-66525> to get to
a comparison against the ‘master’ branch.
Ludo’.
bug closed, send any further explanations to
66525 <at> debbugs.gnu.org and Ludovic Courtès <ludo <at> gnu.org>
Request was from
Ludovic Courtès <ludo <at> gnu.org>
to
control <at> debbugs.gnu.org
.
(Mon, 23 Oct 2023 10:11:02 GMT)
Full text and
rfc822 format available.
Information forwarded
to
guix-patches <at> gnu.org
:
bug#66525
; Package
guix-patches
.
(Mon, 23 Oct 2023 15:13:02 GMT)
Full text and
rfc822 format available.
Message #114 received at 66525 <at> debbugs.gnu.org (full text, mbox):
Hey Ludo,
Ludovic Courtès <ludo <at> gnu.org> writes:
> Hi,
>
> Maxim Cournoyer <maxim.cournoyer <at> gmail.com> skribis:
>
>>> I’ve pushed this as ‘wip-syscall-update’ and got ci.guix to build it:
>>>
>>> https://ci.guix.gnu.org/jobset/syscall-update
>>>
>>> As discussed earlier, I’ll send a merge request.
>>
>> OK. It seems the branch was already mostly built (72% vs 73% for
>> master), so it should be good.
>
> Yes. (For the record, that’s almost 14K builds in 18 hours; the
> x86_64/i686 builds were most likely completed in half of that time.)
>
> Now merged as 48c1a74b2461d42dc0df202d8353640b3b64ac62!
I'm surprised even the ARM machines managed to build so many packages
that fast! Great :-).
>> I'd still like to have something like bug#65595 implemented in Cuirass
>> so that it'd be easy to list all regressions that have to do with a
>> topic branch. Currently failed builds are all grouped in the outputs,
>> whether it's for already or newly failing packages, which is less useful
>> in the context of feature branches.
>
> It’s something where the Data Service really shines because it knows the
> derivations of each package of each revision, and it can compare
> substitute availability.
There doesn't seem to be a technical limitation in allowing to filter on
'newly broken' packages; we can already see in the shared bag of 'failed
builds' that some are new failures (they have a down arrow icon), so
Cuirass already has that data; it's just not possibly to query it precisely,
unless I'm missing something.
--
Thanks,
Maxim
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Tue, 21 Nov 2023 12:24:09 GMT)
Full text and
rfc822 format available.
This bug report was last modified 1 year and 213 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.