Git development
 help / color / mirror / Atom feed
From: Adrian Ratiu <adrian.ratiu@collabora.com>
To: Mike Gilbert <floppym@gentoo.org>, git@vger.kernel.org
Cc: Mike Gilbert <floppym@gentoo.org>
Subject: Re: [PATCH] meson: restore hook-list.h to builtin_sources
Date: Thu, 02 Jul 2026 13:34:39 +0300	[thread overview]
Message-ID: <87mrw97k8w.fsf@gentoo.mail-host-address-is-not-set> (raw)
In-Reply-To: <20260701193928.358825-1-floppym@gentoo.org>

On Wed, 01 Jul 2026, Mike Gilbert <floppym@gentoo.org> wrote:
> This fixes a racy build failure.
>
> ```
> builtin/bugreport.c:12:10: fatal error: hook-list.h: No such file or directory
>    12 | #include "hook-list.h"
>       |          ^~~~~~~~~~~~~
>
> ```
>
> hook-list.h must be generated before builtin/bugreport.c is compiled.
>
> Bug: https://bugs.gentoo.org/978326
> Fixes: 2eb541e8f2a9 (hook: move is_known_hook() to hook.c for wider use, 2026-04-10)
> Signed-off-by: Mike Gilbert <floppym@gentoo.org>
> ---
>  meson.build | 26 ++++++++++++++------------
>  1 file changed, 14 insertions(+), 12 deletions(-)
>
> diff --git a/meson.build b/meson.build
> index 3247697f74aa..bdc83843e8e0 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -278,7 +278,20 @@ compat_sources = [
>    'compat/terminal.c',
>  ]
>  
> +hook_list = custom_target(
> +  input: 'Documentation/githooks.adoc',
> +  output: 'hook-list.h',
> +  command: [
> +    shell,
> +    meson.current_source_dir() + '/tools/generate-hooklist.sh',
> +    meson.current_source_dir(),
> +    '@OUTPUT@',
> +  ],
> +  env: script_environment,
> +)
> +
>  libgit_sources = [
> +  hook_list,
>    'abspath.c',
>    'add-interactive.c',
>    'add-patch.c',
> @@ -566,19 +579,8 @@ libgit_sources += custom_target(
>    env: script_environment,
>  )
>  
> -libgit_sources += custom_target(
> -  input: 'Documentation/githooks.adoc',
> -  output: 'hook-list.h',
> -  command: [
> -    shell,
> -    meson.current_source_dir() + '/tools/generate-hooklist.sh',
> -    meson.current_source_dir(),
> -    '@OUTPUT@',
> -  ],
> -  env: script_environment,
> -)
> -
>  builtin_sources = [
> +  hook_list,
>    'builtin/add.c',
>    'builtin/am.c',
>    'builtin/annotate.c',
> -- 
> 2.54.0

LGTM, thanks and nice find!

Sorry for the build regression, at the time I did the builtin->libgit
move IIRC only libgit was using the generated file, but it's clearly
safer to have it for both precisely to avoid these kinds of build races.

  reply	other threads:[~2026-07-02 10:34 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-01 19:39 [PATCH] meson: restore hook-list.h to builtin_sources Mike Gilbert
2026-07-02 10:34 ` Adrian Ratiu [this message]
2026-07-02 11:06 ` Patrick Steinhardt
2026-07-02 17:03   ` Mike Gilbert
2026-07-03  5:21     ` Patrick Steinhardt
2026-07-03  6:03     ` Matt Hunter

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=87mrw97k8w.fsf@gentoo.mail-host-address-is-not-set \
    --to=adrian.ratiu@collabora.com \
    --cc=floppym@gentoo.org \
    --cc=git@vger.kernel.org \
    /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.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox