Commit 008fad58 authored by Tom Lane's avatar Tom Lane

Split the release notes into a separate file for each (active) major branch,

as per my recent proposal.  release.sgml itself is now just a stub that should
change rarely; ideally, only once per major release to add a new include line.
Most editing work will occur in the release-N.N.sgml files.  To update a back
branch for a minor release, just copy the appropriate release-N.N.sgml
file(s) into the back branch.

This commit doesn't change the end-product documentation at all, only the
source layout.  However, it makes it easy to start omitting ancient information
from newer branches' documentation, should we ever decide to do that.
parent c91bf01b
......@@ -2,7 +2,7 @@
#
# PostgreSQL documentation makefile
#
# $PostgreSQL: pgsql/doc/src/sgml/Makefile,v 1.114 2008/12/11 07:34:07 petere Exp $
# $PostgreSQL: pgsql/doc/src/sgml/Makefile,v 1.115 2009/05/02 20:17:19 tgl Exp $
#
#----------------------------------------------------------------------------
......@@ -173,13 +173,13 @@ JADE.tex.call = $(JADE) $(JADEFLAGS) $(SGMLINCLUDE) $(CATALOG) -d $(srcdir)/styl
# PostScript from TeX
postgres.ps:
$(error Invalid target; use postgres-A4.ps or postgres-US.ps as targets)
%.ps: %.dvi
dvips -o $@ $<
postgres.pdf:
$(error Invalid target; use postgres-A4.pdf or postgres-US.pdf as targets)
%.pdf: %.tex-pdf
@rm -f $*.aux $*.log $*.out
# multiple runs are necessary to create proper intra-document links
......@@ -208,12 +208,8 @@ INSTALL HISTORY regress_README: % : %.html
INSTALL.html: standalone-install.sgml installation.sgml version.sgml
$(JADE.text) -V nochunks standalone-install.sgml installation.sgml >$@
# remove links to main documentation
HISTORY.html: release.sgml
( echo '<!doctype appendix PUBLIC "-//OASIS//DTD DocBook V4.2//EN">'; \
cat $< ) | \
$(PERL) -p -0 -e 's/<link\s+linkend[^>]*>//g' | \
$(PERL) -p -e 's/<\/link>//g' >tempfile_HISTORY.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
......
<!-- $PostgreSQL: pgsql/doc/src/sgml/filelist.sgml,v 1.60 2009/03/25 23:20:01 tgl Exp $ -->
<!-- $PostgreSQL: pgsql/doc/src/sgml/filelist.sgml,v 1.61 2009/05/02 20:17:19 tgl Exp $ -->
<!entity history SYSTEM "history.sgml">
<!entity info SYSTEM "info.sgml">
......@@ -138,7 +138,16 @@
<!entity errcodes SYSTEM "errcodes.sgml">
<!entity features SYSTEM "features.sgml">
<!entity keywords SYSTEM "keywords.sgml">
<!entity release SYSTEM "release.sgml">
<!entity release-8.4 SYSTEM "release-8.4.sgml">
<!entity release-8.3 SYSTEM "release-8.3.sgml">
<!entity release-8.2 SYSTEM "release-8.2.sgml">
<!entity release-8.1 SYSTEM "release-8.1.sgml">
<!entity release-8.0 SYSTEM "release-8.0.sgml">
<!entity release-7.4 SYSTEM "release-7.4.sgml">
<!entity release-old SYSTEM "release-old.sgml">
<!entity acronyms SYSTEM "acronyms.sgml">
<!entity features-supported SYSTEM "features-supported.sgml">
......
#! /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.
#
# $PostgreSQL: pgsql/doc/src/sgml/generate_history.pl,v 1.1 2009/05/02 20:17:19 tgl Exp $
use strict;
my($srcdir) = shift;
defined($srcdir) || die "$0: missing required argument: srcdir\n";
my($infile) = shift;
defined($infile) || die "$0: missing required argument: inputfile\n";
# 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) = @_;
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);
}
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment