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

[PATCH] Simplfy the process of building man pages



Remove the shell template stage and build man pages directly from
SGML files. Add man-specific variables in configure.ac.

Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
---
 .gitignore                                    |  3 +-
 autogen.sh                                    |  1 -
 configure.ac                                  | 28 ++++++-----
 man/Makefile.am                               |  8 ++--
 man/mans.mk                                   | 48 -------------------
 ...-client.8.in.sgml => nbd-client.8.sgml.in} |  2 +-
 ...-server.1.in.sgml => nbd-server.1.sgml.in} |  6 +--
 ...-server.5.in.sgml => nbd-server.5.sgml.in} | 12 ++---
 ...-trdump.1.in.sgml => nbd-trdump.1.sgml.in} |  2 +-
 ...-trplay.1.in.sgml => nbd-trplay.1.sgml.in} |  2 +-
 man/{nbdtab.5.in.sgml => nbdtab.5.sgml.in}    |  2 +-
 11 files changed, 34 insertions(+), 80 deletions(-)
 delete mode 100644 man/mans.mk
 rename man/{nbd-client.8.in.sgml => nbd-client.8.sgml.in} (99%)
 rename man/{nbd-server.1.in.sgml => nbd-server.1.sgml.in} (98%)
 rename man/{nbd-server.5.in.sgml => nbd-server.5.sgml.in} (99%)
 rename man/{nbd-trdump.1.in.sgml => nbd-trdump.1.sgml.in} (98%)
 rename man/{nbd-trplay.1.in.sgml => nbd-trplay.1.sgml.in} (97%)
 rename man/{nbdtab.5.in.sgml => nbdtab.5.sgml.in} (99%)

diff --git a/.gitignore b/.gitignore
index 994a8fa..048c6fd 100644
--- a/.gitignore
+++ b/.gitignore
@@ -39,8 +39,7 @@ INSTALL
 depcomp
 install-sh
 configure
