[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#687106: Acknowledgement (Generate ebook (epub) version of the documentation?)



Here is an improved and tested patch to create epub versions of the
documentation and put it in the language packages.  Something to include
in the default build?

-- 
Happy hacking
Petter Reinholdtsen
diff --git a/Makefile b/Makefile
index 07360dd..48e2fdd 100644
--- a/Makefile
+++ b/Makefile
@@ -20,7 +20,7 @@ update-copyright:
 		> debian/copyright
 	rm documentation/*/copyright.manual
 
-readme status build install dist-clean clean pdf::
+readme status build install dist-clean clean pdf epub::
 	$(MAKE) -C $(SRCDIR)/debian-edu-squeeze $@
 	$(MAKE) -C $(SRCDIR)/debian-edu-wheezy $@
 	$(MAKE) -C $(SRCDIR)/rosegarden $@
diff --git a/debian/control b/debian/control
index c958665..dcac5d1 100644
--- a/debian/control
+++ b/debian/control
@@ -8,6 +8,7 @@ Build-Depends-Indep: docbook-utils, poxml, ldp-docbook-xsl, dblatex, po4a,
  texlive-lang-cyrillic, texlive-lang-danish,  texlive-lang-spanish,
  texlive-lang-french, texlive-lang-german, texlive-lang-italian,
  texlive-lang-norwegian, texlive-lang-dutch, imagemagick
+ , dbtoepub
 Maintainer: Debian Edu Developers <debian-edu@lists.debian.org>
 Uploaders: Holger Levsen <holger@debian.org>, 
  David Prévot <taffit@debian.org>
diff --git a/documentation/common/Makefile.common b/documentation/common/Makefile.common
index 99d6ff2..8c44e03 100644
--- a/documentation/common/Makefile.common
+++ b/documentation/common/Makefile.common
@@ -5,6 +5,7 @@ DESTDIR=
 DESTPATH = /usr/share/doc
 LANGUAGES = `find . -name "$(name).*.po" | sed -e "s/.\/$(name).//" -e "s/.po//"`
 # Program name and option
+DBTOEPUB = dbtoepub
 XP = xsltproc --nonet --novalid --xinclude ../common/html.xsl
 DBLATEX = dblatex -T db2latex --backend=xetex --xsl-user=../common/user_param.xsl --xsl-user=../common/xetex_param.xsl -p ../common/pdf.xsl
 # that's ugly, smarter approach appreciated
@@ -30,8 +31,10 @@ status:
 	done
 	@cat fixme-status.txt
 
+build: build-html build-epub
+
 ifndef LINGUA
-build:
+build-html:
 	# create localized XML files
 	po4a --msgmerge-opt --no-location po4a.cfg
 	msgcat --no-location -o $(name).pot $(name).pot
@@ -42,11 +45,18 @@ build:
 	sed -i "s/href=\"index.html/href=\"$(name).en.html/g" $(name).en.html
 	# build the other HTML versions
 	-for f in $(LANGUAGES) ; do \
+		echo "Creating HTML for $$f"; \
 		$(XP) $(name).$$f.xml && mv index.html $(name).$$f.html ; \
 		sed -i "s/href=\"index.html/href=\"$(name).$$f.html/g" $(name).$$f.html ; \
 	done
+build-epub:
+	-for LINGUA in $(LANGUAGES) ; do \
+		echo "Creating epub for $$LINGUA"; \
+		po4a --translate-only $(name).$$LINGUA.xml po4a.cfg ; \
+		$(DBTOEPUB) $(name).$$LINGUA.xml ; \
+	done
 else
-build:
+build-html:
 	# create the localized XML file
 	po4a --translate-only $(name).$(LINGUA).xml po4a.cfg
 	# rewrap the PO file just to be sure
@@ -55,6 +65,7 @@ build:
 	$(XP) $(name).$(LINGUA).xml && mv index.html $(name).$(LINGUA).html
 	# restore internal links
 	sed -i "s/href=\"index.html/href=\"$(name).$(LINGUA).html/g" $(name).$(LINGUA).html
+build-epub: epub
 endif
 
 ifndef LINGUA
@@ -66,6 +77,15 @@ pdf:
 	$(DBLATEX) $(name).$(LINGUA).xml --param=lingua=$(LINGUA)
 endif
 
+ifndef LINGUA
+epub:
+	$(DBTOEPUB) $(name).xml
+else
+epub:
+	po4a --translate-only $(name).$(LINGUA).xml po4a.cfg
+	$(DBTOEPUB) $(name).$(LINGUA).xml
+endif
+
 install: build
 	# en needs to be first
 	for f in en $(LANGUAGES) ; do \
@@ -102,6 +122,9 @@ install: build
 			  rm $$LANGPATH/images/*.pdf ; \
 			fi ; \
 		fi ; \
+		if [ -e $(name).$$f.epub ] ; then \
+			cp $(name).$$f.epub $$LANGPATH/$(name).epub ; \
+		fi ; \
 	done 		
 	rm $(DESTDIR)/debian-edu-doc-en/$(DESTPATH)/debian-edu-doc-en/images/*.pdf ; \
 
@@ -112,3 +135,5 @@ clean:
 	rm -f *.po~
 
 dist-clean:	clean
+	rm -f *.epub
+	rm -f *.pdf

Reply to: