From 0240b28668726f9dabf673063cabbf0914b65d12 Mon Sep 17 00:00:00 2001
From: Bruce Momjian <bruce@momjian.us>
Date: Fri, 20 Apr 2007 19:40:53 +0000
Subject: [PATCH] Add script major_release_split to simplify creating release
 notes for multiple releases.

---
 src/tools/major_release_split | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)
 create mode 100755 src/tools/major_release_split

diff --git a/src/tools/major_release_split b/src/tools/major_release_split
new file mode 100755
index 0000000000..37f8111ca3
--- /dev/null
+++ b/src/tools/major_release_split
@@ -0,0 +1,30 @@
+:
+
+# This program takes release.sgml and breaks it up into
+# per-major-release files that can be copied to the proper
+# CVS tree.
+
+[ "$#" -ne 1 ] && echo "Usage: $0 release_sgml_file" 1>&2 && exit 1
+
+FILE="$1"
+
+trap "rm -f /tmp/preamble" 0 1 2 3 15
+
+# Create the SGML preamble file
+# Copy from the start of the file to the first "sect1" heading
+grep -B 1000000 "`sed -n '/<sect1/p;/<sect1/q' \"$FILE\"`" "$FILE" | 
+# exclude last line
+sed -n '$q;p' > /tmp/preamble
+
+# Create per-major-release files
+# spin over all "sect1" releases to find major release numbers
+sed -n 's/^ *<sect1 id="release-\([^-]-[^-]\).*/\1/p' "$FILE" |
+uniq |
+while read RELEASE
+do
+	# copy preamble
+	cp /tmp/preamble "$RELEASE"-"`basename $FILE`"
+	# grab remainder of file for major release
+	grep -A 10000000 "<sect1 id=\"release-$RELEASE" "$FILE" >> "$RELEASE"-"`basename $FILE`"
+done
+