Package: moreutils
Version: 0.50
Severity: wishlist
Tags: patch

moreutils still uses the obsolescent docbook2x package for building
man pages from DocBook sources.  I have taken the liberty to port this
to the more current and better maintained docbook-xsl package (the
same package that is normally used to produce HTML).  This also helps
building moreutils on other platforms, where the docbook2x package is
increasingly difficult to come by.  I have also fixed a few bugs in
the markup along the way.  I hope you will find the attached patches
useful.
>From 4d0ce7c7eaca224e9c5d8868f6399b4c91e3c73b Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <pet...@debian.org>
Date: Sat, 2 Nov 2013 16:24:37 -0400
Subject: [PATCH 1/5] Use http system identifiers

This makes the DocBook files independent of particular file-system
layout.  On system with proper XML catalog setups, there should be no
difference.  (No actual HTTP calls will be made.)
---
 errno.docbook    | 2 +-
 ifdata.docbook   | 2 +-
 ifne.docbook     | 2 +-
 isutf8.docbook   | 2 +-
 lckdo.docbook    | 2 +-
 mispipe.docbook  | 2 +-
 parallel.docbook | 2 +-
 pee.docbook      | 2 +-
 sponge.docbook   | 2 +-
 9 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/errno.docbook b/errno.docbook
index 63ae492..bcfbf9a 100644
--- a/errno.docbook
+++ b/errno.docbook
@@ -21,7 +21,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 -->
 
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.4//EN"
-"file:///usr/share/xml/docbook/schema/dtd/4.4/docbookx.dtd"
+"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";
 []>
 
 <refentry>
diff --git a/ifdata.docbook b/ifdata.docbook
index 963943e..a57680b 100644
--- a/ifdata.docbook
+++ b/ifdata.docbook
@@ -21,7 +21,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 -->
 
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.4//EN"
-"file:///usr/share/xml/docbook/schema/dtd/4.4/docbookx.dtd"
+"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";
 []>
 
 <refentry>
diff --git a/ifne.docbook b/ifne.docbook
index 41fa9ab..0a8c01c 100644
--- a/ifne.docbook
+++ b/ifne.docbook
@@ -21,7 +21,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 -->
 
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.4//EN"
-"file:///usr/share/xml/docbook/schema/dtd/4.4/docbookx.dtd"
+"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";
 []>
 
 <refentry>
diff --git a/isutf8.docbook b/isutf8.docbook
index 58355a2..6451d8a 100644
--- a/isutf8.docbook
+++ b/isutf8.docbook
@@ -21,7 +21,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 -->
 
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.4//EN"
-"file:///usr/share/xml/docbook/schema/dtd/4.4/docbookx.dtd"
+"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";
 []>
 
 <refentry>
diff --git a/lckdo.docbook b/lckdo.docbook
index effe84d..3bec67a 100644
--- a/lckdo.docbook
+++ b/lckdo.docbook
@@ -8,7 +8,7 @@ Public domain.
 -->
 
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.4//EN"
-"file:///usr/share/xml/docbook/schema/dtd/4.4/docbookx.dtd"
+"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";
 []>
 
 <refentry>
diff --git a/mispipe.docbook b/mispipe.docbook
index bd8faa8..6d0d758 100644
--- a/mispipe.docbook
+++ b/mispipe.docbook
@@ -21,7 +21,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 -->
 
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.4//EN"
-"file:///usr/share/xml/docbook/schema/dtd/4.4/docbookx.dtd"
+"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";
 []>
 
 <refentry>
diff --git a/parallel.docbook b/parallel.docbook
index d3ffcce..b5d438d 100644
--- a/parallel.docbook
+++ b/parallel.docbook
@@ -7,7 +7,7 @@ Written by Joey Hess
 -->
 
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.4//EN"
-"file:///usr/share/xml/docbook/schema/dtd/4.4/docbookx.dtd"
+"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";
 []>
 
 <refentry>
