Re: [PATCH] meson: restore hook-list.h to builtin_sources
- From
Adrian Ratiu <adrian.ratiu@collabora.com>
- Date
- Jul 2, 2026, 10:34 UTC
- Message-ID
- <87mrw97k8w.fsf@gentoo.mail-host-address-is-not-set>
- In-Reply-To
- <20260701193928.358825-1-floppym@gentoo.org>
On Wed, 01 Jul 2026, Mike Gilbert <floppym@gentoo.org> wrote:
Show 66 quoted lines
> 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.