]> git.ipfire.org Git - thirdparty/shadow.git/commitdiff
man: generate translations using itstool instead of xml2po 184/head
authorFrederik Rietdijk <fridh@fridh.nl>
Sun, 3 Nov 2019 08:51:07 +0000 (09:51 +0100)
committerFrederik Rietdijk <fridh@fridh.nl>
Sun, 3 Nov 2019 12:04:17 +0000 (13:04 +0100)
This patch was taken from Fedora Rawhide
https://src.fedoraproject.org/rpms/shadow-utils/raw/b41cff195605b29af23d2ad62a60ddc5a2d89786/f/shadow-4.6-use-itstool.patch

man/README.md
man/generate_translations.mak

index ebe2728fc737e9d3d589c93044a57a9cb4dbf39e..3180139b40e428bcaadd5ce4afdda05b9f075b2f 100644 (file)
@@ -7,4 +7,4 @@ pre-built ones might not fit your version of shadow.  To build them yourself use
 - xsltproc
 - docbook 4
 - docbook stylesheets
-- xml2po
+- itstool
index 7d242cc939c42faf9c42540f8db4d80b587073fc..eb9ac41192d274d18e0c4deca64d584d4e784b8c 100644 (file)
@@ -5,8 +5,19 @@ config.xml: ../config.xml.in
        $(MAKE) -C .. config.xml
        cp ../config.xml $@
 
-%.xml: ../%.xml ../po/$(LANG).po
-       xml2po --expand-all-entities -l $(LANG) -p ../po/$(LANG).po -o $@ ../$@
+messages.mo: ../po/$(LANG).po
+       msgfmt ../po/$(LANG).po -o messages.mo
+
+login.defs.d:
+       ln -sf ../login.defs.d login.defs.d
+
+%.xml: ../%.xml messages.mo login.defs.d
+       if grep -q SHADOW-CONFIG-HERE $< ; then \
+           sed -e 's/^<!-- SHADOW-CONFIG-HERE -->/<!ENTITY % config SYSTEM "config.xml">%config;/' $< > $@; \
+       else \
+           sed -e 's/^\(<!DOCTYPE .*docbookx.dtd"\)>/\1 [<!ENTITY % config SYSTEM "config.xml">%config;]>/' $< > $@; \
+       fi
+       itstool -d -l $(LANG) -m messages.mo -o . $@
        sed -i 's:\(^<refentry .*\)>:\1 lang="$(LANG)">:' $@
 
 include ../generate_mans.mak
@@ -16,4 +27,4 @@ $(man_MANS):
        @echo you need to run configure with --enable-man to generate man pages
 endif
 
-CLEANFILES = .xml2po.mo $(EXTRA_DIST) $(addsuffix .xml,$(EXTRA_DIST)) config.xml
+CLEANFILES = messages.mo login.defs.d $(EXTRA_DIST) $(addsuffix .xml,$(EXTRA_DIST)) config.xml