Build: support strip-po target for translations

The target was added to top-level Makefile.am as well so the maintainer
does not need to jump between directories when doing Zanata pull/push
and strip-po.

https://fedorahosted.org/freeipa/ticket/6418

Reviewed-By: Martin Basti <mbasti@redhat.com>
Reviewed-By: Christian Heimes <cheimes@redhat.com>
Reviewed-By: Lukas Slebodnik <lslebodn@redhat.com>
This commit is contained in:
Petr Spacek 2016-11-14 10:27:15 +01:00 committed by Martin Basti
parent 4842231074
commit d40c376ccc
4 changed files with 32 additions and 0 deletions

1
.gitignore vendored
View File

@ -5,6 +5,7 @@
/ABOUT-NLS
/po/*.gmo
/po/*~
/po/Makefile.hack
/po/Makefile.in.in
/po/Makevars.template
/po/POTFILES

View File

@ -188,3 +188,7 @@ bdist_wheel: $(WHEELDISTDIR)
wheel_bundle: $(WHEELBUNDLEDIR) bdist_wheel
$(PYTHON) -m pip wheel --wheel-dir $(WHEELBUNDLEDIR) $(WHEELDISTDIR)/*.whl
.PHONY:
strip-po:
$(MAKE) -C po strip-po

View File

@ -296,6 +296,12 @@ AC_PROG_MKDIR_P
AC_PROG_AWK
AC_PROG_SED
AC_PATH_PROG(MSGATTRIB, msgattrib, [no])
if test "x$MSGATTRIB" = "xno"; then
AC_MSG_ERROR([msgattrib not found, install gettext])
fi
AC_SUBST([MSGATTRIB])
dnl ---------------------------------------------------------------------------
dnl IPA platform
dnl ---------------------------------------------------------------------------
@ -525,6 +531,7 @@ AC_CONFIG_FILES([
ipatests/Makefile
ipatests/man/Makefile
po/Makefile.in
po/Makefile.hack
util/Makefile
])

20
po/Makefile.hack.in Normal file
View File

@ -0,0 +1,20 @@
# Auxiliary target for translation maintainer:
# Strip untranslated strings and comments with code lines from the po files
# to make them smaller before storage in SCM.
DISTFILES.common.extra3 = Makefile.hack.in
MSGATTRIB = @MSGATTRIB@
.PHONY: strip-po
strip-po:
for po_file in $(POFILES); do \
$(MSGATTRIB) --translated --no-fuzzy --no-location $$po_file > $$po_file.tmp || exit 1; \
mv $$po_file.tmp $$po_file || exit 1; \
done
export FILES_TO_REMOVE=`find $(srcdir) -name '*.po' -empty` || exit 1; \
if [ "$$FILES_TO_REMOVE" != "" ]; then \
rm -v $$FILES_TO_REMOVE || exit 1; \
echo; echo Please remove the deleted files from LINGUAS!; echo; \
fi