doc: Force FOP to read images from doc directory
authorKeith Packard <keithp@keithp.com>
Tue, 13 Oct 2015 20:52:32 +0000 (13:52 -0700)
committerKeith Packard <keithp@keithp.com>
Tue, 13 Oct 2015 20:54:28 +0000 (13:54 -0700)
Looks like something changed and fop is now reading from the directory
containing the source file. xmlto places that source in /tmp, making
all relative URIs fail. Fix this by creating a fop configuration file
directing it to load relative to the doc directory and then pass that
through xmlto.

Signed-off-by: Keith Packard <keithp@keithp.com>
doc/Makefile

index 9c6189b4f9386a8c138e0d2033da7b8a8fbf715c..9d4d68c6e18ff70108fa6a34181fb458f75c4fc7 100644 (file)
@@ -74,6 +74,7 @@ PDF=altusmetrum.pdf altos.pdf telemetry.pdf companion.pdf micropeak.pdf telegps.
        telemetrum-outline.pdf telemega-outline.pdf easymini-outline.pdf easymega-outline.pdf
 HTMLSTYLE=/usr/share/xml/docbook/stylesheet/docbook-xsl/html/docbook.xsl
 FOSTYLE=xorg-fo.xsl
+FOPCFG=fop-cfg.xml
 TEMPLATES=titlepage.templates.xsl
 PDFSTYLE=
 IMAGES=$(PICTURES) $(SVG)
@@ -87,7 +88,7 @@ XSLTFLAGS=--stringparam section.autolabel 1 --xinclude
        xsltproc $(XSLTFLAGS) -o $@ $(HTMLSTYLE) $*.xsl
 
 .xsl.pdf:
-       xmlto -x $(FOSTYLE) --with-fop pdf $*.xsl
+       xmlto -p '-c $(FOPCFG)' --searchpath `pwd` -x $(FOSTYLE) --with-fop pdf $*.xsl
 
 .xml.xsl:
        xsltproc --output $@ /usr/share/xml/docbook/stylesheet/docbook-xsl/template/titlepage.xsl $*.xml
@@ -116,8 +117,11 @@ altusmetrum.pdf: $(RELNOTES_XSL) $(IMAGES)
 telegps.html: $(RELNOTES_XSL) $(IMAGES)
 telegps.pdf: $(RELNOTES_XSL) $(IMAGES)
 
-$(PDF): $(FOSTYLE) $(TEMPLATES)
+$(PDF): $(FOSTYLE) $(TEMPLATES) $(FOPCFG)
 
 indent:                altusmetrum.xsl
        xmlindent -i 2 < altusmetrum.xsl > altusmetrum.new
 
+$(FOPCFG): Makefile
+       (echo '<fop version="1.0">'; echo '  <base>'"`pwd`"'</base>'; echo '</fop>') > $@
+