diff --git a/pee.docbook b/pee.docbook
index f6a8441..850b9bd 100644
--- a/pee.docbook
+++ b/pee.docbook
@@ -21,7 +21,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 -->
 
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.4//EN"
-"file:///usr/share/xml/docbook/schema/dtd/4.4/docbookx.dtd"
+"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";
 []>
 
 <refentry>
diff --git a/sponge.docbook b/sponge.docbook
index daab8eb..474155e 100644
--- a/sponge.docbook
+++ b/sponge.docbook
@@ -21,7 +21,7 @@ USA
 -->
 
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.4//EN"
-"file:///usr/share/xml/docbook/schema/dtd/4.4/docbookx.dtd"
+"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";
 []>
 
 <refentry>
-- 
1.8.4.rc3

>From 358982575411aa043de6dd47535de9833f916024 Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <pet...@debian.org>
Date: Sat, 2 Nov 2013 17:02:03 -0400
Subject: [PATCH 2/5] Fix invalid DocBook markup

---
 errno.docbook  | 4 ++--
 isutf8.docbook | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/errno.docbook b/errno.docbook
index bcfbf9a..49370ec 100644
--- a/errno.docbook
+++ b/errno.docbook
@@ -117,9 +117,9 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 	
 	<refsect1>
 		<title>AUTHOR</title>
-			Lars Wirzenius
+
 		<para>
-			
+			Lars Wirzenius
 		</para>
 	</refsect1>
 	
diff --git a/isutf8.docbook b/isutf8.docbook
index 6451d8a..33bd3ac 100644
--- a/isutf8.docbook
+++ b/isutf8.docbook
@@ -106,9 +106,9 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 	
 	<refsect1>
 		<title>AUTHOR</title>
-			Lars Wirzenius
+
 		<para>
-			
+			Lars Wirzenius
 		</para>
 	</refsect1>
 	
-- 
1.8.4.rc3

>From 3e254a710a968c699b2be577ad1c23ccdd3b803f Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <pet...@debian.org>
Date: Sat, 2 Nov 2013 17:04:22 -0400
Subject: [PATCH 3/5] Use pattern rule for building man pages from DocBook

This eliminates some duplicate code.
---
 Makefile | 23 +----------------------
 1 file changed, 1 insertion(+), 22 deletions(-)

diff --git a/Makefile b/Makefile
index be379ab..865942d 100644
--- a/Makefile
+++ b/Makefile
@@ -23,30 +23,9 @@ install:
 check: isutf8
 	./check-isutf8
 
-isutf8.1: isutf8.docbook
+%.1: %.docbook
 	$(DOCBOOK2XMAN) $<
 
-ifdata.1: ifdata.docbook
-	$(DOCBOOK2XMAN) $<
-
-ifne.1: ifne.docbook
-	$(DOCBOOK2XMAN) $<
-
-pee.1: pee.docbook
-	$(DOCBOOK2XMAN) $<
-
-sponge.1: sponge.docbook
-	$(DOCBOOK2XMAN) $<
-
-mispipe.1: mispipe.docbook
-	$(DOCBOOK2XMAN) $<
-
-lckdo.1: lckdo.docbook
-	$(DOCBOOK2XMAN) $<
-
-parallel.1: parallel.docbook
-	$(DOCBOOK2XMAN) $<
-	
 errno.o: errnos.h
 errnos.h:
 	echo '#include <errno.h>' > dump.c
-- 
1.8.4.rc3

>From 59c56e49bb1d2a5f4089316a43694d11fea9ec98 Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <pet...@debian.org>
Date: Sat, 2 Nov 2013 17:04:58 -0400
Subject: [PATCH 4/5] Run xmllint as part of DocBook build

This will verify that the DocBook markup is valid before building
anything from it.  The actual build tools don't do that and might
produce garbage if the markup is not valid.
---
 Makefile       | 1 +
 debian/control | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index 865942d..4272d93 100644
