diff options
author | Mark Wielaard <mark@klomp.org> | 2019-06-25 19:22:37 +0200 |
---|---|---|
committer | Mark Wielaard <mark@klomp.org> | 2019-06-25 19:30:27 +0200 |
commit | f1e937776c5f331e24cc63a9d8e7ae9445a76761 (patch) | |
tree | d67b152eb7a70bc63146a1f0edba0e8126314669 | |
parent | ff986850159a1ea0c75617ffa792d1bb2069856e (diff) | |
download | bzip2-f1e937776c5f331e24cc63a9d8e7ae9445a76761.tar.gz bzip2-f1e937776c5f331e24cc63a9d8e7ae9445a76761.tar.bz2 bzip2-f1e937776c5f331e24cc63a9d8e7ae9445a76761.zip |
Add prepare-release.sh script.
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/
There are embedded version strings and dates in a couple of places.
To keep the script simple remove some that aren't absolutely necessary.
README now just points to CHANGES.
README.COMPILATION.PROBLEMS only mentions the version once at the top.
bzip2.c only mentions the version once when doing --version.
manual.xml now doesn't have any embedded versions, just uses &bz-version;
everywhere.
-rw-r--r-- | README | 23 | ||||
-rw-r--r-- | README.COMPILATION.PROBLEMS | 2 | ||||
-rw-r--r-- | bzip2.c | 2 | ||||
-rw-r--r-- | manual.xml | 4 | ||||
-rwxr-xr-x | prepare-release.sh | 80 | ||||
-rwxr-xr-x | release-update.sh | 1 |
6 files changed, 86 insertions, 26 deletions
@@ -161,31 +161,10 @@ WHAT'S NEW IN 0.9.5 ? | |||
161 | * Many small improvements in file and flag handling. | 161 | * Many small improvements in file and flag handling. |
162 | * A Y2K statement. | 162 | * A Y2K statement. |
163 | 163 | ||
164 | WHAT'S NEW IN 1.0.0 ? | 164 | WHAT'S NEW IN 1.0.x ? |
165 | 165 | ||
166 | See the CHANGES file. | 166 | See the CHANGES file. |
167 | 167 | ||
168 | WHAT'S NEW IN 1.0.2 ? | ||
169 | |||
170 | See the CHANGES file. | ||
171 | |||
172 | WHAT'S NEW IN 1.0.3 ? | ||
173 | |||
174 | See the CHANGES file. | ||
175 | |||
176 | WHAT'S NEW IN 1.0.4 ? | ||
177 | |||
178 | See the CHANGES file. | ||
179 | |||
180 | WHAT'S NEW IN 1.0.5 ? | ||
181 | |||
182 | See the CHANGES file. | ||
183 | |||
184 | WHAT'S NEW IN 1.0.6 ? | ||
185 | |||
186 | See the CHANGES file. | ||
187 | |||
188 | |||
189 | I hope you find bzip2 useful. Feel free to contact me at | 168 | I hope you find bzip2 useful. Feel free to contact me at |
190 | jseward@acm.org | 169 | jseward@acm.org |
191 | if you have any suggestions or queries. Many people mailed me with | 170 | if you have any suggestions or queries. Many people mailed me with |
diff --git a/README.COMPILATION.PROBLEMS b/README.COMPILATION.PROBLEMS index 14ddd1b..d420854 100644 --- a/README.COMPILATION.PROBLEMS +++ b/README.COMPILATION.PROBLEMS | |||
@@ -12,7 +12,7 @@ This program is released under the terms of the license contained | |||
12 | in the file LICENSE. | 12 | in the file LICENSE. |
13 | ------------------------------------------------------------------ | 13 | ------------------------------------------------------------------ |
14 | 14 | ||
15 | bzip2-1.0.6 should compile without problems on the vast majority of | 15 | bzip2 should compile without problems on the vast majority of |
16 | platforms. Using the supplied Makefile, I've built and tested it | 16 | platforms. Using the supplied Makefile, I've built and tested it |
17 | myself for x86-linux and amd64-linux. With makefile.msc, Visual C++ | 17 | myself for x86-linux and amd64-linux. With makefile.msc, Visual C++ |
18 | 6.0 and nmake, you can build a native Win32 version too. Large file | 18 | 6.0 and nmake, you can build a native Win32 version too. Large file |
@@ -1609,7 +1609,7 @@ void license ( void ) | |||
1609 | " \n" | 1609 | " \n" |
1610 | " This program is free software; you can redistribute it and/or modify\n" | 1610 | " This program is free software; you can redistribute it and/or modify\n" |
1611 | " it under the terms set out in the LICENSE file, which is included\n" | 1611 | " it under the terms set out in the LICENSE file, which is included\n" |
1612 | " in the bzip2-1.0.6 source distribution.\n" | 1612 | " in the bzip2 source distribution.\n" |
1613 | " \n" | 1613 | " \n" |
1614 | " This program is distributed in the hope that it will be useful,\n" | 1614 | " This program is distributed in the hope that it will be useful,\n" |
1615 | " but WITHOUT ANY WARRANTY; without even the implied warranty of\n" | 1615 | " but WITHOUT ANY WARRANTY; without even the implied warranty of\n" |
@@ -9,7 +9,7 @@ | |||
9 | <book lang="en" id="userman" xreflabel="bzip2 Manual"> | 9 | <book lang="en" id="userman" xreflabel="bzip2 Manual"> |
10 | 10 | ||
11 | <bookinfo> | 11 | <bookinfo> |
12 | <title>bzip2 and libbzip2, version 1.0.6</title> | 12 | <title>bzip2 and libbzip2, version &bz-version;</title> |
13 | <subtitle>A program and library for data compression</subtitle> | 13 | <subtitle>A program and library for data compression</subtitle> |
14 | <copyright> | 14 | <copyright> |
15 | <year>&bz-lifespan;</year> | 15 | <year>&bz-lifespan;</year> |
@@ -139,7 +139,7 @@ else.</para> | |||
139 | 139 | ||
140 | <listitem><para><computeroutput>bzip2</computeroutput>, | 140 | <listitem><para><computeroutput>bzip2</computeroutput>, |
141 | <computeroutput>bunzip2</computeroutput> - a block-sorting file | 141 | <computeroutput>bunzip2</computeroutput> - a block-sorting file |
142 | compressor, v1.0.6</para></listitem> | 142 | compressor, v&bz-version;</para></listitem> |
143 | 143 | ||
144 | <listitem><para><computeroutput>bzcat</computeroutput> - | 144 | <listitem><para><computeroutput>bzcat</computeroutput> - |
145 | decompresses files to stdout</para></listitem> | 145 | decompresses files to stdout</para></listitem> |
diff --git a/prepare-release.sh b/prepare-release.sh new file mode 100755 index 0000000..db736b7 --- /dev/null +++ b/prepare-release.sh | |||
@@ -0,0 +1,80 @@ | |||
1 | #!/bin/bash | ||
2 | |||
3 | # Script to run to prepare a new release. | ||
4 | # It will update the release number and tell you to update the | ||
5 | # CHANGES file and to double check everything looks before doing | ||
6 | # the release commit and tagging. | ||
7 | |||
8 | # Afterwards you probably want to run release-update.sh to upload | ||
9 | # the release and update the website at https://sourceware.org/bzip2/ | ||
10 | |||
11 | # Any error is fatal | ||
12 | set -e | ||
13 | |||
14 | # We take one argument, the version (e.g. 1.0.7) | ||
15 | if [ $# -ne 1 ]; then | ||
16 | echo "$0 <version> (e.g. 1.0.7)" | ||
17 | exit 1 | ||
18 | fi | ||
19 | |||
20 | LANG=C | ||
21 | VERSION="$1" | ||
22 | DATE=$(date +"%d %B %Y") | ||
23 | |||
24 | # Replace the version strings in the comments | ||
25 | VER_PREFIX="bzip2/libbzip2 version " | ||
26 | sed -i -e "s@${VER_PREFIX}[0-9].*@${VER_PREFIX}${VERSION} of ${DATE}@" \ | ||
27 | CHANGES LICENSE README* *.c *.h *.pl *.sh | ||
28 | |||
29 | # Add an entry to the README | ||
30 | DAY=$(date +"%d") | ||
31 | MONTH=$(date +"%B") | ||
32 | SHORTMONTH=$(date +"%b") | ||
33 | YEAR=$(date +"%Y") | ||
34 | printf "%2s %8s %s\n" "$DAY" "$MONTH" "$YEAR (bzip2, version $VERSION)" \ | ||
35 | >> README | ||
36 | |||
37 | # Update manual | ||
38 | sed -i -e "s@ENTITY bz-version \".*\"@ENTITY bz-version \"$VERSION\"@" \ | ||
39 | -e "s@ENTITY bz-date \".*\"@ENTITY bz-date \"$DAY $MONTH $YEAR\"@" \ | ||
40 | entities.xml | ||
41 | |||
42 | # bzip2.1 should really be generated from the manual.xml, but currently | ||
43 | # isn't, so explicitly change it here too. | ||
44 | sed -i -e "s@This manual page pertains to version .* of@This manual page pertains to version $VERSION of@" \ | ||
45 | -e "s@sorting file compressor, v.*@sorting file compressor, v$VERSION@" \ | ||
46 | bzip2.1* bzip2.txt | ||
47 | |||
48 | # Update sources. All sources, use bzlib_private. | ||
49 | # Except bzip2recover, which embeds a version string... | ||
50 | sed -i -e "s@^#define BZ_VERSION \".*\"@#define BZ_VERSION \"${VERSION}, ${DAY}-${SHORTMONTH}-${YEAR}\"@" \ | ||
51 | bzlib_private.h | ||
52 | sed -i -e "s@\"bzip2recover .*: extracts blocks from damaged@\"bzip2recover ${VERSION}: extracts blocks from damaged@" \ | ||
53 | bzip2recover.c | ||
54 | |||
55 | # And finally update the version/dist/so_name in the Makefiles. | ||
56 | sed -i -e "s@^DISTNAME=bzip2-.*@DISTNAME=bzip2-${VERSION}@" \ | ||
57 | Makefile | ||
58 | sed -i -e "s@libbz2\.so\.[0-9]\.[0-9]\.[0-9]*@libbz2\.so\.${VERSION}@" \ | ||
59 | Makefile-libbz2_so | ||
60 | |||
61 | echo "Now make sure the diff looks correct:" | ||
62 | echo " git diff" | ||
63 | echo | ||
64 | echo "And make sure there is a $VERSION section in the CHANGES file." | ||
65 | echo | ||
66 | echo "Double check:" | ||
67 | echo " make clean && make dist && make clean && make -f Makefile-libbz2_so" | ||
68 | echo | ||
69 | echo "Does everything look fine?" | ||
70 | echo | ||
71 | echo "git commit -a -m \"Prepare for $VERSION release.\"" | ||
72 | echo "git push" | ||
73 | echo | ||
74 | echo "Wait for the buildbot to give the all green!" | ||
75 | echo "Then..." | ||
76 | echo | ||
77 | echo "git tag -s -m \"bzip2 $VERSION release\" bzip2-$VERSION" | ||
78 | echo "git push --tags" | ||
79 | echo | ||
80 | echo "./release-update.sh" | ||
diff --git a/release-update.sh b/release-update.sh index 2ad32ce..d641ca6 100755 --- a/release-update.sh +++ b/release-update.sh | |||
@@ -24,6 +24,7 @@ echo "Requires a sourceware account in the bzip2 group." | |||
24 | echo | 24 | echo |
25 | echo "Make sure the git repo was tagged, signed and pushed" | 25 | echo "Make sure the git repo was tagged, signed and pushed" |
26 | echo "If not, please double check the source tree is release ready first" | 26 | echo "If not, please double check the source tree is release ready first" |
27 | echo "You probably want to run ./prepare-release.sh $VERSION first." | ||
27 | echo "Then do:" | 28 | echo "Then do:" |
28 | echo | 29 | echo |
29 | echo " git tag -s -m \"bzip2 $VERSION release\" bzip2-$VERSION" | 30 | echo " git tag -s -m \"bzip2 $VERSION release\" bzip2-$VERSION" |