Add script major_release_split to simplify creating release notes for
multiple releases.
This commit is contained in:
parent
d4b832508a
commit
0240b28668
30
src/tools/major_release_split
Executable file
30
src/tools/major_release_split
Executable file
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user