build: print commands in color for release.sh script

This commit is contained in:
Thomas Haller 2020-06-04 12:06:02 +02:00
parent 207fd8dfb1
commit 61b9201898
No known key found for this signature in database
GPG key ID: 29C2366E4DFC5728

View file

@ -10,6 +10,12 @@ die() {
exit 1
}
echo_color() {
echo -e -n '\033[0;36m'
echo "$@"
echo -e -n '\033[0m'
}
die_usage() {
echo "FAIL: $@"
echo
@ -18,6 +24,15 @@ die_usage() {
exit 1
}
do_command() {
echo -n "COMMAND: "
echo_color -n "$@"
echo
if [ "$DRY_RUN" = 0 ]; then
"$@"
fi
}
parse_version() {
local MAJ="$(sed -n '1,20 s/^m4_define(\[nm_major_version\], \[\([0-9]\+\)\])$/\1/p' configure.ac)"
local MIN="$(sed -n '1,20 s/^m4_define(\[nm_minor_version\], \[\([0-9]\+\)\])$/\1/p' configure.ac)"
@ -265,30 +280,25 @@ if [ -n "$BUILD_TAG" ]; then
RELEASE_FILE="NetworkManager-${BUILD_TAG%-dev}.tar.xz"
test -f "./$RELEASE_FILE" || die "release file \"./$RELEASE_FILE\" not found"
test -f "./$RELEASE_FILE" \
&& test -f "./$RELEASE_FILE.sig" \
|| die "release file \"./$RELEASE_FILE\" not found"
cp "./$RELEASE_FILE" "./$RELEASE_FILE.sig" /tmp || die "failed to copy release tarball to /tmp"
git clean -fdx
fi
if [ -n "$RELEASE_FILE" ]; then
if [ $DRY_RUN = 1 ]; then
echo "COMMAND: rsync -va --append-verify -P \"./$RELEASE_FILE\" master.gnome.org:"
echo "COMMAND: ssh master.gnome.org ftpadmin install \"$RELEASE_FILE\""
else
rsync -va --append-verify -P "./$RELEASE_FILE" master.gnome.org: &&
rsync -va --append-verify -P "./$RELEASE_FILE" master.gnome.org: || die "failed to rsync \"$RELEASE_FILE\""
ssh master.gnome.org ftpadmin install "$RELEASE_FILE"
fi
do_command rsync -va --append-verify -P "/tmp/$RELEASE_FILE" master.gnome.org: || die "failed to rsync \"/tmp/$RELEASE_FILE\""
do_command ssh master.gnome.org ftpadmin install "$RELEASE_FILE" || die "ftpadmin install failed"
fi
git checkout "$CUR_BRANCH" || die "cannot checkout $CUR_BRANCH"
git merge --ff-only "$TMP_BRANCH" || die "cannot git merge --ff-only $TMP_BRANCH"
git checkout -B "$CUR_BRANCH" "$TMP_BRANCH" || die "cannot checkout $CUR_BRANCH"
if [ $DRY_RUN = 1 ]; then
echo "COMMAND: git push \"$ORIGIN\" \"${TAGS[@]}\" \"$CUR_BRANCH\""
else
git push "$ORIGIN" "${TAGS[@]}" "$CUR_BRANCH"
fi
do_command git push "$ORIGIN" "${TAGS[@]}" "$CUR_BRANCH"
if [ $DRY_RUN != 1 ]; then
if [ "$DRY_RUN" = 0 ]; then
CLEANUP_REFS=()
CLEANUP_CHECKOUT_BRANCH=
fi