diff --git a/src/tools/major_release_split b/src/tools/major_release_split new file mode 100755 index 0000000000000000000000000000000000000000..37f8111ca33ab46a5ae6bd59bbce74abe463a4a0 --- /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 +