]> granicus.if.org Git - postgresql/commitdiff
Don't generate plain-text HISTORY and src/test/regress/README anymore.
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 11 Feb 2014 01:48:23 +0000 (20:48 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 11 Feb 2014 01:48:23 +0000 (20:48 -0500)
Providing this information as plain text was doubtless worth the trouble
ten years ago, but it seems likely that hardly anyone reads it in this
format anymore.  And the effort required to maintain these files (in the
form of extra-complex markup rules in the relevant parts of the SGML
documentation) is significant.  So, let's stop doing that and rely solely
on the other documentation formats.

Per discussion, the plain-text INSTALL instructions might still be worth
their keep, so we continue to generate that file.

Rather than remove HISTORY and src/test/regress/README from distribution
tarballs entirely, replace them with simple stub files that tell the reader
where to find the relevant documentation.  This is mainly to avoid possibly
breaking packaging recipes that expect these files to exist.

Back-patch to all supported branches, because simplifying the markup
requirements for release notes won't help much unless we do it in all
branches.

12 files changed:
GNUmakefile.in
HISTORY [new file with mode: 0644]
README
README.git
doc/src/sgml/.gitignore
doc/src/sgml/Makefile
doc/src/sgml/docguide.sgml
doc/src/sgml/generate_history.pl [deleted file]
doc/src/sgml/release.sgml
doc/src/sgml/standalone-install.sgml
src/test/regress/README [new file with mode: 0644]
src/tools/RELEASE_CHANGES

index 50fae4128aa32379936cb35d7393ee584cc35af1..07286d5b70c5ef44966520fd363d617f72079cf7 100644 (file)
@@ -105,10 +105,8 @@ distdir:
          fi || exit; \
        done
        $(MAKE) -C $(distdir) distprep
-       $(MAKE) -C $(distdir)/doc/src/sgml/ HISTORY INSTALL regress_README
-       cp $(distdir)/doc/src/sgml/HISTORY $(distdir)/
+       $(MAKE) -C $(distdir)/doc/src/sgml/ INSTALL
        cp $(distdir)/doc/src/sgml/INSTALL $(distdir)/
-       cp $(distdir)/doc/src/sgml/regress_README $(distdir)/src/test/regress/README
        $(MAKE) -C $(distdir) distclean
        rm -f $(distdir)/README.git
 
diff --git a/HISTORY b/HISTORY
new file mode 100644 (file)
index 0000000..360c7f6
--- /dev/null
+++ b/HISTORY
@@ -0,0 +1,6 @@
+Release notes for all versions of PostgreSQL can be found on-line at
+http://www.postgresql.org/docs/devel/static/release.html
+
+In a distribution file set, release notes for the current version can be
+found prebuilt under doc/src/sgml/html/.  Visit the index.html file with
+an HTML browser, then consult the "Release Notes" appendix.
diff --git a/README b/README
index 49d55af5f6bfc75d78e7b6defdb7aa4ac1e1be63..302028e9928eedf698ff711a7add77ac4ad7b9b1 100644 (file)
--- a/README
+++ b/README
@@ -17,8 +17,7 @@ See the file INSTALL for instructions on how to build and install
 PostgreSQL.  That file also lists supported operating systems and
 hardware platforms and contains information regarding any other
 software packages that are required to build or run the PostgreSQL
-system.  Changes between all PostgreSQL releases are recorded in the
-file HISTORY.  Copyright and license information can be found in the
+system.  Copyright and license information can be found in the
 file COPYRIGHT.  A comprehensive documentation set is included in this
 distribution; it can be read as described in the installation
 instructions.
index d5378b4573c2f6b1a71d4ae03016a56886e671c9..0bf2b56cb3456035975b8492e8ad5bcc7b86d36c 100644 (file)
@@ -1,12 +1,12 @@
 (This file does not appear in release tarballs.)
 
-In a release or snapshot tarball of PostgreSQL, documentation files named
-INSTALL and HISTORY will appear in this directory.  However, these files are
-not stored in git and so will not be present if you are using a git checkout.
-If you are using git, you can view the most recent install instructions at:
+In a release or snapshot tarball of PostgreSQL, a documentation file named
+INSTALL will appear in this directory.  However, this file is not stored in
+git and so will not be present if you are using a git checkout.
+
+If you are using a git checkout, you can view the most recent installation
+instructions at:
        http://www.postgresql.org/docs/devel/static/installation.html
-and the current release notes at:
-       http://www.postgresql.org/docs/devel/static/release.html
 
 Users compiling from git will also need compatible versions of Bison, Flex,
 and Perl, as discussed in the install documentation.  These programs are not
index e1b84b490fedf7ddaf1faba574c3ee67c768b326..2f0329c15f9c57af392b1b817c3defbc964f8645 100644 (file)
@@ -6,9 +6,7 @@
 /man7/
 /man-stamp
 # Other popular build targets
-/HISTORY
 /INSTALL
-/regress_README
 /postgres-US.pdf
 /postgres-A4.pdf
 /postgres.html
@@ -22,9 +20,7 @@
 /HTML.index
 # Assorted byproducts from building the above
 /postgres.xml
-/HISTORY.html
 /INSTALL.html
-/regress_README.html
 /postgres-US.aux
 /postgres-US.log
 /postgres-US.out
index e6c8a49df8782bcfe5473ded9c9242cb0e8668eb..6c8489dfaa02c9800a0afc0cdc0436d0f72b5a13 100644 (file)
@@ -209,33 +209,20 @@ JADE.text = $(JADE) $(JADEFLAGS) $(SGMLINCLUDE) $(CATALOG) -d stylesheet.dsl -i
 ICONV = iconv
 LYNX = lynx
 
-# The release notes may contain non-ASCII characters (for contributor
-# names), which lynx converts to the encoding determined by the
-# current locale.  The get output that is deterministic and easily
-# readable by everyone, we make lynx produce LATIN1 and then convert
-# that to ASCII with transliteration for the non-ASCII characters.
-# Official releases are currently built on FreeBSD, which has limited
+# The documentation may contain non-ASCII characters (mostly for
+# contributor names), which lynx converts to the encoding determined
+# by the current locale.  To get text output that is deterministic and
+# easily readable by everyone, we make lynx produce LATIN1 and then
+# convert that to ASCII with transliteration for the non-ASCII characters.
+# Official releases were historically built on FreeBSD, which has limited
 # locale support and is very picky about locale name spelling.  The
 # below has been finely tuned to run on FreeBSD and Linux/glibc.
-INSTALL HISTORY regress_README: % : %.html
+INSTALL: % : %.html
        $(PERL) -p -e 's/<H(1|2)$$/<H\1 align=center/g' $< | LC_ALL=en_US.ISO8859-1 $(LYNX) -force_html -dump -nolist -stdin | $(ICONV) -f latin1 -t us-ascii//TRANSLIT > $@
 
 INSTALL.html: standalone-install.sgml installation.sgml version.sgml
        $(JADE.text) -V nochunks standalone-install.sgml installation.sgml > $@
 
-HISTORY.html: generate_history.pl $(wildcard $(srcdir)/release*.sgml)
-       $(PERL) $< "$(srcdir)" release.sgml >tempfile_HISTORY.sgml
-       $(JADE.text) -V nochunks tempfile_HISTORY.sgml > $@
-       rm tempfile_HISTORY.sgml
-
-regress_README.html: regress.sgml
-       ( echo '<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook V4.2//EN" ['; \
-         echo '<!ENTITY % standalone-ignore "IGNORE">'; \
-         echo '<!ENTITY % standalone-include "INCLUDE"> ]>'; \
-         cat $< ) >tempfile_regress_README.sgml
-       $(JADE.text) -V nochunks tempfile_regress_README.sgml > $@
-       rm tempfile_regress_README.sgml
-
 
 ##
 ## XSLT processing
@@ -363,13 +350,13 @@ check-tabs:
 # This allows removing some files from the distribution tarballs while
 # keeping the dependencies satisfied.
 .SECONDARY: postgres.xml $(GENERATED_SGML) HTML.index
-.SECONDARY: INSTALL.html HISTORY.html regress_README.html
+.SECONDARY: INSTALL.html
 .SECONDARY: %-A4.tex-ps %-US.tex-ps %-A4.tex-pdf %-US.tex-pdf
 
 clean:
 # text --- these are shipped, but not in this directory
-       rm -f INSTALL HISTORY regress_README
-       rm -f INSTALL.html HISTORY.html regress_README.html
+       rm -f INSTALL
+       rm -f INSTALL.html
 # single-page output
        rm -f postgres.html postgres.txt
 # print
index 4036771ec515c7b4439ddb7fc01c1998a436769b..546ec67188db51827387e77c5e433a28ead83247 100644 (file)
@@ -927,26 +927,19 @@ save_size.pdfjadetex = 15000
    <title>Plain Text Files</title>
 
    <para>
-    Several files are distributed as plain text, for reading during
-    the installation process. The <filename>INSTALL</filename> file
+    The installation instructions are also distributed as plain text,
+    in case they are needed in a situation where better reading tools
+    are not available.  The <filename>INSTALL</filename> file
     corresponds to <xref linkend="installation">, with some minor
     changes to account for the different context.  To recreate the
     file, change to the directory <filename>doc/src/sgml</filename>
-    and enter <userinput>gmake INSTALL</userinput>.  This will create
-    a file <filename>INSTALL.html</filename> that can be saved as text
-    with <productname>Netscape Navigator</productname> and put into
-    the place of the existing file.
-    <productname>Netscape</productname> seems to offer the best
-    quality for <acronym>HTML</acronym> to text conversions (over
-    <application>lynx</application> and
-    <application>w3m</application>).
+    and enter <userinput>gmake INSTALL</userinput>.
    </para>
 
    <para>
-    The file <filename>HISTORY</filename> can be created similarly,
-    using the command <userinput>gmake HISTORY</userinput>.  For the
-    file <filename>src/test/regress/README</filename> the command is
-    <userinput>gmake regress_README</userinput>.
+    In the past, the release notes and regression testing instructions
+    were also distributed as plain text, but this practice has been
+    discontinued.
    </para>
   </sect2>
 
diff --git a/doc/src/sgml/generate_history.pl b/doc/src/sgml/generate_history.pl
deleted file mode 100644 (file)
index a6c0bd7..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-#! /usr/bin/perl -w
-
-# generate_history.pl -- flatten release notes for use as HISTORY file
-#
-# Usage: generate_history.pl srcdir release.sgml >output.sgml
-#
-# The main point of this script is to strip out <link> references, which
-# generally point into the rest of the documentation and so can't be used
-# in a standalone build of the release notes.  To make sure this is done
-# everywhere, we have to fold in the sub-files of the release notes.
-#
-# doc/src/sgml/generate_history.pl
-
-use strict;
-
-my $srcdir = shift;
-die "$0: missing required argument: srcdir\n" if !defined($srcdir);
-my $infile = shift;
-die "$0: missing required argument: inputfile\n" if !defined($infile);
-
-# Emit DOCTYPE header so that the output is a self-contained SGML document
-print "<!DOCTYPE appendix PUBLIC \"-//OASIS//DTD DocBook V4.2//EN\">\n";
-
-process_file($infile);
-
-exit 0;
-
-sub process_file {
-    my $filename = shift;
-
-    local *FILE;               # need a local filehandle so we can recurse
-
-    my $f = $srcdir . '/' . $filename;
-    open(FILE, $f) || die "could not read $f: $!\n";
-
-    while (<FILE>) {
-       # Recursively expand sub-files of the release notes
-       if (m/^&(release-.*);$/) {
-           process_file($1 . ".sgml");
-           next;
-       }
-
-       # Remove <link ...> tags, which might span multiple lines
-       while (m/<link/) {
-           if (s/<link\s+linkend[^>]*>//) {
-               next;
-           }
-           # incomplete tag, so slurp another line
-           $_ .= <FILE>;
-       }
-
-       # Remove </link> too
-       s|</link>||g;
-
-       print;
-    }
-    close(FILE);
-}
index 15f273c7405a03a91ec589b03260286418acb25c..766d3e30ee0b399447c32f88bca9553acfb6af2f 100644 (file)
@@ -29,9 +29,7 @@ non-ASCII characters            convert to HTML4 entity (&) escapes
 
 wrap long lines
 
-For new features, add links to the documentation sections.  Use </link>
-not just </> so that generate_history.pl can remove it, so HISTORY.html
-can be created without links to the main documentation.  Don't use <xref>.
+For new features, add links to the documentation sections.
 
 -->
 
@@ -66,7 +64,6 @@ can be created without links to the main documentation.  Don't use <xref>.
 
 <!--
   To add a new major-release series, add an entry here and in filelist.sgml.
-  Follow the naming convention, or you'll confuse generate_history.pl.
 
   The reason for splitting the release notes this way is so that appropriate
   subsets can easily be copied into back branches.
index c94b397a9d8969557f719e8a9d16f87d1d1b0d96..1942f9dc4c9c04a404b8a59641cb37661d7b95ba 100644 (file)
@@ -2,21 +2,7 @@
 
 <!--
 This file helps in generating the INSTALL text file that lives in the
-top level directory of the distribution. The exact process is like
-this:
-
-1. Paste together with installation.sgml
-
-2. Process with jade to HTML (use -V nochunks)
-
-3. Remove "Chapter 1" heading
-
-4. Save as text file in Netscape
-
-5. Put in place of old INSTALL file
-
-Running 'make INSTALL' in the doc/src/sgml directory will do 1 through
-3 for you.
+top level directory of the distribution.
 -->
 
 <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook V4.2//EN" [
diff --git a/src/test/regress/README b/src/test/regress/README
new file mode 100644 (file)
index 0000000..0cbf3b6
--- /dev/null
@@ -0,0 +1,3 @@
+Documentation concerning how to run these regression tests and interpret
+the results can be found in the PostgreSQL manual, in the chapter
+"Regression Tests".
index 8e54793f1df048f649718d3bb63a2172ab578f33..56065b4da46306880b95e8688f92559c19527e29 100644 (file)
@@ -10,7 +10,6 @@ For All Releases (major, minor, beta, RC)
        o update doc/src/sgml/release.sgml
        o run spellchecker on result
        o add SGML markup
-       o check if 'gmake HISTORY.html' works for <link>s
 
 * Update timezone data to match latest zic database and new
   Windows releases, if any (see src/timezone/README)