Insert version number and date into documentation at build time. Bug 1318.
authorJeremy Harris <jgh146exb@wizmail.org>
Sat, 24 Nov 2012 22:51:55 +0000 (22:51 +0000)
committerJeremy Harris <jgh146exb@wizmail.org>
Sat, 24 Nov 2012 22:54:08 +0000 (22:54 +0000)
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.

doc/doc-docbook/Makefile
doc/doc-docbook/filter.xfpt
doc/doc-docbook/spec.xfpt
release-process/scripts/mk_exim_release.pl

index 7f3f071669d04663c9b86341c28dbbb68c0978c1..07eb322fa3003e7778fa17b1bdc106ffacf34a33 100644 (file)
@@ -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
index f235a278d1311e3cb10b46f9f7b607bee3d63345..e54909e94cd0a08ad500f1db79e4df9c56b680fd 100644 (file)
@@ -8,6 +8,7 @@
 
 .include stdflags
 .include stdmacs
+.include ./local_params
 .docbook
 
 . /////////////////////////////////////////////////////////////////////////////
 <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().
 
 
 
index 6b63062be49440008d5ffc81bfc6e4590ca41d58..9d2dc4b270b7286cc131433cbbd69e0430d6c668 100644 (file)
 .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;"
 <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).
index ffb9ecff6c439f58d88e872e4be76e590f6ee121..d29770d2745d7d7c0e70c58e2ff60da0a6b39bc7 100755 (executable)
@@ -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);