Split po/ translation files into the relevant sub-directories
When policycoreutils was split into policycoreutils/ python/ gui/ and sandbox/ sub-directories, po/ translation files stayed in policycoreutils/. This commit splits original policycoreutils translations to policycoreutils, selinux-python, selinux-gui, and selinux-sandbox. See original Fedora issue https://github.com/fedora-selinux/selinux/issues/43 Signed-off-by: Petr Lautrbach <plautrba@redhat.com> Acked-by: James Carter <jwcart2@gmail.com>
This commit is contained in:
parent
f5a764d94d
commit
2d668b6214
32 changed files with 324 additions and 89 deletions
|
@ -22,6 +22,7 @@ system-config-selinux.ui \
|
|||
usersPage.py
|
||||
|
||||
all: $(TARGETS) system-config-selinux.py polgengui.py
|
||||
(cd po && $(MAKE) $@)
|
||||
|
||||
install: all
|
||||
-mkdir -p $(DESTDIR)$(MANDIR)/man8
|
||||
|
@ -54,7 +55,10 @@ install: all
|
|||
install -m 644 sepolicy_$${i}.png $(DESTDIR)$(DATADIR)/icons/hicolor/$${i}x$${i}/apps/sepolicy.png; \
|
||||
done
|
||||
install -m 644 org.selinux.config.policy $(DESTDIR)$(DATADIR)/polkit-1/actions/
|
||||
(cd po && $(MAKE) $@)
|
||||
|
||||
clean:
|
||||
(cd po && $(MAKE) $@)
|
||||
|
||||
indent:
|
||||
|
||||
|
|
|
@ -38,7 +38,7 @@ DISABLED = 2
|
|||
##
|
||||
## I18N
|
||||
##
|
||||
PROGNAME = "policycoreutils"
|
||||
PROGNAME = "selinux-gui"
|
||||
try:
|
||||
import gettext
|
||||
kwargs = {}
|
||||
|
|
|
@ -30,7 +30,7 @@ from semanagePage import *
|
|||
##
|
||||
## I18N
|
||||
##
|
||||
PROGNAME = "policycoreutils"
|
||||
PROGNAME = "selinux-gui"
|
||||
try:
|
||||
import gettext
|
||||
kwargs = {}
|
||||
|
|
|
@ -47,7 +47,7 @@ class context:
|
|||
##
|
||||
## I18N
|
||||
##
|
||||
PROGNAME = "policycoreutils"
|
||||
PROGNAME = "selinux-gui"
|
||||
try:
|
||||
import gettext
|
||||
kwargs = {}
|
||||
|
|
|
@ -29,7 +29,7 @@ from semanagePage import *
|
|||
##
|
||||
## I18N
|
||||
##
|
||||
PROGNAME = "policycoreutils"
|
||||
PROGNAME = "selinux-gui"
|
||||
try:
|
||||
import gettext
|
||||
kwargs = {}
|
||||
|
|
|
@ -30,7 +30,7 @@ from semanagePage import *
|
|||
##
|
||||
## I18N
|
||||
##
|
||||
PROGNAME = "policycoreutils"
|
||||
PROGNAME = "selinux-gui"
|
||||
try:
|
||||
import gettext
|
||||
kwargs = {}
|
||||
|
|
84
gui/po/Makefile
Normal file
84
gui/po/Makefile
Normal file
|
@ -0,0 +1,84 @@
|
|||
#
|
||||
# Makefile for the PO files (translation) catalog
|
||||
#
|
||||
|
||||
PREFIX ?= /usr
|
||||
|
||||
# What is this package?
|
||||
NLSPACKAGE = gui
|
||||
POTFILE = $(NLSPACKAGE).pot
|
||||
INSTALL = /usr/bin/install -c -p
|
||||
INSTALL_DATA = $(INSTALL) -m 644
|
||||
INSTALL_DIR = /usr/bin/install -d
|
||||
|
||||
# destination directory
|
||||
INSTALL_NLS_DIR = $(PREFIX)/share/locale
|
||||
|
||||
# PO catalog handling
|
||||
MSGMERGE = msgmerge
|
||||
MSGMERGE_FLAGS = -q
|
||||
XGETTEXT = xgettext --default-domain=$(NLSPACKAGE)
|
||||
MSGFMT = msgfmt
|
||||
|
||||
# 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 = $(shell cat POTFILES)
|
||||
|
||||
#default:: clean
|
||||
|
||||
all:: $(MOFILES)
|
||||
|
||||
$(POTFILE): $(POTFILES)
|
||||
$(XGETTEXT) --keyword=_ --keyword=N_ $(POTFILES)
|
||||
@if cmp -s $(NLSPACKAGE).po $(POTFILE); then \
|
||||
rm -f $(NLSPACKAGE).po; \
|
||||
else \
|
||||
mv -f $(NLSPACKAGE).po $(POTFILE); \
|
||||
fi; \
|
||||
|
||||
|
||||
refresh-po: Makefile
|
||||
for cat in $(POFILES); do \
|
||||
lang=`basename $$cat .po`; \
|
||||
if $(MSGMERGE) $(MSGMERGE_FLAGS) $$lang.po $(POTFILE) > $$lang.pot ; then \
|
||||
mv -f $$lang.pot $$lang.po ; \
|
||||
echo "$(MSGMERGE) of $$lang succeeded" ; \
|
||||
else \
|
||||
echo "$(MSGMERGE) of $$lang failed" ; \
|
||||
rm -f $$lang.pot ; \
|
||||
fi \
|
||||
done
|
||||
|
||||
clean:
|
||||
@rm -fv *mo *~ .depend
|
||||
@rm -rf tmp
|
||||
|
||||
install: $(MOFILES)
|
||||
@for n in $(MOFILES); do \
|
||||
l=`basename $$n .mo`; \
|
||||
$(INSTALL_DIR) $(DESTDIR)$(INSTALL_NLS_DIR)/$$l/LC_MESSAGES; \
|
||||
$(INSTALL_DATA) --verbose $$n $(DESTDIR)$(INSTALL_NLS_DIR)/$$l/LC_MESSAGES/selinux-$(NLSPACKAGE).mo; \
|
||||
done
|
||||
|
||||
%.mo: %.po
|
||||
$(MSGFMT) -o $@ $<
|
||||
report:
|
||||
@for cat in $(wildcard *.po); do \
|
||||
echo -n "$$cat: "; \
|
||||
msgfmt -v --statistics -o /dev/null $$cat; \
|
||||
done
|
||||
|
||||
.PHONY: missing depend
|
||||
|
||||
relabel:
|
||||
|
||||
test:
|
17
gui/po/POTFILES
Normal file
17
gui/po/POTFILES
Normal file
|
@ -0,0 +1,17 @@
|
|||
../booleansPage.py
|
||||
../domainsPage.py
|
||||
../fcontextPage.py
|
||||
../loginsPage.py
|
||||
../modulesPage.py
|
||||
../org.selinux.config.policy
|
||||
../polgengui.py
|
||||
../polgen.ui
|
||||
../portsPage.py
|
||||
../selinux-polgengui.desktop
|
||||
../semanagePage.py
|
||||
../sepolicy.desktop
|
||||
../statusPage.py
|
||||
../system-config-selinux.desktop
|
||||
../system-config-selinux.py
|
||||
../system-config-selinux.ui
|
||||
../usersPage.py
|
|
@ -63,7 +63,7 @@ def get_all_modules():
|
|||
##
|
||||
## I18N
|
||||
##
|
||||
PROGNAME = "policycoreutils"
|
||||
PROGNAME = "selinux-gui"
|
||||
try:
|
||||
import gettext
|
||||
kwargs = {}
|
||||
|
|
|
@ -35,7 +35,7 @@ from semanagePage import *
|
|||
##
|
||||
## I18N
|
||||
##
|
||||
PROGNAME = "policycoreutils"
|
||||
PROGNAME = "selinux-gui"
|
||||
try:
|
||||
import gettext
|
||||
kwargs = {}
|
||||
|
|
|
@ -22,7 +22,7 @@ from gi.repository import Gdk, Gtk
|
|||
##
|
||||
## I18N
|
||||
##
|
||||
PROGNAME = "policycoreutils"
|
||||
PROGNAME = "selinux-gui"
|
||||
try:
|
||||
import gettext
|
||||
kwargs = {}
|
||||
|
|
|
@ -35,7 +35,7 @@ RELABELFILE = "/.autorelabel"
|
|||
##
|
||||
## I18N
|
||||
##
|
||||
PROGNAME = "policycoreutils"
|
||||
PROGNAME = "selinux-gui"
|
||||
try:
|
||||
import gettext
|
||||
kwargs = {}
|
||||
|
|
|
@ -45,7 +45,7 @@ import selinux
|
|||
##
|
||||
## I18N
|
||||
##
|
||||
PROGNAME = "policycoreutils"
|
||||
PROGNAME = "selinux-gui"
|
||||
try:
|
||||
import gettext
|
||||
kwargs = {}
|
||||
|
|
|
@ -29,7 +29,7 @@ from semanagePage import *
|
|||
##
|
||||
## I18N
|
||||
##
|
||||
PROGNAME = "policycoreutils"
|
||||
PROGNAME = "selinux-gui"
|
||||
try:
|
||||
import gettext
|
||||
kwargs = {}
|
||||
|
|
|
@ -3,7 +3,6 @@
|
|||
#
|
||||
|
||||
PREFIX ?= /usr
|
||||
TOP = ../..
|
||||
|
||||
# What is this package?
|
||||
NLSPACKAGE = policycoreutils
|
||||
|
@ -32,74 +31,13 @@ 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 \
|
||||
../run_init/run_init.c \
|
||||
../semodule_link/semodule_link.c \
|
||||
../audit2allow/audit2allow \
|
||||
../semanage/seobject.py \
|
||||
../setsebool/setsebool.c \
|
||||
../newrole/newrole.c \
|
||||
../load_policy/load_policy.c \
|
||||
../sestatus/sestatus.c \
|
||||
../semodule/semodule.c \
|
||||
../setfiles/setfiles.c \
|
||||
../semodule_package/semodule_package.c \
|
||||
../semodule_deps/semodule_deps.c \
|
||||
../semodule_expand/semodule_expand.c \
|
||||
../scripts/chcat \
|
||||
../scripts/fixfiles \
|
||||
../restorecond/stringslist.c \
|
||||
../restorecond/restorecond.h \
|
||||
../restorecond/utmpwatcher.h \
|
||||
../restorecond/stringslist.h \
|
||||
../restorecond/restorecond.c \
|
||||
../restorecond/utmpwatcher.c \
|
||||
../gui/booleansPage.py \
|
||||
../gui/fcontextPage.py \
|
||||
../gui/loginsPage.py \
|
||||
../gui/mappingsPage.py \
|
||||
../gui/modulesPage.py \
|
||||
../gui/polgen.glade \
|
||||
../gui/polgengui.py \
|
||||
../gui/portsPage.py \
|
||||
../gui/semanagePage.py \
|
||||
../gui/statusPage.py \
|
||||
../gui/system-config-selinux.glade \
|
||||
../gui/system-config-selinux.py \
|
||||
../gui/usersPage.py \
|
||||
../secon/secon.c \
|
||||
booleans.py \
|
||||
../sepolicy/sepolicy.py \
|
||||
../sepolicy/sepolicy/communicate.py \
|
||||
../sepolicy/sepolicy/__init__.py \
|
||||
../sepolicy/sepolicy/network.py \
|
||||
../sepolicy/sepolicy/generate.py \
|
||||
../sepolicy/sepolicy/sepolicy.glade \
|
||||
../sepolicy/sepolicy/gui.py \
|
||||
../sepolicy/sepolicy/manpage.py \
|
||||
../sepolicy/sepolicy/transition.py \
|
||||
../sepolicy/sepolicy/templates/executable.py \
|
||||
../sepolicy/sepolicy/templates/__init__.py \
|
||||
../sepolicy/sepolicy/templates/network.py \
|
||||
../sepolicy/sepolicy/templates/rw.py \
|
||||
../sepolicy/sepolicy/templates/script.py \
|
||||
../sepolicy/sepolicy/templates/semodule.py \
|
||||
../sepolicy/sepolicy/templates/tmp.py \
|
||||
../sepolicy/sepolicy/templates/user.py \
|
||||
../sepolicy/sepolicy/templates/var_lib.py \
|
||||
../sepolicy/sepolicy/templates/var_log.py \
|
||||
../sepolicy/sepolicy/templates/var_run.py \
|
||||
../sepolicy/sepolicy/templates/var_spool.py
|
||||
POTFILES = $(shell cat POTFILES)
|
||||
|
||||
#default:: clean
|
||||
|
||||
all:: $(MOFILES)
|
||||
all:: $(POTFILE) $(MOFILES)
|
||||
|
||||
booleans.py:
|
||||
sepolicy booleans -a > booleans.py
|
||||
|
||||
$(POTFILE): $(POTFILES) booleans.py
|
||||
$(POTFILE): $(POTFILES)
|
||||
$(XGETTEXT) --keyword=_ --keyword=N_ $(POTFILES)
|
||||
@if cmp -s $(NLSPACKAGE).po $(POTFILE); then \
|
||||
rm -f $(NLSPACKAGE).po; \
|
||||
|
@ -107,8 +45,6 @@ $(POTFILE): $(POTFILES) booleans.py
|
|||
mv -f $(NLSPACKAGE).po $(POTFILE); \
|
||||
fi; \
|
||||
|
||||
update-po: Makefile $(POTFILE) refresh-po
|
||||
@rm -f booleans.py
|
||||
|
||||
refresh-po: Makefile
|
||||
for cat in $(POFILES); do \
|
||||
|
@ -144,3 +80,5 @@ report:
|
|||
.PHONY: missing depend
|
||||
|
||||
relabel:
|
||||
|
||||
test:
|
||||
|
|
9
policycoreutils/po/POTFILES
Normal file
9
policycoreutils/po/POTFILES
Normal file
|
@ -0,0 +1,9 @@
|
|||
../run_init/open_init_pty.c
|
||||
../run_init/run_init.c
|
||||
../setsebool/setsebool.c
|
||||
../newrole/newrole.c
|
||||
../load_policy/load_policy.c
|
||||
../sestatus/sestatus.c
|
||||
../semodule/semodule.c
|
||||
../setfiles/setfiles.c
|
||||
../secon/secon.c
|
|
@ -1,4 +1,4 @@
|
|||
SUBDIRS = sepolicy audit2allow semanage sepolgen chcat
|
||||
SUBDIRS = sepolicy audit2allow semanage sepolgen chcat po
|
||||
|
||||
all install relabel clean indent test:
|
||||
@for subdir in $(SUBDIRS); do \
|
||||
|
|
|
@ -30,7 +30,7 @@ import getopt
|
|||
import selinux
|
||||
import seobject
|
||||
|
||||
PROGNAME = "policycoreutils"
|
||||
PROGNAME = "selinux-python"
|
||||
try:
|
||||
import gettext
|
||||
kwargs = {}
|
||||
|
|
85
python/po/Makefile
Normal file
85
python/po/Makefile
Normal file
|
@ -0,0 +1,85 @@
|
|||
#
|
||||
# Makefile for the PO files (translation) catalog
|
||||
#
|
||||
|
||||
PREFIX ?= /usr
|
||||
|
||||
# What is this package?
|
||||
NLSPACKAGE = python
|
||||
POTFILE = $(NLSPACKAGE).pot
|
||||
INSTALL = /usr/bin/install -c -p
|
||||
INSTALL_DATA = $(INSTALL) -m 644
|
||||
INSTALL_DIR = /usr/bin/install -d
|
||||
|
||||
# destination directory
|
||||
INSTALL_NLS_DIR = $(PREFIX)/share/locale
|
||||
|
||||
# PO catalog handling
|
||||
MSGMERGE = msgmerge
|
||||
MSGMERGE_FLAGS = -q
|
||||
XGETTEXT = xgettext --default-domain=$(NLSPACKAGE)
|
||||
MSGFMT = msgfmt
|
||||
|
||||
# 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 = $(shell cat POTFILES)
|
||||
|
||||
#default:: clean
|
||||
|
||||
all:: $(MOFILES)
|
||||
|
||||
$(POTFILE): $(POTFILES)
|
||||
$(XGETTEXT) -L Python --keyword=_ --keyword=N_ $(POTFILES)
|
||||
$(XGETTEXT) -j --keyword=_ --keyword=N_ ../sepolicy/sepolicy/sepolicy.glade
|
||||
@if cmp -s $(NLSPACKAGE).po $(POTFILE); then \
|
||||
rm -f $(NLSPACKAGE).po; \
|
||||
else \
|
||||
mv -f $(NLSPACKAGE).po $(POTFILE); \
|
||||
fi; \
|
||||
|
||||
|
||||
refresh-po: Makefile
|
||||
for cat in $(POFILES); do \
|
||||
lang=`basename $$cat .po`; \
|
||||
if $(MSGMERGE) $(MSGMERGE_FLAGS) $$lang.po $(POTFILE) > $$lang.pot ; then \
|
||||
mv -f $$lang.pot $$lang.po ; \
|
||||
echo "$(MSGMERGE) of $$lang succeeded" ; \
|
||||
else \
|
||||
echo "$(MSGMERGE) of $$lang failed" ; \
|
||||
rm -f $$lang.pot ; \
|
||||
fi \
|
||||
done
|
||||
|
||||
clean:
|
||||
@rm -fv *mo *~ .depend
|
||||
@rm -rf tmp
|
||||
|
||||
install: $(MOFILES)
|
||||
@for n in $(MOFILES); do \
|
||||
l=`basename $$n .mo`; \
|
||||
$(INSTALL_DIR) $(DESTDIR)$(INSTALL_NLS_DIR)/$$l/LC_MESSAGES; \
|
||||
$(INSTALL_DATA) --verbose $$n $(DESTDIR)$(INSTALL_NLS_DIR)/$$l/LC_MESSAGES/selinux-$(NLSPACKAGE).mo; \
|
||||
done
|
||||
|
||||
%.mo: %.po
|
||||
$(MSGFMT) -o $@ $<
|
||||
report:
|
||||
@for cat in $(wildcard *.po); do \
|
||||
echo -n "$$cat: "; \
|
||||
msgfmt -v --statistics -o /dev/null $$cat; \
|
||||
done
|
||||
|
||||
.PHONY: missing depend
|
||||
|
||||
relabel:
|
||||
|
||||
test:
|
10
python/po/POTFILES
Normal file
10
python/po/POTFILES
Normal file
|
@ -0,0 +1,10 @@
|
|||
../audit2allow/audit2allow
|
||||
../chcat/chcat
|
||||
../semanage/semanage
|
||||
../semanage/seobject.py
|
||||
../sepolgen/src/sepolgen/interfaces.py
|
||||
../sepolicy/sepolicy/generate.py
|
||||
../sepolicy/sepolicy/gui.py
|
||||
../sepolicy/sepolicy/__init__.py
|
||||
../sepolicy/sepolicy/interface.py
|
||||
../sepolicy/sepolicy.py
|
|
@ -30,7 +30,7 @@ import seobject
|
|||
import sys
|
||||
import traceback
|
||||
|
||||
PROGNAME = "policycoreutils"
|
||||
PROGNAME = "selinux-python"
|
||||
try:
|
||||
import gettext
|
||||
kwargs = {}
|
||||
|
|
|
@ -29,7 +29,7 @@ import sys
|
|||
import stat
|
||||
import socket
|
||||
from semanage import *
|
||||
PROGNAME = "policycoreutils"
|
||||
PROGNAME = "selinux-python"
|
||||
import sepolicy
|
||||
from setools.policyrep import SELinuxPolicy
|
||||
from setools.typequery import TypeQuery
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
|
||||
try:
|
||||
import gettext
|
||||
t = gettext.translation( 'yumex' )
|
||||
t = gettext.translation( 'selinux-python' )
|
||||
_ = t.gettext
|
||||
except:
|
||||
def _(str):
|
||||
|
|
|
@ -28,7 +28,7 @@ import sepolicy
|
|||
from multiprocessing import Pool
|
||||
from sepolicy import get_os_version, get_conditionals, get_conditionals_format_text
|
||||
import argparse
|
||||
PROGNAME = "policycoreutils"
|
||||
PROGNAME = "selinux-python"
|
||||
try:
|
||||
import gettext
|
||||
kwargs = {}
|
||||
|
|
|
@ -23,7 +23,7 @@ from setools.typeattrquery import TypeAttributeQuery
|
|||
from setools.typequery import TypeQuery
|
||||
from setools.userquery import UserQuery
|
||||
|
||||
PROGNAME = "policycoreutils"
|
||||
PROGNAME = "selinux-python"
|
||||
try:
|
||||
import gettext
|
||||
kwargs = {}
|
||||
|
|
|
@ -48,7 +48,7 @@ import sepolgen.defaults as defaults
|
|||
##
|
||||
## I18N
|
||||
##
|
||||
PROGNAME = "policycoreutils"
|
||||
PROGNAME = "selinux-python"
|
||||
try:
|
||||
import gettext
|
||||
kwargs = {}
|
||||
|
|
|
@ -41,7 +41,7 @@ import os
|
|||
import re
|
||||
import unicodedata
|
||||
|
||||
PROGNAME = "policycoreutils"
|
||||
PROGNAME = "selinux-python"
|
||||
try:
|
||||
import gettext
|
||||
kwargs = {}
|
||||
|
|
|
@ -30,7 +30,7 @@ __all__ = ['get_all_interfaces', 'get_interfaces_from_xml', 'get_admin', 'get_us
|
|||
##
|
||||
## I18N
|
||||
##
|
||||
PROGNAME = "policycoreutils"
|
||||
PROGNAME = "selinux-python"
|
||||
try:
|
||||
import gettext
|
||||
kwargs = {}
|
||||
|
|
|
@ -13,6 +13,7 @@ override LDLIBS += -lselinux -lcap-ng
|
|||
SEUNSHARE_OBJS = seunshare.o
|
||||
|
||||
all: sandbox seunshare sandboxX.sh start
|
||||
(cd po && $(MAKE) $@)
|
||||
|
||||
seunshare: $(SEUNSHARE_OBJS)
|
||||
|
||||
|
@ -39,12 +40,14 @@ install: all
|
|||
install -m 755 start $(DESTDIR)$(SHAREDIR)
|
||||
-mkdir -p $(DESTDIR)$(SYSCONFDIR)
|
||||
install -m 644 sandbox.conf $(DESTDIR)$(SYSCONFDIR)/sandbox
|
||||
(cd po && $(MAKE) $@)
|
||||
|
||||
test:
|
||||
@$(PYTHON) test_sandbox.py -v
|
||||
|
||||
clean:
|
||||
-rm -f seunshare *.o *~
|
||||
(cd po && $(MAKE) $@)
|
||||
|
||||
indent:
|
||||
../../scripts/Lindent $(wildcard *.[ch])
|
||||
|
|
84
sandbox/po/Makefile
Normal file
84
sandbox/po/Makefile
Normal file
|
@ -0,0 +1,84 @@
|
|||
#
|
||||
# Makefile for the PO files (translation) catalog
|
||||
#
|
||||
|
||||
PREFIX ?= /usr
|
||||
|
||||
# What is this package?
|
||||
NLSPACKAGE = sandbox
|
||||
POTFILE = $(NLSPACKAGE).pot
|
||||
INSTALL = /usr/bin/install -c -p
|
||||
INSTALL_DATA = $(INSTALL) -m 644
|
||||
INSTALL_DIR = /usr/bin/install -d
|
||||
|
||||
# destination directory
|
||||
INSTALL_NLS_DIR = $(PREFIX)/share/locale
|
||||
|
||||
# PO catalog handling
|
||||
MSGMERGE = msgmerge
|
||||
MSGMERGE_FLAGS = -q
|
||||
XGETTEXT = xgettext -L Python --default-domain=$(NLSPACKAGE)
|
||||
MSGFMT = msgfmt
|
||||
|
||||
# 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 = $(shell cat POTFILES)
|
||||
|
||||
#default:: clean
|
||||
|
||||
all:: $(POTFILE) $(MOFILES)
|
||||
|
||||
$(POTFILE): $(POTFILES)
|
||||
$(XGETTEXT) --keyword=_ --keyword=N_ $(POTFILES)
|
||||
@if cmp -s $(NLSPACKAGE).po $(POTFILE); then \
|
||||
rm -f $(NLSPACKAGE).po; \
|
||||
else \
|
||||
mv -f $(NLSPACKAGE).po $(POTFILE); \
|
||||
fi; \
|
||||
|
||||
|
||||
refresh-po: Makefile
|
||||
for cat in $(POFILES); do \
|
||||
lang=`basename $$cat .po`; \
|
||||
if $(MSGMERGE) $(MSGMERGE_FLAGS) $$lang.po $(POTFILE) > $$lang.pot ; then \
|
||||
mv -f $$lang.pot $$lang.po ; \
|
||||
echo "$(MSGMERGE) of $$lang succeeded" ; \
|
||||
else \
|
||||
echo "$(MSGMERGE) of $$lang failed" ; \
|
||||
rm -f $$lang.pot ; \
|
||||
fi \
|
||||
done
|
||||
|
||||
clean:
|
||||
@rm -fv *mo *~ .depend
|
||||
@rm -rf tmp
|
||||
|
||||
install: $(MOFILES)
|
||||
@for n in $(MOFILES); do \
|
||||
l=`basename $$n .mo`; \
|
||||
$(INSTALL_DIR) $(DESTDIR)$(INSTALL_NLS_DIR)/$$l/LC_MESSAGES; \
|
||||
$(INSTALL_DATA) --verbose $$n $(DESTDIR)$(INSTALL_NLS_DIR)/$$l/LC_MESSAGES/selinux-$(NLSPACKAGE).mo; \
|
||||
done
|
||||
|
||||
%.mo: %.po
|
||||
$(MSGFMT) -o $@ $<
|
||||
report:
|
||||
@for cat in $(wildcard *.po); do \
|
||||
echo -n "$$cat: "; \
|
||||
msgfmt -v --statistics -o /dev/null $$cat; \
|
||||
done
|
||||
|
||||
.PHONY: missing depend
|
||||
|
||||
relabel:
|
||||
|
||||
test:
|
1
sandbox/po/POTFILES
Normal file
1
sandbox/po/POTFILES
Normal file
|
@ -0,0 +1 @@
|
|||
../sandbox
|
|
@ -37,7 +37,7 @@ import sepolicy
|
|||
|
||||
SEUNSHARE = "/usr/sbin/seunshare"
|
||||
SANDBOXSH = "/usr/share/sandbox/sandboxX.sh"
|
||||
PROGNAME = "policycoreutils"
|
||||
PROGNAME = "selinux-sandbox"
|
||||
try:
|
||||
import gettext
|
||||
kwargs = {}
|
||||
|
|
Loading…
Reference in a new issue