Skip to content

[th/build-gettext-update-po] build: don't "update-po" during make dist

Thomas Haller requested to merge th/build-gettext-update-po into main

Instead, hack gettext's Makefile.

gettext has an issue with parallel make. See [1] and [2]. Reproduce with:

  git reset --hard &&
    git clean -fdx &&
    NOCONFIGURE=yes ./autogen.sh &&
    ./configure --enable-gtk-doc --enable-introspection &&
    make -j distcheck V=1

We worked around this by setting "DIST_DEPENDS_ON_UPDATE_PO = yes", however that (obviously) results in regenerating source files during dist. "Source files" in the sense that the po files are commited to git and get distributed in the release. Doing this is very ugly.

In particular it's ugly, because make -C po update-po is not reproducible and the output depends on the current time (had one job). Otherwise, we could just regenerate the files before doing a release.

This means, running "release.sh" script ends up with a dirty tree afterwards. Also, the distributed po files are not the ones from the source tree when we did the release. Also, since "release.sh rc1" does two distributions (once for the rc1 and once for the next devel snapshot), the commit for the second distribution will have a large diff for the po files.

This reverts commit 978d8eb6 ('po: make dist depend on update-po') and hacks around the problem.

[1] !1094 (comment 1435313) [2] https://lists.gnu.org/archive/html/bug-gettext/2022-06/msg00022.html

Merge request reports