all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: 66525@debbugs.gnu.org,
	Liliana Marie Prikler <liliana.prikler@gmail.com>,
	Raghav Gururajan <rg@raghavgururajan.name>
Subject: [bug#66525] [PATCH 1/7] gnu: mutter: Remove dependency on (guix build syscalls).
Date: Sat, 14 Oct 2023 08:52:45 -0400	[thread overview]
Message-ID: <874jit5psy.fsf@gmail.com> (raw)
In-Reply-To: <51c7e4c608c40f38c83a4ac9db88e8e1c2985ac1.1697211312.git.ludo@gnu.org> ("Ludovic Courtès"'s message of "Fri, 13 Oct 2023 17:47:44 +0200")

Hi Ludo,

Ludovic Courtès <ludo@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




  parent reply	other threads:[~2023-10-14 12:54 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-13 15:45 [bug#66525] [PATCH 0/7] Remove dependency of polkit, python-dbusmock, etc. on (guix build syscalls) Ludovic Courtès
2023-10-13 15:47 ` [bug#66525] [PATCH 1/7] gnu: mutter: Remove dependency " Ludovic Courtès
2023-10-13 16:49   ` Liliana Marie Prikler
2023-10-14 12:53     ` Maxim Cournoyer
2023-10-14 17:48       ` Ludovic Courtès
2023-10-13 17:05   ` Bruno Victal
2023-10-14 17:48     ` Ludovic Courtès
2023-10-14 12:52   ` Maxim Cournoyer [this message]
2023-10-14 17:50     ` Ludovic Courtès
2023-10-15 19:54       ` Maxim Cournoyer
2023-10-16 15:16         ` Ludovic Courtès
2023-10-16 16:19           ` Maxim Cournoyer
2023-10-22 13:43             ` [bug#66525] [PATCH v2 00/10] Remove dependency of polkit, python-dbusmock, etc. " Ludovic Courtès
2023-10-22 13:43               ` [bug#66525] [PATCH v2 01/10] gnu: mutter: Remove dependency " Ludovic Courtès
2023-10-22 13:43               ` [bug#66525] [PATCH v2 02/10] gnu: python-ipykernel: " Ludovic Courtès
2023-10-22 13:43               ` [bug#66525] [PATCH v2 03/10] gnu: python-dbusmock: " Ludovic Courtès
2023-10-22 13:43               ` [bug#66525] [PATCH v2 04/10] gnu: python-dbusmock: Rewrite phases as a gexp Ludovic Courtès
2023-10-22 13:43               ` [bug#66525] [PATCH v2 05/10] gnu: python-dbusmock: Use ‘search-input-file’ Ludovic Courtès
2023-10-22 13:43               ` [bug#66525] [PATCH v2 06/10] gnu: polkit: Remove dependency on (guix build syscalls) Ludovic Courtès
2023-10-22 13:43               ` [bug#66525] [PATCH v2 07/10] gnu: public-inbox: " Ludovic Courtès
2023-10-22 13:43               ` [bug#66525] [PATCH v2 08/10] build-system/ant: " Ludovic Courtès
2023-10-22 13:43               ` [bug#66525] [PATCH v2 09/10] build-system/android-ndk: " Ludovic Courtès
2023-10-22 13:43               ` [bug#66525] [PATCH v2 10/10] build-system/dub: " Ludovic Courtès
2023-10-23  1:54               ` [bug#66525] [PATCH v2 00/10] Remove dependency of polkit, python-dbusmock, etc. " Maxim Cournoyer
2023-10-23 10:09                 ` Ludovic Courtès
2023-10-23 15:12                   ` Maxim Cournoyer
2023-10-13 15:47 ` [bug#66525] [PATCH 2/7] gnu: python-ipykernel: Remove dependency " Ludovic Courtès
2023-10-13 15:47 ` [bug#66525] [PATCH 3/7] gnu: python-dbusmock: " Ludovic Courtès
2023-10-13 15:47 ` [bug#66525] [PATCH 4/7] gnu: python-dbusmock: Rewrite phases as a gexp Ludovic Courtès
2023-10-13 15:47 ` [bug#66525] [PATCH 5/7] gnu: python-dbusmock: Use ‘search-input-file’ Ludovic Courtès
2023-10-13 15:47 ` [bug#66525] [PATCH 6/7] gnu: polkit: Remove dependency on (guix build syscalls) Ludovic Courtès
2023-10-13 15:47 ` [bug#66525] [PATCH 7/7] gnu: public-inbox: " Ludovic Courtès
2023-10-14 12:56 ` [bug#66525] [PATCH 0/7] Remove dependency of polkit, python-dbusmock, etc. " Maxim Cournoyer
2023-10-17  8:56 ` Efraim Flashner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=874jit5psy.fsf@gmail.com \
    --to=maxim.cournoyer@gmail.com \
    --cc=66525@debbugs.gnu.org \
    --cc=liliana.prikler@gmail.com \
    --cc=ludo@gnu.org \
    --cc=rg@raghavgururajan.name \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.