--- a/Makefile
+++ b/Makefile
@@ -24,6 +24,7 @@ check: isutf8
 	./check-isutf8
 
 %.1: %.docbook
+	xmllint --noout --valid $<
 	$(DOCBOOK2XMAN) $<
 
 errno.o: errnos.h
diff --git a/debian/control b/debian/control
index aa5f025..bf34038 100644
--- a/debian/control
+++ b/debian/control
@@ -1,7 +1,7 @@
 Source: moreutils
 Section: utils
 Priority: optional
-Build-Depends: debhelper (>= 7), dpkg-dev (>= 1.9.0), docbook2x, docbook-xml
+Build-Depends: debhelper (>= 7), dpkg-dev (>= 1.9.0), docbook2x, docbook-xml, libxml2-utils
 Maintainer: Joey Hess <jo...@debian.org>
 Standards-Version: 3.9.2
 Vcs-Git: git://git.kitenet.net/moreutils
-- 
1.8.4.rc3

>From 18c0ddd6aed57937e7e3a23e2ca71a512233ebd5 Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <pet...@debian.org>
Date: Sat, 2 Nov 2013 17:44:03 -0400
Subject: [PATCH 5/5] Use docbook-xsl to build man pages

Use the style sheets from docbook-xsl to build man pages from DocBook,
instead of the obsolete docbook2x package.  Adjust Debian build
dependencies accordingly.

Add some man page metadata required by the new tool chain to the
sources.
---
 Makefile         | 2 +-
 debian/control   | 2 +-
 errno.docbook    | 2 ++
 ifdata.docbook   | 2 ++
 ifne.docbook     | 2 ++
 isutf8.docbook   | 2 ++
 lckdo.docbook    | 2 ++
 mispipe.docbook  | 2 ++
 parallel.docbook | 2 ++
 pee.docbook      | 2 ++
 sponge.docbook   | 2 ++
 11 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/Makefile b/Makefile
index 4272d93..4f8af10 100644
--- a/Makefile
+++ b/Makefile
@@ -5,7 +5,7 @@ CFLAGS?=-O2 -g -Wall
 INSTALL_BIN?=install -s
 PREFIX?=/usr
 
-DOCBOOK2XMAN=docbook2x-man
+DOCBOOK2XMAN=xsltproc --param man.authors.section.enabled 0 /usr/share/xml/docbook/stylesheet/docbook-xsl/manpages/docbook.xsl
 
 all: $(BINS) $(MANS)
 
diff --git a/debian/control b/debian/control
index bf34038..68cdd5d 100644
--- a/debian/control
+++ b/debian/control
@@ -1,7 +1,7 @@
 Source: moreutils
 Section: utils
 Priority: optional
-Build-Depends: debhelper (>= 7), dpkg-dev (>= 1.9.0), docbook2x, docbook-xml, libxml2-utils
+Build-Depends: debhelper (>= 7), dpkg-dev (>= 1.9.0), docbook-xml, docbook-xsl, libxml2-utils, xsltproc
 Maintainer: Joey Hess <jo...@debian.org>
 Standards-Version: 3.9.2
 Vcs-Git: git://git.kitenet.net/moreutils
diff --git a/errno.docbook b/errno.docbook
index 49370ec..e045f7e 100644
--- a/errno.docbook
+++ b/errno.docbook
@@ -39,6 +39,8 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 	<refmeta>
 		<refentrytitle>errno</refentrytitle>
 		<manvolnum>1</manvolnum>
+		<refmiscinfo class="manual">moreutils</refmiscinfo>
+		<refmiscinfo class="source">moreutils</refmiscinfo>
 	</refmeta>
 
 	<refnamediv>
diff --git a/ifdata.docbook b/ifdata.docbook
index a57680b..47f4143 100644
--- a/ifdata.docbook
+++ b/ifdata.docbook
@@ -37,6 +37,8 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 	<refmeta>
 		<refentrytitle>ifdata</refentrytitle>
 		<manvolnum>1</manvolnum>
