mirror of https://github.com/postgres/postgres
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.REL8_5_ALPHA1_BRANCH
parent
c91bf01bc5
commit
008fad58fe
@ -0,0 +1,58 @@ |
||||
#! /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); |
||||
} |
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Loading…
Reference in new issue