summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.am47
-rw-r--r--configure.ac4
-rw-r--r--contrib/sssd.spec.in2
-rw-r--r--src/man/Makefile.am160
-rw-r--r--src/man/po/po4a.cfg22
-rw-r--r--src/man/sss_groupdel.8.xml2
6 files changed, 198 insertions, 39 deletions
diff --git a/Makefile.am b/Makefile.am
index d2cf3d07..174c7758 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,6 +1,6 @@
DISTCHECK_CONFIGURE_FLAGS = --with-ldb-lib-dir="$$dc_install_base"/lib/ldb
-SUBDIRS = po
+SUBDIRS = po src/man
# Some old versions of automake don't define builddir
builddir ?= .
@@ -957,41 +957,15 @@ pysss_la_LDFLAGS = \
-module
endif
-############
-# MANPAGES #
-############
-
-#Special Rules:
-export SGML_CATALOG_FILES
-DOCBOOK_XSLT = http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl
-XMLLINT_FLAGS = --catalogs --postvalid --nonet --xinclude --noout
-XSLTPROC_FLAGS = --catalogs --xinclude --nonet
-
-man_MANS = \
- src/man/sss_useradd.8 src/man/sss_userdel.8 src/man/sss_usermod.8 \
- src/man/sss_groupadd.8 src/man/sss_groupdel.8 src/man/sss_groupmod.8 \
- src/man/sssd.8 src/man/sssd.conf.5 src/man/sssd-ldap.5 \
- src/man/sssd-krb5.5 src/man/sssd-ipa.5 src/man/sssd-simple.5 \
- src/man/sssd_krb5_locator_plugin.8 src/man/sss_groupshow.8 \
- src/man/pam_sss.8 src/man/sss_obfuscate.8
-EXTRA_DIST += $(man_MANS:%=%.xml) $(wildcard $(srcdir)/src/man/include/*.xml)
-
-SUFFIXES = .1.xml .1 .3.xml .3 .5.xml .5 .8.xml .8
-.1.xml.1:
- $(XMLLINT) $(XMLLINT_FLAGS) $<
- $(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) $(DOCBOOK_XSLT) $<
-
-.3.xml.3:
- $(XMLLINT) $(XMLLINT_FLAGS) $<
- $(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) $(DOCBOOK_XSLT) $<
-
-.5.xml.5:
- $(XMLLINT) $(XMLLINT_FLAGS) $<
- $(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) $(DOCBOOK_XSLT) $<
-
-.8.xml.8:
- $(XMLLINT) $(XMLLINT_FLAGS) $<
- $(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) $(DOCBOOK_XSLT) $<
+################
+# TRANSLATIONS #
+################
+update-po:
+ $(MAKE) -C src/man update-po
+ $(MAKE) -C po update-po
+
+translated-manpages:
+ $(MAKE) -C src/man translate
#######################
# Installation Extras #
@@ -1083,7 +1057,6 @@ if BUILD_PYTHON_BINDINGS
cd $(srcdir)/src/config; $(PYTHON) setup.py build --build-base $(abs_builddir)/src/config clean --all
endif
rm -Rf doc
- rm -f $(man_MANS)
CLEANFILES = *.X */*.X */*/*.X
diff --git a/configure.ac b/configure.ac
index 1ebf2f71..6192c533 100644
--- a/configure.ac
+++ b/configure.ac
@@ -142,6 +142,8 @@ if test x$HAVE_MANPAGES != x; then
CHECK_STYLESHEET([$SGML_CATALOG_FILES],
[http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl],
[Docbook XSL templates])
+ AC_CHECK_PROG([PO4A],[po4a],[po4a],[no])
+ AM_CONDITIONAL([HAVE_PO4A], [test "x$PO4A" != "xno"])
fi
if test x$HAVE_PYTHON_BINDINGS != x; then
@@ -184,6 +186,6 @@ AC_DEFINE_UNQUOTED([ABS_BUILD_DIR], ["$abs_build_dir"], [Absolute path to the bu
AC_SUBST([abs_builddir], $abs_build_dir)
AC_CONFIG_FILES([Makefile contrib/sssd.spec src/examples/rwtab src/doxy.config
- src/sysv/systemd/sssd.service po/Makefile.in])
+ src/sysv/systemd/sssd.service po/Makefile.in src/man/Makefile])
AC_OUTPUT
diff --git a/contrib/sssd.spec.in b/contrib/sssd.spec.in
index d1e505b5..0f9ff647 100644
--- a/contrib/sssd.spec.in
+++ b/contrib/sssd.spec.in
@@ -73,6 +73,7 @@ BuildRequires: bind-utils
BuildRequires: keyutils-libs-devel
BuildRequires: libnl-devel
BuildRequires: nscd
+BuildRequires: po4a
%description
Provides a set of daemons to manage access to remote directories and
@@ -118,6 +119,7 @@ use with ldap_default_authtok_type = obfuscated_password.
--disable-rpath
make %{?_smp_mflags}
+make translated-manpages
%check
export CK_TIMEOUT_MULTIPLIER=10
diff --git a/src/man/Makefile.am b/src/man/Makefile.am
new file mode 100644
index 00000000..695696b7
--- /dev/null
+++ b/src/man/Makefile.am
@@ -0,0 +1,160 @@
+# The following variable is dependent on placement of this file
+top_builddir = ../..
+
+############
+# MANPAGES #
+############
+
+#Special Rules:
+export SGML_CATALOG_FILES
+DOCBOOK_XSLT = http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl
+XMLLINT_FLAGS = --catalogs --postvalid --nonet --xinclude --noout
+XSLTPROC_FLAGS = --catalogs --xinclude --nonet
+
+man_MANS = \
+ sss_useradd.8 sss_userdel.8 sss_usermod.8 \
+ sss_groupadd.8 sss_groupdel.8 sss_groupmod.8 \
+ sssd.8 sssd.conf.5 sssd-ldap.5 \
+ sssd-krb5.5 sssd-ipa.5 sssd-simple.5 \
+ sssd_krb5_locator_plugin.8 sss_groupshow.8 \
+ pam_sss.8 sss_obfuscate.8
+EXTRA_DIST = $(man_MANS:%=%.xml) $(wildcard $(srcdir)/include/*.xml)
+
+SUFFIXES = .1.xml .1 .3.xml .3 .5.xml .5 .8.xml .8
+.1.xml.1:
+ $(XMLLINT) $(XMLLINT_FLAGS) $<
+ $(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) $(DOCBOOK_XSLT) $<
+
+.3.xml.3:
+ $(XMLLINT) $(XMLLINT_FLAGS) $<
+ $(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) $(DOCBOOK_XSLT) $<
+
+.5.xml.5:
+ $(XMLLINT) $(XMLLINT_FLAGS) $<
+ $(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) $(DOCBOOK_XSLT) $<
+
+.8.xml.8:
+ $(XMLLINT) $(XMLLINT_FLAGS) $<
+ $(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) $(DOCBOOK_XSLT) $<
+
+########################
+# MANPAGE TRANSLATIONS #
+########################
+
+PO4A=@PO4A@
+SED=@SED@
+
+PACKAGE_DOC=sssd-docs
+
+POTFILE = po/$(PACKAGE_DOC).pot
+PO4A_CONFIG = po/po4a.cfg
+
+# Extract the list of languages from the po4a config file.
+LINGUAS_DIST = `$(SED) -ne 's/^.*\[po4a_langs\] \(.*\)$$/\1/p' $(srcdir)/$(PO4A_CONFIG)`
+
+# If the user has not defined it let's use the default.
+LINGUAS ?= $(LINGUAS_DIST)
+
+PO4A_COMMON_OPTS = --option doctype=docbook \
+ --package-name $(PACKAGE_DOC) \
+ --variable builddir=$(CURDIR) \
+ --package-version $(PACKAGE_VERSION) \
+ --msgid-bugs-address sssd-devel@redhat.com \
+ --copyright-holder "Red Hat"
+
+PO4A_BUILD_OPTS = $(PO4A_COMMON_OPTS) --no-backups
+
+EXTRA_DIST += \
+ $(POTFILE)\
+ $(PO4A_CONFIG)
+
+XML_DOC = $(wildcard $(srcdir)/*.xml) $(wildcard $(srcdir)/include/*.xml)
+
+if HAVE_PO4A
+
+# FIXME: Use a stamp file until po4a supports them internally.
+man.stamp: $(XML_DOC)
+ cd $(srcdir) && \
+ $(PO4A) $(PO4A_BUILD_OPTS) $(PO4A_CONFIG)
+ touch $@
+
+update-po:
+ cd $(srcdir) && \
+ $(PO4A) $(PO4A_BUILD_OPTS) --force $(PO4A_CONFIG)
+
+# Generate translated manual pages
+translate: man.stamp
+ if [ -z $$recursion ]; then \
+ for lang in $(LINGUAS); do \
+ if [ -d $$lang ]; then \
+ sources=$$(ls $$lang/*.xml); \
+ manpages=$$(echo $$sources | $(SED) 's/\.xml//'); \
+ $(MAKE) recursion=1 man_MANS="$$manpages"; \
+ fi \
+ done \
+ fi
+
+
+dist-hook: man.stamp
+ if [ -f man.stamp ]; then \
+ cp man.stamp $(distdir); \
+ for lang in $(LINGUAS_DIST); do \
+ cp $(srcdir)/po/$$lang.po $(distdir)/po; \
+ $(mkdir_p) $(distdir)/$$lang; \
+ cp -r $(builddir)/$$lang $(distdir)/; \
+ done; \
+ else \
+ cp $(srcdir)/man.stamp $(distdir); \
+ for lang in $(LINGUAS_DIST); do \
+ cp $(srcdir)/po/$$lang.po $(distdir)/po; \
+ $(mkdir_p) $(distdir)/$$lang; \
+ cp -r $(srcdir)/$$lang $(distdir)/; \
+ done; \
+ fi
+
+
+clean-local: clean-local-@USE_NLS@
+distclean-local: clean-local-@USE_NLS@
+mostlyclean-local: clean-local-@USE_NLS@
+maintainer-clean-local: clean-local-@USE_NLS@
+
+clean-local-no:
+clean-local-yes:
+ for lang in $(LINGUAS); do \
+ if [ -d $$lang ]; then \
+ rm -rf $$lang; \
+ fi \
+ done
+ rm -f $(man_MANS)
+ rm -f man.stamp
+
+install-data-local: install-data-local-@USE_NLS@
+install-data-local-no:
+install-data-local-yes:
+ for lang in $(LINGUAS); do \
+ if [ -d $$lang ]; then \
+ sources=$$(ls $$lang/*.xml); \
+ manpages=$$(echo $$sources | $(SED) 's/\.xml//'); \
+ $(MAKE) install-man \
+ mandir="$(mandir)/$$lang" \
+ man_MANS="$$manpages"; \
+ fi \
+ done
+
+uninstall-local: uninstall-local-@USE_NLS@
+uninstall-local-no:
+uninstall-local-yes:
+ for lang in $(LINGUAS); do \
+ if [ -d $$lang ]; then \
+ sources=$$(ls $$lang/*.xml); \
+ manpages=$$(echo $$sources | $(SED) 's/\.xml//'); \
+ $(MAKE) uninstall-man \
+ mandir="$(mandir)/$$lang" \
+ man_MANS="$$manpages"; \
+ fi \
+ done
+
+else
+translate:
+ @echo No po4a, skipping translations
+endif
diff --git a/src/man/po/po4a.cfg b/src/man/po/po4a.cfg
new file mode 100644
index 00000000..4628642f
--- /dev/null
+++ b/src/man/po/po4a.cfg
@@ -0,0 +1,22 @@
+[po4a_langs] cs
+[po4a_paths] po/sssd-docs.pot $lang:po/$lang.po
+[type:docbook] sss_groupmod.8.xml $lang:$(builddir)/$lang/sss_groupmod.8.xml
+[type:docbook] sssd.conf.5.xml $lang:$(builddir)/$lang/sssd.conf.5.xml
+[type:docbook] sssd-ldap.5.xml $lang:$(builddir)/$lang/sssd-ldap.5.xml
+[type:docbook] pam_sss.8.xml $lang:$(builddir)/$lang/pam_sss.8.xml
+[type:docbook] sssd_krb5_locator_plugin.8.xml $lang:$(builddir)/$lang/sssd_krb5_locator_plugin.8.xml
+[type:docbook] sssd-simple.5.xml $lang:$(builddir)/$lang/sssd-simple.5.xml
+[type:docbook] sssd-ipa.5.xml $lang:$(builddir)/$lang/sssd-ipa.5.xml
+[type:docbook] sssd.8.xml $lang:$(builddir)/$lang/sssd.8.xml
+[type:docbook] sss_obfuscate.8.xml $lang:$(builddir)/$lang/sss_obfuscate.8.xml
+[type:docbook] sss_useradd.8.xml $lang:$(builddir)/$lang/sss_useradd.8.xml
+[type:docbook] sssd-krb5.5.xml $lang:$(builddir)/$lang/sssd-krb5.5.xml
+[type:docbook] sss_groupadd.8.xml $lang:$(builddir)/$lang/sss_groupadd.8.xml
+[type:docbook] sss_userdel.8.xml $lang:$(builddir)/$lang/sss_userdel.8.xml
+[type:docbook] sss_groupdel.8.xml $lang:$(builddir)/$lang/sss_groupdel.8.xml
+[type:docbook] sss_groupshow.8.xml $lang:$(builddir)/$lang/sss_groupshow.8.xml
+[type:docbook] sss_usermod.8.xml $lang:$(builddir)/$lang/sss_usermod.8.xml
+[type:docbook] include/service_discovery.xml $lang:$(builddir)/$lang/include/service_discovery.xml opt:"-k 0"
+[type:docbook] include/upstream.xml $lang:$(builddir)/$lang/include/upstream.xml opt:"-k 0"
+[type:docbook] include/failover.xml $lang:$(builddir)/$lang/include/failover.xml opt:"-k 0"
+[type:docbook] include/param_help.xml $lang:$(builddir)/$lang/include/param_help.xml opt:"-k 0"
diff --git a/src/man/sss_groupdel.8.xml b/src/man/sss_groupdel.8.xml
index 22f4fca0..978fc736 100644
--- a/src/man/sss_groupdel.8.xml
+++ b/src/man/sss_groupdel.8.xml
@@ -13,7 +13,7 @@
<refnamediv id='name'>
<refname>sss_groupdel</refname>
- <refpurpose>create a new group</refpurpose>
+ <refpurpose>delete a group</refpurpose>
</refnamediv>
<refsynopsisdiv id='synopsis'>