-man/*.sh
-man/*.sh.in
+man/*.[1-9].sgml
 man/manpage.log
 make-integrityhuge
 nbd-trdump
diff --git a/autogen.sh b/autogen.sh
index a518857..807283a 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -1,5 +1,4 @@
 #!/bin/sh
 set -ex
-make -C man -f mans.mk nbd-server.1.sh.in nbd-server.5.sh.in nbd-client.8.sh.in nbd-trdump.1.sh.in nbd-trplay.1.sh.in nbdtab.5.sh.in
 make -C systemd -f Makefile.am nbd@.service.sh.in
 exec autoreconf -f -i
diff --git a/configure.ac b/configure.ac
index ed2aaf5..e413fff 100644
--- a/configure.ac
+++ b/configure.ac
@@ -329,14 +329,23 @@ AC_ARG_ENABLE([manpages],
 AM_CONDITIONAL(MANPAGES, test "x$enable_manpages" != "xno")
 AS_IF([test "x$enable_manpages" != "xno"], [
 	AC_SUBST([MAN_CONFIG_FILES],["\
-		man/nbd-client.8.sh \
-		man/nbd-server.5.sh \
-		man/nbd-server.1.sh \
-		man/nbd-trdump.1.sh \
-		man/nbd-trplay.1.sh \
-		man/nbdtab.5.sh \
+		man/nbd-client.8.sgml \
+		man/nbd-server.5.sgml \
+		man/nbd-server.1.sgml \
+		man/nbd-trdump.1.sgml \
+		man/nbd-trplay.1.sgml \
+		man/nbdtab.5.sgml \
 		"])
 	])
+MAN_PREFIX="$prefix"
+test "x$MAN_PREFIX" = "xNONE" && MAN_PREFIX="$ac_default_prefix"
+AC_SUBST([MAN_PREFIX])
+MAN_EXEC_PREFIX=$(eval echo "$exec_prefix")
+test "x$MAN_EXEC_PREFIX" = "xNONE" && MAN_EXEC_PREFIX="$MAN_PREFIX"
+AC_SUBST([MAN_EXEC_PREFIX])
+MAN_SYSCONFDIR=$(eval echo "$sysconfdir")
+test "x$MAN_SYSCONFDIR" = "xNONE/etc" && MAN_SYSCONFDIR="$MAN_PREFIX/etc"
+AC_SUBST([MAN_SYSCONFDIR])
 
 AC_HEADER_SYS_WAIT
 AC_TYPE_OFF_T
@@ -357,12 +366,7 @@ AC_CONFIG_FILES([Makefile
 		 tests/code/Makefile
 		 tests/run/Makefile
 		 tests/parse/Makefile
-                 man/nbd-client.8.sh
-                 man/nbd-server.5.sh
-                 man/nbd-server.1.sh
-                 man/nbd-trdump.1.sh
-                 man/nbd-trplay.1.sh
-                 man/nbdtab.5.sh
+		 $MAN_CONFIG_FILES
 		 systemd/Makefile
 		 systemd/nbd@.service.sh
 		])
diff --git a/man/Makefile.am b/man/Makefile.am
index 1e543ae..737a680 100644
--- a/man/Makefile.am
+++ b/man/Makefile.am
@@ -1,9 +1,9 @@
 if MANPAGES
 man_MANS = nbd-server.1 nbd-server.5 nbd-client.8 nbd-trdump.1 nbd-trplay.1 nbdtab.5
 CLEANFILES = manpage.links manpage.refs
-DISTCLEANFILES = nbd-server.1 nbd-client.8 nbd-server.5 nbd-trdump.1 nbd-trplay.1 nbdtab.5
-MAINTAINERCLEANFILES = nbd-server.1.sh.in nbd-client.8.sh.in nbd-server.5.sh.in nbd-trdump.1.sh.in nbd-trplay.1.sh.in nbdtab.5.sh.in
-EXTRA_DIST = nbd-server.1.in.sgml nbd-client.8.in.sgml nbd-server.5.in.sgml nbd-trdump.1.in.sgml nbd-trplay.1.in.sgml nbdtab.5.in.sgml nbd-server.1.sh.in nbd-server.5.sh.in nbd-client.8.sh.in nbd-trdump.1.sh.in nbd-trdump.1.sh.in nbdtab.5.sh.in sh.tmpl
+DISTCLEANFILES = nbd-server.1 nbd-server.1.sgml nbd-client.8 nbd-client.8.sgml nbd-server.5 nbd-server.5.sgml nbd-trdump.1 nbd-trdump.1.sgml nbd-trplay.1 nbd-trplay.1.sgml nbdtab.5 nbdtab.5.sgml
+EXTRA_DIST = nbd-server.1.sgml.in nbd-client.8.sgml.in nbd-server.5.sgml.in nbd-trdump.1.sgml.in nbd-trplay.1.sgml.in nbdtab.5.sgml.in
 
-include $(srcdir)/mans.mk
+%: %.sgml
+	docbook2man $<
 endif
diff --git a/man/mans.mk b/man/mans.mk
deleted file mode 100644
index e22c9c1..0000000
--- a/man/mans.mk
+++ /dev/null
@@ -1,48 +0,0 @@
-nbd-server.1: nbd-server.1.sh
-	sh nbd-server.1.sh > nbd-server.1
-nbd-server.5: nbd-server.5.sh
-	sh nbd-server.5.sh > nbd-server.5
-nbd-client.8: nbd-client.8.sh
-	sh nbd-client.8.sh > nbd-client.8
-nbd-trdump.1: nbd-trdump.1.sh
-	sh nbd-trdump.1.sh > nbd-trdump.1
-nbd-trplay.1: nbd-trplay.1.sh
-	sh nbd-trplay.1.sh > nbd-trplay.1
-nbdtab.5: nbdtab.5.sh
-	sh nbdtab.5.sh > nbdtab.5
-nbd-server.1.sh.in: nbd-server.1.in.sgml sh.tmpl
-	LC_ALL=C docbook2man nbd-server.1.in.sgml
-	cat sh.tmpl > nbd-server.1.sh.in
-	cat NBD-SERVER.1 >> nbd-server.1.sh.in
-	echo "EOF" >> nbd-server.1.sh.in
-	rm NBD-SERVER.1
-nbd-client.8.sh.in: nbd-client.8.in.sgml sh.tmpl
-	LC_ALL=C docbook2man nbd-client.8.in.sgml
-	cat sh.tmpl > nbd-client.8.sh.in
-	cat NBD-CLIENT.8 >> nbd-client.8.sh.in
-	echo "EOF" >> nbd-client.8.sh.in
-	rm NBD-CLIENT.8
-nbd-server.5.sh.in: nbd-server.5.in.sgml sh.tmpl
-	LC_ALL=C docbook2man nbd-server.5.in.sgml
-	cat sh.tmpl > nbd-server.5.sh.in
-	cat NBD-SERVER.5 >> nbd-server.5.sh.in
-	echo "EOF" >> nbd-server.5.sh.in
-	rm NBD-SERVER.5
-nbd-trdump.1.sh.in: nbd-trdump.1.in.sgml sh.tmpl
-	LC_ALL=C docbook2man nbd-trdump.1.in.sgml
-	cat sh.tmpl > nbd-trdump.1.sh.in
-	cat NBD-TRDUMP.1 >> nbd-trdump.1.sh.in
-	echo "EOF" >> nbd-trdump.1.sh.in
-	rm NBD-TRDUMP.1
-nbd-trplay.1.sh.in: nbd-trplay.1.in.sgml sh.tmpl
-	LC_ALL=C docbook2man nbd-trplay.1.in.sgml
-	cat sh.tmpl > nbd-trplay.1.sh.in
-	cat NBD-TRPLAY.1 >> nbd-trplay.1.sh.in
-	echo "EOF" >> nbd-trplay.1.sh.in
-	rm NBD-TRPLAY.1
-nbdtab.5.sh.in: nbdtab.5.in.sgml sh.tmpl
-	LC_ALL=C docbook2man nbdtab.5.in.sgml
-	cat sh.tmpl > nbdtab.5.sh.in
-	cat NBDTAB.5 >> nbdtab.5.sh.in
-	echo "EOF" >> nbdtab.5.sh.in
-	rm NBDTAB.5
diff --git a/man/nbd-client.8.in.sgml b/man/nbd-client.8.sgml.in
similarity index 99%
rename from man/nbd-client.8.in.sgml
rename to man/nbd-client.8.sgml.in
index d8106e4..4b15d8c 100644
--- a/man/nbd-client.8.in.sgml
+++ b/man/nbd-client.8.sgml.in
@@ -19,7 +19,7 @@ manpage.1: manpage.sgml
   <!ENTITY dhsection   "<manvolnum>8</manvolnum>">
   <!ENTITY dhemail     "<email>wouter@debian.org</email>">
   <!ENTITY dhusername  "Wouter Verhelst">
-  <!ENTITY dhucpackage "<refentrytitle>NBD-CLIENT</refentrytitle>">
+  <!ENTITY dhucpackage "<refentrytitle>nbd-client</refentrytitle>">
   <!ENTITY dhpackage   "nbd-client">
 
   <!ENTITY debian      "<productname>Debian GNU/Linux</productname>">
diff --git a/man/nbd-server.1.in.sgml b/man/nbd-server.1.sgml.in
similarity index 98%
rename from man/nbd-server.1.in.sgml
rename to man/nbd-server.1.sgml.in
index 612f9a5..bfdd74d 100644
--- a/man/nbd-server.1.in.sgml
+++ b/man/nbd-server.1.sgml.in
@@ -19,7 +19,7 @@ manpage.1: manpage.sgml
   <!ENTITY dhsection   "<manvolnum>1</manvolnum>">
   <!ENTITY dhemail     "<email>wouter@debian.org</email>">
   <!ENTITY dhusername  "Wouter Verhelst">
-  <!ENTITY dhucpackage "<refentrytitle>NBD-SERVER</refentrytitle>">
+  <!ENTITY dhucpackage "<refentrytitle>nbd-server</refentrytitle>">
   <!ENTITY dhpackage   "nbd-server">
 
   <!ENTITY debian      "<productname>Debian GNU/Linux</productname>">
@@ -86,7 +86,7 @@ manpage.1: manpage.sgml
     were a local filesystem.</para>
 
     <para><command>&dhpackage;</command> implements some security
-    through a file called "$sysconfdir/nbd-server/allow" (by default; a
+    through a file called "@MAN_SYSCONFDIR@/nbd-server/allow" (by default; a
     different file can be chosen with the '-l' option or through a
     config file specification). This file must list the IP-addresses or
     network masks of clients that are allowed to connect. If it does not
@@ -204,7 +204,7 @@ manpage.1: manpage.sgml
 	<listitem>
 	  <para>Specify configuration file. The default configuration
 	    file, if this parameter is not specified, is
-	    <filename>$sysconfdir/nbd-server/config</filename>.</para>
+	    <filename>@MAN_SYSCONFDIR@/nbd-server/config</filename>.</para>
 	  <para>Note that the configuration file is always parsed and
 	    the entries in the file used, even if an extra server is
 	    specified on the command line. To disable the configuration
diff --git a/man/nbd-server.5.in.sgml b/man/nbd-server.5.sgml.in
similarity index 99%
rename from man/nbd-server.5.in.sgml
rename to man/nbd-server.5.sgml.in
index 48e2740..581e351 100644
--- a/man/nbd-server.5.in.sgml
+++ b/man/nbd-server.5.sgml.in
@@ -19,8 +19,8 @@ manpage.1: manpage.sgml
   <!ENTITY dhsection   "<manvolnum>5</manvolnum>">
   <!ENTITY dhemail     "<email>wouter@debian.org</email>">
   <!ENTITY dhusername  "Wouter Verhelst">
-  <!ENTITY dhucpackage "<refentrytitle>NBD-SERVER</refentrytitle>">
-  <!ENTITY dhpackage   "$sysconfdir/nbd-server/config">
+  <!ENTITY dhucpackage "<refentrytitle>nbd-server</refentrytitle>">
+  <!ENTITY dhpackage   "@MAN_SYSCONFDIR@/nbd-server/config">
 
   <!ENTITY debian      "<productname>Debian GNU/Linux</productname>">
   <!ENTITY gnu         "<acronym>GNU</acronym>">
@@ -63,7 +63,7 @@ manpage.1: manpage.sgml
     <para>This file allows to configure the nbd-server.</para>
 
     <para>While
-      <filename>$sysconfdir/nbd-server/config</filename> is the default
+      <filename>@MAN_SYSCONFDIR@/nbd-server/config</filename> is the default
       configuration file, this can be varied with the <option>-C</option>
       option to <command>nbd-server</command>(1).
     </para>
@@ -421,7 +421,7 @@ manpage.1: manpage.sgml
 	  <para>Corresponds to the <option>-l</option> option on the
 	    command line. However, note that for the command line, the
 	    default is
-	    <filename>$sysconfdir/nbd-server/allow</filename>.
+	    <filename>@MAN_SYSCONFDIR@/nbd-server/allow</filename>.
 	  </para>
 	</listitem>
       </varlistentry>
@@ -1064,9 +1064,9 @@ manpage.1: manpage.sgml
           group = nbd
       [export]
           exportname = /export/blkdev
-          authfile = $sysconfdir/nbd-server/allow
+          authfile = @MAN_SYSCONFDIR@/nbd-server/allow
     </programlisting>
-    <para>With $sysconfdir/nbd-server/allow containing the following:</para>
+    <para>With @MAN_SYSCONFDIR@/nbd-server/allow containing the following:</para>
     <programlisting>
       127.0.0.1
       192.168.0.0/8
diff --git a/man/nbd-trdump.1.in.sgml b/man/nbd-trdump.1.sgml.in
similarity index 98%
rename from man/nbd-trdump.1.in.sgml
rename to man/nbd-trdump.1.sgml.in
index 75d2dc9..dfc9135 100644
--- a/man/nbd-trdump.1.in.sgml
+++ b/man/nbd-trdump.1.sgml.in
@@ -19,7 +19,7 @@ manpage.1: manpage.sgml
   <!ENTITY dhsection   "<manvolnum>1</manvolnum>">
   <!ENTITY dhemail     "<email>wouter@debian.org</email>">
   <!ENTITY dhusername  "Wouter Verhelst">
-  <!ENTITY dhucpackage "<refentrytitle>NBD-TRDUMP</refentrytitle>">
+  <!ENTITY dhucpackage "<refentrytitle>nbd-trdump</refentrytitle>">
   <!ENTITY dhpackage   "nbd-trdump">
 
   <!ENTITY debian      "<productname>Debian GNU/Linux</productname>">
diff --git a/man/nbd-trplay.1.in.sgml b/man/nbd-trplay.1.sgml.in
similarity index 97%
rename from man/nbd-trplay.1.in.sgml
rename to man/nbd-trplay.1.sgml.in
index f713131..297f3eb 100644
--- a/man/nbd-trplay.1.in.sgml
+++ b/man/nbd-trplay.1.sgml.in
@@ -19,7 +19,7 @@ manpage.1: manpage.sgml
   <!ENTITY dhsection   "<manvolnum>1</manvolnum>">
   <!ENTITY dhemail     "<email>manfred@de.bosch.com</email>">
   <!ENTITY dhusername  "Manfred Spraul">
-  <!ENTITY dhucpackage "<refentrytitle>NBD-TRPLAY</refentrytitle>">
+  <!ENTITY dhucpackage "<refentrytitle>nbd-trplay</refentrytitle>">
   <!ENTITY dhpackage   "nbd-trplay">
 
   <!ENTITY debian      "<productname>Debian GNU/Linux</productname>">
diff --git a/man/nbdtab.5.in.sgml b/man/nbdtab.5.sgml.in
similarity index 99%
rename from man/nbdtab.5.in.sgml
rename to man/nbdtab.5.sgml.in
index 806803c..dde75bb 100644
--- a/man/nbdtab.5.in.sgml
+++ b/man/nbdtab.5.sgml.in
@@ -20,7 +20,7 @@ manpage.1: manpage.sgml
   <!ENTITY dhemail     "<email>wouter@debian.org</email>">
   <!ENTITY dhusername  "Wouter Verhelst">
   <!ENTITY dhucpackage "<refentrytitle>NBDTAB</refentrytitle>">
-  <!ENTITY dhpackage   "$sysconfdir/nbdtab">
+  <!ENTITY dhpackage   "@MAN_SYSCONFDIR@/nbdtab">
 
   <!ENTITY debian      "<productname>Debian GNU/Linux</productname>">
   <!ENTITY gnu         "<acronym>GNU</acronym>">
-- 
2.39.2


Reply to: