~ruther/guix-local

5b6c9ca5203b5fe675422a6ef8972e5e11b1e140 — Bruno Victal 2 years ago 7e4ddd2
gnu: docbook-utils: Import patches from debian.

* gnu/packages/docbook.scm (docbook-utils)[source]: Import patches from debian.
Drop snippet for patching OpenSP and OpenJade.
[native-inputs]: Add autoconf, automake and libtool.
* gnu/packages/patches/docbook-utils-documentation-edits.patch: New file.
* gnu/packages/patches/docbook-utils-escape-characters.patch: Ditto.
* gnu/packages/patches/docbook-utils-remove-jade-sp.patch: Ditto.
* gnu/packages/patches/docbook-utils-respect-refentry-for-name.patch: Ditto.
* gnu/packages/patches/docbook-utils-source-date-epoch.patch: Ditto.
* gnu/packages/patches/docbook-utils-use-date-element.patch: Ditto.
* gnu/local.mk: Register them.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
M gnu/local.mk => gnu/local.mk +6 -0
@@ 1124,6 1124,12 @@ dist_patch_DATA =						\
  %D%/packages/patches/diffutils-fix-signal-processing.patch	\
  %D%/packages/patches/directfb-davinci-glibc-228-compat.patch	\
  %D%/packages/patches/dkimproxy-add-ipv6-support.patch		\
  %D%/packages/patches/docbook-utils-documentation-edits.patch	\
  %D%/packages/patches/docbook-utils-escape-characters.patch	\
  %D%/packages/patches/docbook-utils-remove-jade-sp.patch	\
  %D%/packages/patches/docbook-utils-respect-refentry-for-name.patch	\
  %D%/packages/patches/docbook-utils-source-date-epoch.patch	\
  %D%/packages/patches/docbook-utils-use-date-element.patch	\
  %D%/packages/patches/doc++-include-directives.patch		\
  %D%/packages/patches/doc++-segfault-fix.patch			\
  %D%/packages/patches/dovecot-opensslv3.patch			\

