summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Harris <jgh146exb@wizmail.org>2012-11-24 22:51:55 +0000
committerJeremy Harris <jgh146exb@wizmail.org>2012-11-24 22:54:08 +0000
commit2aee48d6f2a6526fffe18cd619fde9693f400034 (patch)
tree57a1a470b4b8b1527af4934a7ff5e43f5471632f
parent2369bf9c1f5337d3ea493670d214fefda00c8e66 (diff)
Insert version number and date into documentation at build time. Bug 1318.
Write a temp file with macro definitions from the makefile, and include it from the doc sources. Pass the version to make from the perl script. It is still needed to manually update the previous-version number and changebar indicators (.new/.wen) manually.
-rw-r--r--doc/doc-docbook/Makefile16
-rw-r--r--doc/doc-docbook/filter.xfpt21
-rw-r--r--doc/doc-docbook/spec.xfpt27
-rwxr-xr-xrelease-process/scripts/mk_exim_release.pl2
4 files changed, 47 insertions, 19 deletions
diff --git a/doc/doc-docbook/Makefile b/doc/doc-docbook/Makefile
index 7f3f07166..07eb322fa 100644
--- a/doc/doc-docbook/Makefile
+++ b/doc/doc-docbook/Makefile
@@ -23,10 +23,22 @@ exim.8: spec.xml x2man
########################################################################
+.PHONY: local_params
+local_params:
+ echo .macro version > $@
+ echo $(EXIM_VER) >> $@
+ echo .endmacro >> $@
+ echo .macro fulldate >> $@
+ date "+%d %b %Y" >> $@
+ echo .endmacro >> $@
+ echo .macro year >> $@
+ date "+%Y" >> $@
+ echo .endmacro >> $@
+
############################### FILTER #################################
-filter.xml: filter.xfpt
+filter.xml: local_params filter.xfpt
xfpt filter.xfpt
filter-pr.xml: filter.xml Pre-xml
@@ -104,7 +116,7 @@ filter.info: filter-info.xml
################################ SPEC ##################################
-spec.xml: spec.xfpt
+spec.xml: local_params spec.xfpt
xfpt spec.xfpt
spec-pr.xml: spec.xml Pre-xml
diff --git a/doc/doc-docbook/filter.xfpt b/doc/doc-docbook/filter.xfpt
index f235a278d..e54909e94 100644
--- a/doc/doc-docbook/filter.xfpt
+++ b/doc/doc-docbook/filter.xfpt
@@ -8,6 +8,7 @@
.include stdflags
.include stdmacs
+.include ./local_params
.docbook
. /////////////////////////////////////////////////////////////////////////////
@@ -59,15 +60,23 @@
<bookinfo>
<title>Exim's interfaces to mail filtering</title>
<titleabbrev>Exim filtering</titleabbrev>
-<date>23 November 2009</date>
+<date>
+.fulldate
+</date>
<author><firstname>Philip</firstname><surname>Hazel</surname></author>
<authorinitials>PH</authorinitials>
<revhistory><revision>
- <revnumber>4.80</revnumber>
- <date>17 May 2012</date>
+ <revnumber>
+.version
+ </revnumber>
+ <date>
+.fulldate
+ </date>
<authorinitials>PH</authorinitials>
</revision></revhistory>
-<copyright><year>2010</year><holder>University of Cambridge</holder></copyright>
+<copyright><year>
+.year
+ </year><holder>University of Cambridge</holder></copyright>
</bookinfo>
.literal off
@@ -77,8 +86,8 @@
.chapter "Forwarding and filtering in Exim" "CHAPforandfilt"
This document describes the user interfaces to Exim's in-built mail filtering
-facilities, and is copyright &copy; University of Cambridge 2007. It
-corresponds to Exim version 4.80.
+facilities, and is copyright &copy; University of Cambridge &year(). It
+corresponds to Exim version &version().
diff --git a/doc/doc-docbook/spec.xfpt b/doc/doc-docbook/spec.xfpt
index 6b63062be..9d2dc4b27 100644
--- a/doc/doc-docbook/spec.xfpt
+++ b/doc/doc-docbook/spec.xfpt
@@ -41,12 +41,11 @@
.book
. /////////////////////////////////////////////////////////////////////////////
-. These definitions set some parameters and save some typing. Remember that
-. the <bookinfo> element must also be updated for each new edition.
+. These definitions set some parameters and save some typing.
. /////////////////////////////////////////////////////////////////////////////
.set previousversion "4.80"
-.set version "4.80"
+.include ./local_params
.set ACL "access control lists (ACLs)"
.set I "&nbsp;&nbsp;&nbsp;&nbsp;"
@@ -170,15 +169,23 @@
<bookinfo>
<title>Specification of the Exim Mail Transfer Agent</title>
<titleabbrev>The Exim MTA</titleabbrev>
-<date>17 May 2012</date>
+<date>
+.fulldate
+</date>
<author><firstname>Exim</firstname><surname>Maintainers</surname></author>
<authorinitials>EM</authorinitials>
<revhistory><revision>
- <revnumber>4.80</revnumber>
- <date>17 May 2012</date>
+ <revnumber>
+.version
+ </revnumber>
+ <date>
+.fulldate
+ </date>
<authorinitials>EM</authorinitials>
</revision></revhistory>
-<copyright><year>2012</year><holder>University of Cambridge</holder></copyright>
+<copyright><year>
+.year
+ </year><holder>University of Cambridge</holder></copyright>
</bookinfo>
.literal off
@@ -367,7 +374,7 @@ contributors.
.new
.cindex "documentation"
-This edition of the Exim specification applies to version &version; of Exim.
+This edition of the Exim specification applies to version &version() of Exim.
Substantive changes from the &previousversion; edition are marked in some
renditions of the document; this paragraph is so marked if the rendition is
capable of showing a change indicator.
@@ -1618,7 +1625,7 @@ for only a short time (see &%timeout_frozen_after%& and
.section "Unpacking" "SECID23"
Exim is distributed as a gzipped or bzipped tar file which, when unpacked,
creates a directory with the name of the current release (for example,
-&_exim-&version;_&) into which the following files are placed:
+&_exim-&version()_&) into which the following files are placed:
.table2 140pt
.irow &_ACKNOWLEDGMENTS_& "contains some acknowledgments"
@@ -2314,7 +2321,7 @@ INFO_DIRECTORY, as described in section &<<SECTinsinfdoc>>& below.
For the utility programs, old versions are renamed by adding the suffix &_.O_&
to their names. The Exim binary itself, however, is handled differently. It is
installed under a name that includes the version number and the compile number,
-for example &_exim-&version;-1_&. The script then arranges for a symbolic link
+for example &_exim-&version()-1_&. The script then arranges for a symbolic link
called &_exim_& to point to the binary. If you are updating a previous version
of Exim, the script takes care to ensure that the name &_exim_& is never absent
from the directory (as seen by other processes).
diff --git a/release-process/scripts/mk_exim_release.pl b/release-process/scripts/mk_exim_release.pl
index ffb9ecff6..d29770d27 100755
--- a/release-process/scripts/mk_exim_release.pl
+++ b/release-process/scripts/mk_exim_release.pl
@@ -191,7 +191,7 @@ sub build_documentation {
my $context = shift;
my $docdir = File::Spec->catdir( $context->{release_tree}, 'doc', 'doc-docbook' );
- system("cd '$docdir' && ./OS-Fixups && make everything") == 0
+ system("cd '$docdir' && ./OS-Fixups && make EXIM_VER=$context->{release} everything") == 0
|| croak "Doc build failed";
copy_docbook_files($context);