mirror of
git://sourceware.org/git/bzip2.git
synced 2024-11-23 11:43:28 +08:00
475173c2d0
And remove both pages from the repository since the will now be generated by make dist. Also don't try to update them in prepare-release.sh script.
83 lines
2.7 KiB
Bash
Executable File
83 lines
2.7 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Script to run to prepare a new release.
|
|
# It will update the release number and tell you to update the
|
|
# CHANGES file and to double check everything looks before doing
|
|
# the release commit and tagging.
|
|
|
|
# Afterwards you probably want to run release-update.sh to upload
|
|
# the release and update the website at https://sourceware.org/bzip2/
|
|
|
|
# Any error is fatal
|
|
set -e
|
|
|
|
# We take one argument, the version (e.g. 1.0.7)
|
|
if [ $# -ne 1 ]; then
|
|
echo "$0 <version> (e.g. 1.0.7)"
|
|
exit 1
|
|
fi
|
|
|
|
LANG=C
|
|
VERSION="$1"
|
|
DATE=$(date +"%d %B %Y")
|
|
DAY=$(date +"%d")
|
|
MONTH=$(date +"%B")
|
|
SHORTMONTH=$(date +"%b")
|
|
YEAR=$(date +"%Y")
|
|
|
|
# Replace the version strings and date ranges in the comments
|
|
VER_PREFIX="bzip2/libbzip2 version "
|
|
sed -i -e "s@${VER_PREFIX}[0-9].*@${VER_PREFIX}${VERSION} of ${DATE}@" \
|
|
-e "s@ (C) \([0-9]\+\)-[0-9]\+ @ (C) \1-$YEAR @" \
|
|
CHANGES LICENSE Makefile* README* *.c *.h *.pl *.sh
|
|
|
|
# Add an entry to the README
|
|
printf "%2s %8s %s\n" "$DAY" "$MONTH" "$YEAR (bzip2, version $VERSION)" \
|
|
>> README
|
|
|
|
# Update manual
|
|
sed -i -e "s@ENTITY bz-version \".*\"@ENTITY bz-version \"$VERSION\"@" \
|
|
-e "s@ENTITY bz-date \".*\"@ENTITY bz-date \"$DAY $MONTH $YEAR\"@" \
|
|
-e "s@ENTITY bz-lifespan \"\([0-9]\+\)-[0-9]\+\"@ENTITY bz-lifespan \"\1-$YEAR\"@"\
|
|
entities.xml
|
|
|
|
# bzip2.1 should really be generated from the manual.xml, but currently
|
|
# isn't, so explicitly change it here too.
|
|
sed -i -e "s@This manual page pertains to version .* of@This manual page pertains to version $VERSION of@" \
|
|
-e "s@sorting file compressor, v.*@sorting file compressor, v$VERSION@" \
|
|
bzip2.1
|
|
|
|
# Update sources. All sources, use bzlib_private.
|
|
# Except bzip2recover, which embeds a version string...
|
|
sed -i -e "s@^#define BZ_VERSION \".*\"@#define BZ_VERSION \"${VERSION}, ${DAY}-${SHORTMONTH}-${YEAR}\"@" \
|
|
bzlib_private.h
|
|
sed -i -e "s@\"bzip2recover .*: extracts blocks from damaged@\"bzip2recover ${VERSION}: extracts blocks from damaged@" \
|
|
bzip2recover.c
|
|
|
|
# And finally update the version/dist/so_name in the Makefiles.
|
|
sed -i -e "s@^DISTNAME=bzip2-.*@DISTNAME=bzip2-${VERSION}@" \
|
|
Makefile
|
|
sed -i -e "s@libbz2\.so\.[0-9]\.[0-9]\.[0-9]*@libbz2\.so\.${VERSION}@" \
|
|
Makefile-libbz2_so
|
|
|
|
echo "Now make sure the diff looks correct:"
|
|
echo " git diff"
|
|
echo
|
|
echo "And make sure there is a $VERSION section in the CHANGES file."
|
|
echo
|
|
echo "Double check:"
|
|
echo " make clean && make dist && make clean && make -f Makefile-libbz2_so"
|
|
echo
|
|
echo "Does everything look fine?"
|
|
echo
|
|
echo "git commit -a -m \"Prepare for $VERSION release.\""
|
|
echo "git push"
|
|
echo
|
|
echo "Wait for the buildbot to give the all green!"
|
|
echo "Then..."
|
|
echo
|
|
echo "git tag -s -m \"bzip2 $VERSION release\" bzip2-$VERSION"
|
|
echo "git push --tags"
|
|
echo
|
|
echo "./release-update.sh"
|