M gnu/packages/docbook.scm => gnu/packages/docbook.scm +15 -8
@@ 773,18 773,20 @@ DB2LaTeX.")
              (sha256
               (base32
                "1scj5vgw1xz872pq54a89blcxqqm11p90yzv8a9mqq57x27apyj8"))
              (patches
               (search-patches "docbook-utils-documentation-edits.patch"
                               "docbook-utils-escape-characters.patch"
                               "docbook-utils-remove-jade-sp.patch"
                               "docbook-utils-respect-refentry-for-name.patch"
                               "docbook-utils-use-date-element.patch"
                               "docbook-utils-source-date-epoch.patch"))
              (modules '((guix build utils)))
              (snippet
               #~(begin
                   ;; Patch build system.
                   (substitute* (find-files "." "\\.in$")
                   (substitute* (find-files "." "\\.(in|am)$")
                     ;; Do not hard-code SGML_CATALOG_FILES.
                     ((".*SGML_CATALOG_FILES=/etc/sgml/catalog.*") "")
                     ;; Use OpenSP and OpenJade.
                     (("\\bjade\\b")
                      "openjade")
                     (("\\bnsgmls\\b")
                      "onsgmls"))
                     ((".*SGML_CATALOG_FILES=/etc/sgml/catalog.*") ""))

                   ;; Do not override the SGML_CATALOG_FILES environment
                   ;; variable.


@@ 804,7 806,12 @@ DB2LaTeX.")
                     (("CONVERT=/usr/bin/")
                      "CONVERT=")
                     (("\\[ -x /usr/bin/([^ ]+) \\]" _ command)
                      (format #f "command -v ~a > /dev/null" command)))))))
                      (format #f "command -v ~a > /dev/null" command)))

                   ;; This forces autoreconf to be invoked, needed for patches
                   ;; to be effective.
                   (delete-file  "configure")))))
    (native-inputs (list autoconf automake libtool))
    (build-system gnu-build-system)
    ;; Propagated for convenience.  All these tools are used at run time to
    ;; provide the complete functionality of the docbook-utils commands.

A gnu/packages/patches/docbook-utils-documentation-edits.patch => gnu/packages/patches/docbook-utils-documentation-edits.patch +102 -0
@@ 0,0 1,102 @@
# Source: <https://sources.debian.org/patches/docbook-utils/0.6.14-4/spellingtypo.patch/>

Description: Fix some typos in man pages
Author: Mathieu Malaterre <malat@debian.org>

Index: docbook-utils-0.6.14/doc/man/docbook2man-spec.pl.1
===================================================================
--- docbook-utils-0.6.14.orig/doc/man/docbook2man-spec.pl.1	2012-05-09 18:39:17.932819095 +0200
+++ docbook-utils-0.6.14/doc/man/docbook2man-spec.pl.1	2012-05-09 18:39:24.780818845 +0200
@@ -17,7 +17,7 @@
 .SH "DESCRIPTION"
 .PP
 \fBdocbook2man\fR is a sgmlspl spec file that produced man
-pages (using the -man macros) from DocBook RefEntry markup.
+pages (using the \-man macros) from DocBook RefEntry markup.
 .PP
 The program reads ESIS produced by nsgmls (or other SGML parsers) from
 standard input.  Markup not found in RefEntry is discarded.
Index: docbook-utils-0.6.14/doc/man/frontend-spec.7
===================================================================
--- docbook-utils-0.6.14.orig/doc/man/frontend-spec.7	2012-05-09 18:41:45.172813778 +0200
+++ docbook-utils-0.6.14/doc/man/frontend-spec.7	2012-05-09 18:42:03.176813129 +0200
@@ -10,7 +10,7 @@
 .SH "DESCRIPTION"
 .PP
 \fBjw\fR(1) calls frontends like
-\fIfrontends/docbook\fR to get the informations
+\fIfrontends/docbook\fR to get the information
 specific to a given input format. The frontend knows which information
 to return from the first command line parameter. It gets all necessary
 data via environment variables ready to use.
Index: docbook-utils-0.6.14/doc/man/jw.1
===================================================================
--- docbook-utils-0.6.14.orig/doc/man/jw.1	2012-05-09 18:39:35.612818456 +0200
+++ docbook-utils-0.6.14/doc/man/jw.1	2012-05-09 18:40:51.736815708 +0200
@@ -142,7 +142,7 @@
 The following options apply to the conversion script:
 .TP
 \fB   -f \fIfrontend\fB | --frontend \fIfrontend\fB  \fR
-Allows to specify another frontend than default \fIdocbook\fR\&.
+Allows one to specify another frontend than default \fIdocbook\fR\&.
 The list of currently available frontends is:
 .RS
 .TP
@@ -156,13 +156,13 @@
 .RE
 .TP
 \fB   -b \fIbackend\fB | --backend \fIbackend\fB  \fR
-Allows to specify another backend than default
+Allows one to specify another backend than default
 \fIHTML\fR\&. The list of currently available
 backends is:
 .RS
 .TP
 \fB\fIdvi\fB\fR
-Converts to DVI (DeVice Independant
+Converts to DVI (DeVice Independent
 files) by calling \fBJade\fR or
 \fBOpenJade\fR\&.
 .TP
@@ -210,7 +210,7 @@
 .RE
 .TP
 \fB   -c \fIfile\fB | --cat \fIfile\fB  \fR
-Allows to use an extra SGML Open Catalog that will list
+Allows one to use an extra SGML Open Catalog that will list
 other files like customization style sheets, adaptations to the
 DocBook Document Type Definition, special character entities,
 etc. This catalog is added to the list of catalogs determined
@@ -241,7 +241,7 @@
 are specified on the command line.
 .TP
 \fB   -d \fIfile\fB|default|none | --dsl \fIfile\fB|default|none  \fR
-Allows to use a customized style sheet instead
+Allows one to use a customized style sheet instead
 of the default one.
 
 A "target" starting with a hash mark "#" can be appended
Index: docbook-utils-0.6.14/doc/man/sgmldiff.1
===================================================================
--- docbook-utils-0.6.14.orig/doc/man/sgmldiff.1	2012-05-09 18:41:13.316814927 +0200
+++ docbook-utils-0.6.14/doc/man/sgmldiff.1	2012-05-09 18:41:38.032814038 +0200
@@ -17,7 +17,7 @@
 
 .SH "DESCRIPTION"
 .PP
-This perl script allows to determine the structural differences
+This perl script allows one to determine the structural differences
 between two SGML files. It compares the files, regardless of what
 is in between the tags, to only focus on the markup. Its output
 is similar to \fBdiff\fR(1)\&.
@@ -62,8 +62,8 @@
 Lines 5 to 7 of the first file have been changed
 into lines 8 to 10 of the second line.
 In addition to those summaries, the lines of the first file are
-shown preceeded by '<' and the lines of the second file are
-shown preceeded by '>".
+shown preceded by '<' and the lines of the second file are
+shown preceded by '>".
 .SH "OPTIONS"
 .PP
 Here is the list of actions that can be requested to

A gnu/packages/patches/docbook-utils-escape-characters.patch => gnu/packages/patches/docbook-utils-escape-characters.patch +36 -0
@@ 0,0 1,36 @@
# Source: <https://sources.debian.org/patches/docbook-utils/0.6.14-4/bug_528334.patch/>

Description: incorrectly strips whitespace (patch included)
 In the previous upload, docbook2man was patched to escape the special
 characters . and ' at the beginning of a line (see #399947).
 Unfortunately that patch was incorrect -- as well as escaping the special
 characters, it also removes all whitespace from the beginning of
 affected lines.  As a result, if you are in a block where whitespace
 matters (such as <screen>...</screen>) then the output is now incorrect.
 
 This is very easy to fix -- just match the whitespace and preserve it,
 instead of tossing it away.  The full patch (just two lines) is included
 below.
Author: Ben Burton <bab@debian.org>
Forwarded: not-needed
Bug-Debian: http://bugs.debian.org/528334

Edit by Bruno Victal <mirai@makinata.eu>:
 Patch was edited so that it could be applied against the original
 docbook-utils-0.6.14 sources.

Index: docbook-utils-0.6.14/helpers/docbook2man-spec.pl
===================================================================
--- docbook-utils-0.6.14.orig/helpers/docbook2man-spec.pl	2012-05-09 18:59:42.584774885 +0200
+++ docbook-utils-0.6.14/helpers/docbook2man-spec.pl	2012-05-09 19:00:34.788773002 +0200
@@ -1212,8 +1212,8 @@
 	$_[0] =~ s/\\/\\\\/g;
 
 	# Escape dots and single quotes in column 1
-	$_[0] =~ s/^\./\\\&\./;
-	$_[0] =~ s/^\'/\\\&\'/;
+	$_[0] =~ s/^([ \t]*)\./$1\\\&\./;
+	$_[0] =~ s/^([ \t]*)\'/$1\\\&\'/;
 
 	# In non-'pre'-type elements:
 	if(!$nocollapse_whitespace) {

A gnu/packages/patches/docbook-utils-remove-jade-sp.patch => gnu/packages/patches/docbook-utils-remove-jade-sp.patch +216 -0
@@ 0,0 1,216 @@
# Source: <https://sources.debian.org/patches/docbook-utils/0.6.14-4/remove-jade-sp.patch/>
Description: Change dependencies on jade and sp to openjade and opensp
Author: Neil Roeth <neil@debian.org>
Last-Update: 2016-07-24

Edit by Bruno Victal <mirai@makinata.eu>:
  Patch was edited so that it could be applied against the original
  docbook-utils-0.6.14 sources.
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
--- a/doc/HTML/Makefile.am
+++ b/doc/HTML/Makefile.am
@@ -1,4 +1,4 @@
-htmldir	  = $(docdir)/html/docbook-utils-@VERSION@
+htmldir	  = $(docdir)/html
 html_DATA = api.html \
 	backend-spec.html \
 	docbook2man.html \
@@ -25,6 +25,6 @@
 		$(top_srcdir)/doc/refentry/sgmldiff.sgml
 	SGML_CATALOG_FILES=/etc/sgml/catalog \
 	SGML_SEARCH_PATH=$(top_srcdir):$(top_srcdir)/doc:.. \
-		jade -t sgml -i html -d $(top_srcdir)/docbook-utils.dsl\#html \
+		openjade -t sgml -i html -d $(top_srcdir)/docbook-utils.dsl\#html \
 			-V '%use-id-as-filename%' $<
 
--- a/doc/man/Makefile.am
+++ b/doc/man/Makefile.am
@@ -12,5 +12,5 @@
 		$(top_srcdir)/helpers/docbook2man-spec.pl
 	SGML_CATALOG_FILES=/etc/sgml/catalog \
 	SGML_SEARCH_PATH=$(top_srcdir)/doc:.. \
-		nsgmls $< | \
+		onsgmls $< | \
 		sgmlspl $(top_srcdir)/helpers/docbook2man-spec.pl
--- a/backends/man.in
+++ b/backends/man.in
@@ -7,8 +7,8 @@
 TMPDIR=`mktemp -d /tmp/man.XXXXXX` || \
  { echo >&2 "man backend: could not create secure temporary directory"; exit 1;}
 trap 'rm -rf "${TMPDIR}"' EXIT
-nsgmls $SGML_FILE > "${TMPDIR}/nsgmls.tmp"
-sgmlspl $HELPER <"${TMPDIR}/nsgmls.tmp" 2>"${TMPDIR}/errs"
+onsgmls $SGML_FILE > "${TMPDIR}/onsgmls.tmp"
+sgmlspl $HELPER <"${TMPDIR}/onsgmls.tmp" 2>"${TMPDIR}/errs"
 if [ $? -ne 0 ]
 then
   cat "${TMPDIR}/errs"
@@ -18,7 +18,7 @@
 if grep unresolved "${TMPDIR}/errs" >/dev/null 2>&1
 then
   echo "Resolving references.."
-  sgmlspl $HELPER <"${TMPDIR}/nsgmls.tmp"
+  sgmlspl $HELPER <"${TMPDIR}/onsgmls.tmp"
   if [ $? -ne 0 ]
   then exit 1
   fi
--- a/backends/texi.in
+++ b/backends/texi.in
@@ -3,7 +3,7 @@
 # This program is under GPL license. See LICENSE file for details.
 
 # Convert to texinfo
-nsgmls $SGML_FILE | sgmlspl $SGML_BASE_DIR/docbook/utils-@VERSION@/helpers/docbook2texi-spec.pl >$SGML_FILE_NAME.texi
+onsgmls $SGML_FILE | sgmlspl docbook2texi-spec.pl >$SGML_FILE_NAME.texi
 if [ $? -ne 0 ]
 then exit 1
 fi
--- a/bin/sgmldiff.in
+++ b/bin/sgmldiff.in
@@ -22,13 +22,13 @@
 
 use strict;
 use integer;
-use vars qw($nsgmls $errors $errorlog $VERSION);
+use vars qw($onsgmls $errors $errorlog $VERSION);
 use Getopt::Long 2.01;
 
 $VERSION = 1.03;
 
-my $nsgmls;
-$nsgmls = "@jade_bindir@/nsgmls";
+my $onsgmls;
+$onsgmls = "@jade_bindir@/onsgmls";
 
 #----------------------------------------------------------------------
 # TODO:
@@ -37,7 +37,7 @@
 # - Wait for suggestions ;-)
 # 
 # Note: the input file need not be valid, nor is it necessary to have 
-# the DTDs.  nsgmls always returns a structure.
+# the DTDs.  onsgmls always returns a structure.
 #----------------------------------------------------------------------
 
 # Get file name
@@ -141,11 +141,11 @@
 unlink $diff2;
 
 #---------------------------------------------------------------------
-# Process nsgmls output: keep all stuff that is important for the
+# Process onsgmls output: keep all stuff that is important for the
 # structure comparison.  Make two structures: one that is diffed
 # (without text) (DIFF) and one that is used to present the
 # differences to the user (@full).  For more info: see SP
-# documentation, nsgmls output format.
+# documentation, onsgmls output format.
 
 sub prepare {
     my($filename,$todiffname) = @_;
@@ -161,7 +161,7 @@
     my @line_numbered = ();
     my $line = 0;
 
-    open(ESIS, "$nsgmls -l $errors $errorlog -onotation-sysid -oid -oempty $filename | ");  #-oentity generates strange output; ? -ononsgml
+    open(ESIS, "$onsgmls -l $errors $errorlog -onotation-sysid -oid -oempty $filename | ");  #-oentity generates strange output; ? -ononsgml
     open(DIFF, "> $todiffname");
     while (<ESIS>) {
 	chomp $_;
@@ -375,7 +375,7 @@
 };
 
 #----------------------------------------------------------------------
-# Normalise data text from nsgmls (i.e. don't print the escaped text).
+# Normalise data text from onsgmls (i.e. don't print the escaped text).
 sub normalise_text {
     my($string,$prefix) = @_;
     my $result = "$prefix";
--- a/configure.in
+++ b/configure.in
@@ -21,7 +21,7 @@
 
 dnl Checks for programs.
 jade_bindirs="/usr/bin /usr/local/bin"
-AC_FIND_PROGRAM(nsgmls, $jade_bindirs, jade_bindir)
+AC_FIND_PROGRAM(onsgmls, $jade_bindirs, jade_bindir)
 AC_SUBST(jade_bindir)
 
 perl_bindirs="/usr/bin /usr/local/bin"
--- a/doc/refentry/docbook2man-spec.pl.sgml
+++ b/doc/refentry/docbook2man-spec.pl.sgml
@@ -19,7 +19,7 @@
 <!-- docbook2man-spec.pl BREAKAGE HERE! -->
 
 <CmdSynopsis>
-<Command>nsgmls</command>
+<Command>onsgmls</command>
 <Arg><Replaceable>sgml document</replaceable></Arg>
 <Command>| sgmlspl</command>
 <Arg choice=req>docbook2man-spec.pl</arg>
@@ -35,7 +35,7 @@
 </Para>
 
 <Para>
-The program reads ESIS produced by nsgmls (or other SGML parsers) from
+The program reads ESIS produced by onsgmls (or other SGML parsers) from
 standard input.  Markup not found in RefEntry is discarded.
 </Para>
 
--- a/doc/refentry/docbook2texi-spec.pl.sgml
+++ b/doc/refentry/docbook2texi-spec.pl.sgml
@@ -20,7 +20,7 @@
 <!-- docbook2man-spec.pl BREAKAGE HERE! -->
 
 <CmdSynopsis>
-<Command>nsgmls</command>
+<Command>onsgmls</command>
 <Arg><Replaceable>sgml document</replaceable></Arg>
 <Command>| sgmlspl</command>
 <Arg choice=req>docbook2texi-spec.pl</arg>
@@ -37,7 +37,7 @@
 </Para>
 
 <Para>
-The program reads ESIS produced by nsgmls (or other SGML parsers) from
+The program reads ESIS produced by onsgmls (or other SGML parsers) from
 standard input.  Currently the document element must be <SGMLTag>Book</sgmltag>,
 otherwise the results are undefined.
 </Para>
--- a/doc/refentry/jw.sgml
+++ b/doc/refentry/jw.sgml
@@ -630,7 +630,7 @@
     <manvolnum>1</manvolnum></citerefentry>,
     <citerefentry><refentrytitle>install-catalog</refentrytitle>
     <manvolnum>8</manvolnum></citerefentry>,
-    <citerefentry><refentrytitle>nsgmls</refentrytitle>
+    <citerefentry><refentrytitle>onsgmls</refentrytitle>
     <manvolnum>1</manvolnum></citerefentry>, <ulink
     url="http://sources.redhat.com/docbook-tools/">docbook-utils
     homepage</ulink>.</para>
--- a/doc/refentry/sgmldiff.sgml
+++ b/doc/refentry/sgmldiff.sgml
@@ -238,10 +238,10 @@
         <glossterm>
 <!-- Next line  is a hack to force a paragraph break in the man-page. -->
 <cmdsynopsis> <command></command> </cmdsynopsis>
-          <citerefentry> <refentrytitle>nsgmls</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>
+          <citerefentry> <refentrytitle>onsgmls</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>
         </glossterm>
         <glossdef>
-          <para>a base component of <application>Jade</application> DSSSL engine</para>
+          <para>a base component of <application>OpenJade</application> DSSSL engine</para>
         </glossdef>
       </glossentry>
 
--- a/helpers/docbook2man-spec.pl
+++ b/helpers/docbook2man-spec.pl
@@ -7,7 +7,7 @@
 The SGMLSpm package from CPAN.  This contains the sgmlspl script which
 is used to grok this file.  Use it like this:
 
-nsgmls some-docbook-document.sgml | sgmlspl docbook2man-spec.pl
+onsgmls some-docbook-document.sgml | sgmlspl docbook2man-spec.pl
 
 =head1 DESCRIPTION
 

A gnu/packages/patches/docbook-utils-respect-refentry-for-name.patch => gnu/packages/patches/docbook-utils-respect-refentry-for-name.patch +36 -0
@@ 0,0 1,36 @@
# Source: <https://sources.debian.org/patches/docbook-utils/0.6.14-4/bug_394511.patch/>

Description: docbook2man should translate the NAME section according to the REFENTRY's lang attribute
 Currently, docbook2man translates the NAME section according to the lang
 attribute provided to the REFNAMEDIV tag.
 When a lang attribute is specified in the REFENTRY tag and no lang
 attribute is specified with the REFNAMEDIV, the lang attribute of the
 REFENTRY should be used.
Author: Nicolas François <nicolas.francois@centraliens.net>
Forwarded: not-needed
Bug-Debian: http://bugs.debian.org/394511

Index: docbook-utils-0.6.14/helpers/docbook2man-spec.pl
===================================================================
--- docbook-utils-0.6.14.orig/helpers/docbook2man-spec.pl	2012-05-09 18:55:53.276783163 +0200
+++ docbook-utils-0.6.14/helpers/docbook2man-spec.pl	2012-05-09 18:58:04.792778418 +0200
@@ -359,11 +359,14 @@
 # NAME section
 man_sgml('<REFNAMEDIV>', sub {
 	my %words = qw( fr NOM es NOMBRE de NAME );
-	if (defined($_[0]->attribute('LANG')->value)) {
-	my $id = $_[0]->attribute('LANG')->value;
-	my $ad = $words{$id};
-	output("\n.SH $ad\n");}
-	else {output("\n.SH NAME\n");}
+	# Use the REFNAMEDIV's lang attribute, and default to the
+	# REFENTRY's lang attribute.
+	my $lang = $_[0]->attribute('LANG')->value;
+	$lang = $manpage_lang unless defined $lang;
+	if (defined($lang) and defined $words{lc($lang)}) {
+		my $ad = $words{lc($lang)};
+		output("\n.SH $ad\n");}
+	else {	output("\n.SH NAME\n");}
 });
 
 sgml('<REFNAME>', \&save_cdata);

A gnu/packages/patches/docbook-utils-source-date-epoch.patch => gnu/packages/patches/docbook-utils-source-date-epoch.patch +31 -0
@@ 0,0 1,31 @@
# Source: <https://sources.debian.org/patches/docbook-utils/0.6.14-4/support_source_date_epoch.patch/>

Author: Reiner Herrmann <reiner@reiner-h.de>
Description: Support SOURCE_DATE_EPOCH for timestamps
 To allow generating documents in a reproducible way,
 allow overriding the timestamp through the environment.
 .
 See also: https://reproducible-builds.org/specs/source-date-epoch/
Bug-Debian: https://bugs.debian.org/800797

--- a/helpers/docbook2man-spec.pl
+++ b/helpers/docbook2man-spec.pl
@@ -57,6 +57,7 @@
 use SGMLS;			# Use the SGMLS package.
 use SGMLS::Output;		# Use stack-based output.
 use SGMLS::Refs;
+use POSIX qw(strftime setlocale LC_TIME);
 
 ########################################################################
 # SGMLSPL script produced automatically by the script sgmlspl.pl
@@ -279,6 +280,10 @@
 _END_BANNER
 
 	my $date = `date "+%d %B %Y"`;
+	if ($ENV{SOURCE_DATE_EPOCH}) {
+		setlocale(LC_TIME, "C");
+		$date = strftime("%d %B %Y", gmtime($ENV{SOURCE_DATE_EPOCH} || time));
+	}
 	my $manpage_date = $manpage_date || $date ;
 
 	output '.TH "';

A gnu/packages/patches/docbook-utils-use-date-element.patch => gnu/packages/patches/docbook-utils-use-date-element.patch +63 -0
@@ 0,0 1,63 @@
# Source: <https://sources.debian.org/patches/docbook-utils/0.6.14-4/bug_214982.patch/>

Description: patch to get the <date> from the sgml file
 For the moment, docbook2man doesn't use the tag date in <date> </date>
 to but `date "+%d %B %Y"`, and thus depend on the current locale.
 
 <refentry>
   <docinfo>
     <date>06 September 2003</>
   </docinfo>
 </refentry>
 
 A patch against /usr/share/perl5/sgmlspl-specs/docbook2man-spec.pl
 allows to use the date written in the source SGML file (which can be
 localized) instead of the current date.
 
 However, if no correct date tag is present in the SGML file, the date
 written in the manpage will depend on the current locale.
Author: Simon Paillard <simon.paillard@resel.enst-bretagne.fr>
Forwarded: not-needed
Bug-Debian: http://bugs.debian.org/214982

Index: docbook-utils-0.6.14/helpers/docbook2man-spec.pl
===================================================================
--- docbook-utils-0.6.14.orig/helpers/docbook2man-spec.pl	2012-05-09 18:27:28.000000000 +0200
+++ docbook-utils-0.6.14/helpers/docbook2man-spec.pl	2012-05-09 18:55:53.276783163 +0200
@@ -278,8 +278,9 @@
 .\\" etc. to Steve Cheng <steve\@ggi-project.org>.
 _END_BANNER
 
-	my $manpage_date = `date "+%d %B %Y"`;
-		
+	my $date = `date "+%d %B %Y"`;
+	my $manpage_date = $manpage_date || $date ;
+
 	output '.TH "';
 	
 	# If the title is not mixed-case, convention says to
@@ -292,7 +293,7 @@
 	}
 	
 	output  '" "', fold_string($manpage_sect), 
-		'" "', fold_string(`date "+%d %B %Y"`), 
+		'" "', fold_string($manpage_date), 
 		'" "', $manpage_misc, 
 		'" "', $manpage_manual, 
 		"\"\n";
@@ -568,6 +569,15 @@
 sgml('</ATTRIBUTION>', sub { $_[0]->parent->ext->{'attribution'} = pop_output(); });
 
 
+sgml('<DATE>', sub {
+	save_cdata();
+});
+sgml('</DATE>', sub { 
+	$manpage_date = fold_string(pop_output());
+	$raw_cdata--;
+});
+
+
 # IGNORE.
 sgml('<DOCINFO>', sub { push_output('nul'); });
 sgml('</DOCINFO>', sub { pop_output(); });