bug-gettext
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Parallel distcheck is broken with DIST_DEPENDS_ON_UPDATE_PO=no


From: Bruno Haible
Subject: Re: Parallel distcheck is broken with DIST_DEPENDS_ON_UPDATE_PO=no
Date: Wed, 25 Dec 2024 11:04:34 +0100

Hi,

Lasse Collin wrote in
<https://lists.gnu.org/archive/html/bug-gettext/2024-05/msg00014.html>:
> If using DIST_DEPENDS_ON_UPDATE_PO=no, "make -j4 distcheck" may fail
> randomly. "distcheck" depends on "dist" which becomes unsafe for
> parallel builds with DIST_DEPENDS_ON_UPDATE_PO=no.

Thanks for the report. This is fixed in gettext 0.23, through
https://git.savannah.gnu.org/gitweb/?p=gettext.git;a=commitdiff;h=62adf9f077b257a527a6585a3460cbc36fc85d31

> Something like the following makes it work but I don't know how good
> solution it is:
> 
> diff --git a/gettext-runtime/po/Makefile.in.in 
> b/gettext-runtime/po/Makefile.in.in
> index 2b36b1112..e6c58cdd5 100644
> --- a/gettext-runtime/po/Makefile.in.in
> +++ b/gettext-runtime/po/Makefile.in.in
> @@ -414,9 +414,11 @@ maintainer-clean: distclean
>  distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
>  dist distdir:
>       test -z "$(DISTFILESDEPS)" || $(MAKE) $(DISTFILESDEPS)
> +     $(MAKE) $(srcdir)/stamp-po
>       @$(MAKE) dist2
> -# This is a separate target because 'update-po' must be executed before.
> -dist2: $(srcdir)/stamp-po $(DISTFILES)
> +# This is a separate target because 'update-po' and '$(srcdir)/stamp-po'
> +# must be executed before.
> +dist2: $(DISTFILES)
>       @dists="$(DISTFILES)"; \
>       if test "$(PACKAGE)" = "gettext-tools"; then \
>         dists="$$dists Makevars.template"; \

Yes, that's the problem: This part Makefile is already so complicated,
that it's hard to know whether after a certain modification
  - it will still work as expected,
  - it will be parallel-make safe.
Rather than optimizing for parallel-make here, I prefer to make sure to
not introduce a regression.

Bruno






reply via email to

[Prev in Thread] Current Thread [Next in Thread]