[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: