If the user has the $LINGUAS environment variable set, only translations for those languages should be installed to the system. The gettext manual [1] says: "Internationalized packages have usually many ll.po files. Unless translations are disabled, all those available are installed together with the package. However, the environment variable LINGUAS may be set, prior to configuration, to limit the installed set. LINGUAS should then contain a space separated list of two-letter codes, stating which languages are allowed." [1]: https://www.gnu.org/software/gettext/manual/html_node/Installers.html#Installers Signed-off-by: Jason Zaman <jason@xxxxxxxxxxxxx> --- policycoreutils/po/Makefile | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/policycoreutils/po/Makefile b/policycoreutils/po/Makefile index f6069dd..5814861 100644 --- a/policycoreutils/po/Makefile +++ b/policycoreutils/po/Makefile @@ -20,8 +20,16 @@ MSGMERGE_FLAGS = -q XGETTEXT = xgettext --default-domain=$(NLSPACKAGE) MSGFMT = msgfmt -# What do we need to do -POFILES = $(wildcard *.po) +# All possible linguas +PO_LINGUAS := $(sort $(patsubst %.po,%,$(wildcard *.po))) + +# Only the files matching what the user has set in LINGUAS +USER_LINGUAS := $(filter $(patsubst %,%%,$(LINGUAS)),$(PO_LINGUAS)) + +# if no valid LINGUAS, build all languages +USE_LINGUAS := $(if $(USER_LINGUAS),$(USER_LINGUAS),$(PO_LINGUAS)) + +POFILES = $(patsubst %,%.po,$(USE_LINGUAS)) MOFILES = $(patsubst %.po,%.mo,$(POFILES)) POTFILES = \ ../run_init/open_init_pty.c \ -- 2.10.2