From 725ba51f2c1eb87aca90dec7deb0f17e6f4d8adb Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <peter_e@gmx.net>
Date: Tue, 4 Nov 2008 14:58:22 +0000
Subject: [PATCH] Experimental new support for building man pages via
 docbook2x, an XSL-based tool chain.  With some polishing, this might help us
 get rid of our ancient and crufty man page build mechanism.

---
 doc/src/sgml/Makefile           | 16 +++++++++++++++-
 doc/src/sgml/stylesheet-man.xsl | 16 ++++++++++++++++
 2 files changed, 31 insertions(+), 1 deletion(-)
 create mode 100644 doc/src/sgml/stylesheet-man.xsl

diff --git a/doc/src/sgml/Makefile b/doc/src/sgml/Makefile
index 49ac9460919..a530cc9f55f 100644
--- a/doc/src/sgml/Makefile
+++ b/doc/src/sgml/Makefile
@@ -2,7 +2,7 @@
 #
 # PostgreSQL documentation makefile
 #
-# $PostgreSQL: pgsql/doc/src/sgml/Makefile,v 1.109 2008/10/31 14:35:30 petere Exp $
+# $PostgreSQL: pgsql/doc/src/sgml/Makefile,v 1.110 2008/11/04 14:58:22 petere Exp $
 #
 #----------------------------------------------------------------------------
 
@@ -269,6 +269,20 @@ MAKEINFO = makeinfo
 .SUFFIXES:
 
 
+##
+## Experimental man page building through docbook2x
+##
+
+# called docbook2man on non-Debian
+DOCBOOK2MAN = docbook2x-man
+
+manx: postgres.xml stylesheet-man.xsl
+	$(DOCBOOK2MAN) -s $(srcdir)/stylesheet-man.xsl --string-param default-manpage-section=$(DEFAULTSECTION)  $<
+	$(mkinstalldirs) man1 man$(DEFAULTSECTION)
+	mv *.1 man1/
+	mv *.$(DEFAULTSECTION) man$(DEFAULTSECTION)/
+
+
 ##
 ## Check
 ##
diff --git a/doc/src/sgml/stylesheet-man.xsl b/doc/src/sgml/stylesheet-man.xsl
new file mode 100644
index 00000000000..2d37a42f1a5
--- /dev/null
+++ b/doc/src/sgml/stylesheet-man.xsl
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                version="1.0">
+
+<xsl:import href="http://docbook2x.sourceforge.net/latest/xslt/man/docbook.xsl"/>
+
+<!--
+  Man pages don't really support a third section level, but this
+  makes our man pages work OK and matches the behavior of the sgmlspl
+  style.
+ -->
+<xsl:template match="refsect3">
+  <xsl:call-template name="SS-section" />
+</xsl:template>
+
+</xsl:stylesheet>
-- 
GitLab