From 7e89e880194e38c087099312c56631d84eddf4cb Mon Sep 17 00:00:00 2001
From: Matthias Andree <matthias.andree@gmx.de>
Date: Thu, 27 Aug 2020 18:27:03 +0200
Subject: Makefile.am, dist-tools: check for new translations in dist-hook

---
 Makefile.am                         | 12 +++++++++---
 dist-tools/git-commit-po-updates.sh |  7 +++++++
 2 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index 2ba02438..083c5340 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -193,6 +193,7 @@ EXTRA_DIST=	$(DISTDOCS) $(distdirs) \
 		$(TESTS) t.rc t.regression \
 		dist-tools/html2txt \
 		dist-tools/manServer.pl \
+		dist-tools/git-commit-po-updates.sh \
 		Doxyfile
 
 fetchmailconf:
@@ -224,9 +225,12 @@ fetchmail-man.html: fetchmail.man $(srcdir)/dist-tools/manServer.pl
 	env - "PATH=$$PATH" perl -T $(srcdir)/dist-tools/manServer.pl $(srcdir)/fetchmail.man >$@ \
 	|| { rm -f $@ ; exit 1 ; }
 
-dist-hook:
+dist-hook: fetch-translations
 	cd $(distdir) && find $(distdirs) po -name .git -type d -prune -exec rm -rf '{}' ';'
 	cd $(distdir) && find $(distdirs) po -name '*~' -exec rm -f '{}' ';'
+	if ! $(top_srcdir)/dist-tools/git-commit-po-updates.sh -n ; then \
+		printf '\n*** There are new translations. Please add them to the distribution. ***\n\n' ; exit 1 ; \
+	fi
 
 # this target expects a .rsyncs file with lines of this format:
 # host:directory/
@@ -235,9 +239,11 @@ dist-hook:
 rsync:  distdir $(srcdir)/.rsyncs
 	@( cat $(srcdir)/.rsyncs | sed -e 's}^}rsync -aH --delete-after $(PACKAGE)-$(VERSION)/ }; s/\($$\)/ \&/;' ; echo "wait" ) | $(SHELL) -x
 
-.PHONY: import-translations git-check
-import-translations:
+.PHONY: import-translations fetch-translations git-check
+fetch-translations:
 	rsync -Lrtvz translationproject.org::tp/latest/fetchmail/  $(top_srcdir)/po
+
+import-translations: fetch-translations
 	cd $(top_builddir)/po && $(MAKE) update-po
 	@printf '\n=== You can use dist-tools/git-commit-po-updates.sh to check these updates in. ===\n\n'
 
diff --git a/dist-tools/git-commit-po-updates.sh b/dist-tools/git-commit-po-updates.sh
index 969acd31..41b1f65a 100755
--- a/dist-tools/git-commit-po-updates.sh
+++ b/dist-tools/git-commit-po-updates.sh
@@ -11,6 +11,12 @@
 # Supported modes:
 # -n:   dry-run, only print commands, but do not run them.
 # -c:   commit, print commands and run them.
+
+# Exit codes:
+# 0: success, no new po/*.po files.
+# 1: error
+# 2: usage was printed, nothing was done
+# 3: new po/*.po files detected
 set -eu
 
 
@@ -122,6 +128,7 @@ if [ -n "$new_po_files" ] ; then
 		printf " %s" "$j"
 	done
 	printf '\n'
+	rc=3
 fi
 
 exit $rc
-- 
cgit v1.2.3