[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
- Re: Parallel distcheck is broken with DIST_DEPENDS_ON_UPDATE_PO=no,
Bruno Haible <=