+		<refmiscinfo class="manual">moreutils</refmiscinfo>
+		<refmiscinfo class="source">moreutils</refmiscinfo>
 	</refmeta>
 
 	<refnamediv>
diff --git a/ifne.docbook b/ifne.docbook
index 0a8c01c..e9c4569 100644
--- a/ifne.docbook
+++ b/ifne.docbook
@@ -39,6 +39,8 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 	<refmeta>
 		<refentrytitle>ifne</refentrytitle>
 		<manvolnum>1</manvolnum>
+		<refmiscinfo class="manual">moreutils</refmiscinfo>
+		<refmiscinfo class="source">moreutils</refmiscinfo>
 	</refmeta>
 
 	<refnamediv>
diff --git a/isutf8.docbook b/isutf8.docbook
index 33bd3ac..f0d0dbe 100644
--- a/isutf8.docbook
+++ b/isutf8.docbook
@@ -39,6 +39,8 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 	<refmeta>
 		<refentrytitle>isutf8</refentrytitle>
 		<manvolnum>1</manvolnum>
+		<refmiscinfo class="manual">moreutils</refmiscinfo>
+		<refmiscinfo class="source">moreutils</refmiscinfo>
 	</refmeta>
 
 	<refnamediv>
diff --git a/lckdo.docbook b/lckdo.docbook
index 3bec67a..3fbf797 100644
--- a/lckdo.docbook
+++ b/lckdo.docbook
@@ -26,6 +26,8 @@ Public domain.
 	<refmeta>
 		<refentrytitle>lckdo</refentrytitle>
 		<manvolnum>1</manvolnum>
+		<refmiscinfo class="manual">moreutils</refmiscinfo>
+		<refmiscinfo class="source">moreutils</refmiscinfo>
 	</refmeta>
 
 	<refnamediv>
diff --git a/mispipe.docbook b/mispipe.docbook
index 6d0d758..cc966c8 100644
--- a/mispipe.docbook
+++ b/mispipe.docbook
@@ -39,6 +39,8 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 	<refmeta>
 		<refentrytitle>mispipe</refentrytitle>
 		<manvolnum>1</manvolnum>
+		<refmiscinfo class="manual">moreutils</refmiscinfo>
+		<refmiscinfo class="source">moreutils</refmiscinfo>
 	</refmeta>
 
 	<refnamediv>
diff --git a/parallel.docbook b/parallel.docbook
index b5d438d..bd490e2 100644
--- a/parallel.docbook
+++ b/parallel.docbook
@@ -25,6 +25,8 @@ Written by Joey Hess
 	<refmeta>
 		<refentrytitle>parallel</refentrytitle>
 		<manvolnum>1</manvolnum>
+		<refmiscinfo class="manual">moreutils</refmiscinfo>
+		<refmiscinfo class="source">moreutils</refmiscinfo>
 	</refmeta>
 
 	<refnamediv>
diff --git a/pee.docbook b/pee.docbook
index 850b9bd..239f17f 100644
--- a/pee.docbook
+++ b/pee.docbook
@@ -39,6 +39,8 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 	<refmeta>
 		<refentrytitle>pee</refentrytitle>
 		<manvolnum>1</manvolnum>
+		<refmiscinfo class="manual">moreutils</refmiscinfo>
+		<refmiscinfo class="source">moreutils</refmiscinfo>
 	</refmeta>
 
 	<refnamediv>
diff --git a/sponge.docbook b/sponge.docbook
index 474155e..07a2645 100644
--- a/sponge.docbook
+++ b/sponge.docbook
@@ -37,6 +37,8 @@ USA
 	<refmeta>
 		<refentrytitle>sponge</refentrytitle>
 		<manvolnum>1</manvolnum>
+		<refmiscinfo class="manual">moreutils</refmiscinfo>
+		<refmiscinfo class="source">moreutils</refmiscinfo>
 	</refmeta>
 
 	<refnamediv>
-- 
1.8.4.rc3

Reply via email to