summaryrefslogtreecommitdiff
path: root/buildlib
diff options
context:
space:
mode:
authorMichael Vogt <mvo@ubuntu.com>2014-09-10 08:13:18 +0200
committerMichael Vogt <mvo@ubuntu.com>2014-09-10 08:13:18 +0200
commit2fa9c1eee57775309f79b63baa5d165b7b443969 (patch)
tree21907ec26aba35dff2185aa463f38e9ec0686c78 /buildlib
parent9bac4dce7c1454b4919800a47ffc5860fd3c7e1b (diff)
parent7d8a4da74eb7f794e4da1216b39d7e2a1259d18f (diff)
Merge branch 'debian/sid' into ubuntu/master
Conflicts: configure.ac debian/changelog doc/apt-verbatim.ent doc/po/apt-doc.pot doc/po/de.po doc/po/es.po doc/po/fr.po doc/po/it.po doc/po/ja.po doc/po/pl.po doc/po/pt.po doc/po/pt_BR.po po/apt-all.pot po/ar.po po/ast.po po/bg.po po/bs.po po/ca.po po/cs.po po/cy.po po/da.po po/de.po po/dz.po po/el.po po/es.po po/eu.po po/fi.po po/fr.po po/gl.po po/hu.po po/it.po po/ja.po po/km.po po/ko.po po/ku.po po/lt.po po/mr.po po/nb.po po/ne.po po/nl.po po/nn.po po/pl.po po/pt.po po/pt_BR.po po/ro.po po/ru.po po/sk.po po/sl.po po/sv.po po/th.po po/tl.po po/tr.po po/uk.po po/vi.po po/zh_CN.po po/zh_TW.po
Diffstat (limited to 'buildlib')
-rw-r--r--buildlib/debiandoc.mak60
-rw-r--r--buildlib/defaults.mak4
-rw-r--r--buildlib/docbook.mak75
-rw-r--r--buildlib/environment.mak.in12
-rw-r--r--buildlib/po4a_manpage.mak18
5 files changed, 93 insertions, 76 deletions
diff --git a/buildlib/debiandoc.mak b/buildlib/debiandoc.mak
deleted file mode 100644
index 7e22467cf..000000000
--- a/buildlib/debiandoc.mak
+++ /dev/null
@@ -1,60 +0,0 @@
-# -*- make -*-
-
-# This processes debian-doc sgml to produce html and plain text output
-
-# Input
-# $(SOURCE) - The documents to use
-
-# All output is writtin to files in the build doc directory
-
-# See defaults.mak for information about LOCAL
-
-# Some local definitions
-LOCAL := debiandoc-$(firstword $(SOURCE))
-$(LOCAL)-HTML := $(addsuffix .html,$(addprefix $(DOC)/,$(basename $(SOURCE))))
-$(LOCAL)-TEXT := $(addsuffix .text,$(addprefix $(DOC)/,$(basename $(SOURCE))))
-
-debiandoc:
-
-#---------
-
-# Rules to build HTML documentations
-ifdef DEBIANDOC_HTML
-
-# Install generation hooks
-debiandoc: $($(LOCAL)-HTML)
-veryclean: veryclean/html/$(LOCAL)
-
-vpath %.sgml $(SUBDIRS)
-$(DOC)/%.html: %.sgml
- echo Creating html for $< to $@
- -rm -rf $@
- (HERE=`pwd`; cd $(@D) && $(DEBIANDOC_HTML) $(DEBIANDOC_HTML_OPTIONS) $$HERE/$<) || exit 199
-
-# Clean rule
-.PHONY: veryclean/html/$(LOCAL)
-veryclean/html/$(LOCAL):
- -rm -rf $($(@F)-HTML)
-
-endif
-
-#---------
-
-# Rules to build Text documentations
-ifdef DEBIANDOC_TEXT
-
-# Install generation hooks
-debiandoc: $($(LOCAL)-TEXT)
-veryclean: veryclean/text/$(LOCAL)
-
-vpath %.sgml $(SUBDIRS)
-$(DOC)/%.text: %.sgml
- echo Creating text for $< to $@
- $(DEBIANDOC_TEXT) -O $< > $@ || exit 198
-
-# Clean rule
-.PHONY: veryclean/text/$(LOCAL)
-veryclean/text/$(LOCAL):
- -rm -rf $($(@F)-TEXT)
-
-endif
diff --git a/buildlib/defaults.mak b/buildlib/defaults.mak
index 599b9ed85..c7931c504 100644
--- a/buildlib/defaults.mak
+++ b/buildlib/defaults.mak
@@ -76,7 +76,7 @@ PO_DOMAINS := $(BUILD)/po/domains
# Module types
LIBRARY_H = $(BASE)/buildlib/library.mak
-DEBIANDOC_H = $(BASE)/buildlib/debiandoc.mak
+DOCBOOK_H = $(BASE)/buildlib/docbook.mak
MANPAGE_H = $(BASE)/buildlib/manpage.mak
PROGRAM_H = $(BASE)/buildlib/program.mak
PYTHON_H = $(BASE)/buildlib/python.mak
@@ -121,7 +121,7 @@ MKDIRS := $(BIN)
all: dirs binary doc
binary: library program
maintainer-clean dist-clean distclean pristine sanity: veryclean
-startup headers library clean veryclean program test update-po manpages debiandoc:
+startup headers library clean veryclean program test update-po manpages docbook:
veryclean:
echo Very Clean done for $(SUBDIR)
diff --git a/buildlib/docbook.mak b/buildlib/docbook.mak
new file mode 100644
index 000000000..6aa3ca0d2
--- /dev/null
+++ b/buildlib/docbook.mak
@@ -0,0 +1,75 @@
+# -*- make -*-
+
+# This processes DocBook XML to produce html and plain text output
+
+# Input
+# $(SOURCE) - The documents to use
+
+# All output is written to files in the build doc directory
+
+# See defaults.mak for information about LOCAL
+
+# Some local definitions
+LOCAL := docbook-$(firstword $(SOURCE))
+$(LOCAL)-HTML := $(addsuffix .html,$(addprefix $(DOC)/,$(basename $(SOURCE))))
+$(LOCAL)-TEXT := $(addsuffix .text,$(addprefix $(DOC)/,$(basename $(SOURCE))))
+INCLUDES = apt.ent apt-verbatim.ent apt-vendor.ent
+
+docbook:
+
+
+#---------
+
+# Rules to build HTML documentations
+ifdef XSLTPROC
+
+DOCBOOK_HTML_STYLESHEET := docbook-html-style.xsl
+
+# Install generation hooks
+docbook: $($(LOCAL)-HTML)
+veryclean: veryclean/html/$(LOCAL)
+
+vpath %.dbk $(SUBDIRS)
+vpath $(DOCBOOK_HTML_STYLESHEET) $(SUBDIRS)
+$(DOC)/%.html: %.dbk $(DOCBOOK_HTML_STYLESHEET) $(INCLUDES)
+ echo Creating html for $< to $@
+ -rm -rf $@
+ mkdir -p $@
+ $(DOCBOOK) \
+ --stringparam base.dir $@/ \
+ --stringparam l10n.gentext.default.language $(LC) \
+ $(<D)/$(DOCBOOK_HTML_STYLESHEET) $< || exit 199
+
+# Clean rule
+.PHONY: veryclean/html/$(LOCAL)
+veryclean/html/$(LOCAL):
+ -rm -rf $($(@F)-HTML)
+
+endif
+
+#---------
+
+# Rules to build Text documentations
+ifdef XSLTPROC
+
+DOCBOOK_TEXT_STYLESHEET := docbook-text-style.xsl
+
+# Install generation hooks
+docbook: $($(LOCAL)-TEXT)
+veryclean: veryclean/text/$(LOCAL)
+
+vpath %.dbk $(SUBDIRS)
+vpath $(DOCBOOK_TEXT_STYLESHEET) $(SUBDIRS)
+$(DOC)/%.text: %.dbk $(DOCBOOK_TEXT_STYLESHEET) $(INCLUDES)
+ echo Creating text for $< to $@
+ $(DOCBOOK) \
+ --stringparam l10n.gentext.default.language $(LC) \
+ $(<D)/$(DOCBOOK_TEXT_STYLESHEET) $< | \
+ LC_ALL=C.UTF-8 $(DOCBOOK2TEXT) > $@ || exit 198
+
+# Clean rule
+.PHONY: veryclean/text/$(LOCAL)
+veryclean/text/$(LOCAL):
+ -rm -rf $($(@F)-TEXT)
+
+endif
diff --git a/buildlib/environment.mak.in b/buildlib/environment.mak.in
index c1bf29672..b0a8d9d35 100644
--- a/buildlib/environment.mak.in
+++ b/buildlib/environment.mak.in
@@ -28,15 +28,17 @@ RANLIB:=@RANLIB@
GCC3DEP = @GCC3DEP@
INLINEDEPFLAG = -MD
-# Debian doc stuff
-DEBIANDOC_HTML = @DEBIANDOC_HTML@
-DEBIANDOC_TEXT = @DEBIANDOC_TEXT@
-
DOXYGEN = @DOXYGEN@
+W3M = @W3M@
-# xsltproc for the man pages
+# xsltproc for the man pages and documentation
XSLTPROC := @XSLTPROC@
+# DocBook XML
+DOCBOOK = $(XSLTPROC) --nonet --novalid --xinclude
+DOCBOOK2TEXT = $(W3M) -o display_charset=UTF-8 -no-graph -T text/html \
+ -cols 78 -dump
+
# po4a for the man pages
PO4A := @PO4A@
diff --git a/buildlib/po4a_manpage.mak b/buildlib/po4a_manpage.mak
index b3d586b2f..0f53a8600 100644
--- a/buildlib/po4a_manpage.mak
+++ b/buildlib/po4a_manpage.mak
@@ -15,6 +15,9 @@ INCLUDES = apt.ent apt-verbatim.ent apt-vendor.ent
manpages:
+%.xsl: ../%.xsl
+ cp -a $< .
+
# Do not use XMLTO, build the manpages directly with XSLTPROC
ifdef XSLTPROC
@@ -34,13 +37,11 @@ apt-verbatim.ent: ../apt-verbatim.ent
apt-vendor.ent: ../apt-vendor.ent
cp -a ../apt-vendor.ent .
-manpage-style.xsl: ../manpage-style.xsl
- sed "/<!-- LANGUAGE -->/ i\
-<xsl:param name=\"l10n.gentext.default.language\" select=\"'$(LC)'\" />" ../manpage-style.xsl > manpage-style.xsl
-
$($(LOCAL)-LIST) :: % : %.xml $(STYLESHEET) $(INCLUDES)
echo Creating man page $@
- $(XSLTPROC) -o $@ $(STYLESHEET) $< || exit 200 # why xsltproc doesn't respect the -o flag here???
+ $(XSLTPROC) \
+ --stringparam l10n.gentext.default.language $(LC) \
+ -o $@ $(STYLESHEET) $< || exit 200 # why xsltproc doesn't respect the -o flag here???
test -f $(subst .$(LC),,$@) || echo 'FIXME: xsltproc respects the -o flag now, workaround can be removed'
mv -f $(subst .$(LC),,$@) $@
@@ -69,7 +70,6 @@ ifneq ($(words $(SOURCE)),0)
include $(MANPAGE_H)
endif
-# Debian Doc SGML Documents
-SOURCE := $(wildcard *.$(LC).sgml)
-DEBIANDOC_HTML_OPTIONS=-l $(LC).UTF-8
-include $(DEBIANDOC_H)
+# DocBook XML Documents
+SOURCE := $(wildcard *.$(LC).dbk)
+include $(DOCBOOK_H)