aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Biggers <ebiggers@google.com>2022-02-06 10:55:14 -0800
committerEric Biggers <ebiggers@google.com>2022-02-06 10:58:13 -0800
commitd1e856b59dd7f205f65b22c2bca534505eaed1e1 (patch)
tree5ceba7a63522caa3db59189fd54df32cb8f4a505
parentc7434e7c68f7d039a82a8594dd59638cb9ea9ef0 (diff)
downloadfsverity-utils-d1e856b59dd7f205f65b22c2bca534505eaed1e1.tar.gz
scripts/do-release.sh: split into prepare and publish
Signed-off-by: Eric Biggers <ebiggers@google.com>
-rwxr-xr-xscripts/do-release.sh101
1 files changed, 65 insertions, 36 deletions
diff --git a/scripts/do-release.sh b/scripts/do-release.sh
index 9f6bf73..3f68497 100755
--- a/scripts/do-release.sh
+++ b/scripts/do-release.sh
@@ -9,44 +9,73 @@
set -e -u -o pipefail
cd "$(dirname "$0")/.."
-if [ $# != 1 ]; then
- echo "Usage: $0 VERS" 1>&2
- echo " e.g. $0 1.0" 1>&2
+usage()
+{
+ echo "Usage: $0 prepare|publish VERS" 1>&2
+ echo " e.g. $0 prepare 1.0" 1>&2
+ echo " $0 publish 1.0" 1>&2
exit 2
+}
+
+if [ $# != 2 ]; then
+ usage
fi
-VERS=$1
+PUBLISH=false
+case $1 in
+publish)
+ PUBLISH=true
+ ;;
+prepare)
+ ;;
+*)
+ usage
+ ;;
+esac
+VERS=$2
PKG=fsverity-utils-$VERS
-git checkout -f
-git clean -fdx
-./scripts/run-tests.sh
-git clean -fdx
-
-major=$(echo "$VERS" | cut -d. -f1)
-minor=$(echo "$VERS" | cut -d. -f2)
-month=$(LC_ALL=C date +%B)
-year=$(LC_ALL=C date +%Y)
-
-sed -E -i -e "/FSVERITY_UTILS_MAJOR_VERSION/s/[0-9]+/$major/" \
- -e "/FSVERITY_UTILS_MINOR_VERSION/s/[0-9]+/$minor/" \
- include/libfsverity.h
-sed -E -i "/Version:/s/[0-9]+\.[0-9]+/$VERS/" \
- lib/libfsverity.pc.in
-sed -E -i -e "/^% /s/fsverity-utils v[0-9]+(\.[0-9]+)+/fsverity-utils v$VERS/" \
- -e "/^% /s/[a-zA-Z]+ 2[0-9]{3}/$month $year/" \
- man/*.[1-9].md
-git commit -a --signoff --message="v$VERS"
-git tag --sign "v$VERS" --message="$PKG"
-
-git archive "v$VERS" --prefix="$PKG/" > "$PKG.tar"
-tar xf "$PKG.tar"
-( cd "$PKG" && make check )
-rm -r "$PKG"
-
-gpg --detach-sign --armor "$PKG.tar"
-DESTDIR=/pub/linux/kernel/people/ebiggers/fsverity-utils/v$VERS
-kup mkdir "$DESTDIR"
-kup put "$PKG.tar" "$PKG.tar.asc" "$DESTDIR/$PKG.tar.gz"
-git push
-git push --tags
+prepare_release()
+{
+ git checkout -f
+ git clean -fdx
+ ./scripts/run-tests.sh
+ git clean -fdx
+
+ major=$(echo "$VERS" | cut -d. -f1)
+ minor=$(echo "$VERS" | cut -d. -f2)
+ month=$(LC_ALL=C date +%B)
+ year=$(LC_ALL=C date +%Y)
+
+ sed -E -i -e "/FSVERITY_UTILS_MAJOR_VERSION/s/[0-9]+/$major/" \
+ -e "/FSVERITY_UTILS_MINOR_VERSION/s/[0-9]+/$minor/" \
+ include/libfsverity.h
+ sed -E -i "/Version:/s/[0-9]+\.[0-9]+/$VERS/" \
+ lib/libfsverity.pc.in
+ sed -E -i -e "/^% /s/fsverity-utils v[0-9]+(\.[0-9]+)+/fsverity-utils v$VERS/" \
+ -e "/^% /s/[a-zA-Z]+ 2[0-9]{3}/$month $year/" \
+ man/*.[1-9].md
+ git commit -a --signoff --message="v$VERS"
+ git tag --sign "v$VERS" --message="$PKG"
+
+ git archive "v$VERS" --prefix="$PKG/" > "$PKG.tar"
+ tar xf "$PKG.tar"
+ ( cd "$PKG" && make check )
+ rm -r "$PKG"
+}
+
+publish_release()
+{
+ gpg --detach-sign --armor "$PKG.tar"
+ DESTDIR=/pub/linux/kernel/people/ebiggers/fsverity-utils/v$VERS
+ kup mkdir "$DESTDIR"
+ kup put "$PKG.tar" "$PKG.tar.asc" "$DESTDIR/$PKG.tar.gz"
+ git push
+ git push --tags
+}
+
+if $PUBLISH; then
+ publish_release
+else
+ prepare_release
+fi