
On Tue, May 17, 2022 at 10:49:47AM +0100, Daniel P. Berrangé wrote:
On Tue, May 17, 2022 at 02:23:45AM -0700, Andrea Bolognani wrote:
On Tue, May 17, 2022 at 11:12:47AM +0200, Peter Krempa wrote:
On Tue, May 17, 2022 at 10:32:12 +0200, Andrea Bolognani wrote:
+# Before 0.60, meson would sometimes pass options to xgettext in the +# wrong order, resulting in unwanted comments showing up in the +# potfile after it was refreshed +sc_pot_comments: + @if $(GREP) -E '^#\. ' $(pot_file) | $(GREP) -Ev 'TRANSLATORS:'; then \ + echo "Spurious comments in $(pot_file)" 1>&1; \ + exit 1; \ + fi
Ewww. This doesn't feel like a systemic fix. If meson can't generate them properly, we should make sure to call the tool properly rahter than just check whether it's broken.
Whether meson generates them properly or not is based on a coin flip, which is why it took me so damn long to get to the bottom of it :)
meson 0.60 and newer always generate the file correctly. Once all platforms we target have a new enough version we can decide to drop the check; in the meantime, having it will prevent further cruft from sneaking in undetected.
Can you say what has changed in the xgettext command line that meson is running between the fixed & broken release. I'm not seing any obvious difference in git logs for 0.60 that could cause this.
This is the relevant change: https://github.com/mesonbuild/meson/commit/bd2fcb268b9ff48797bebb6a2ef94d274... Before 0.60, the xgettext arguments coming from the glib preset were added to a set along with the ones that we provide ourselves, and so there was no guaranteed ordering when they were later passed to the command. The commit above switched from a standard Python set to a mesonlib.OrderedSet, so the ordering is now guaranteed to be always the expected one. -- Andrea Bolognani / Red Hat / Virtualization