intellij-idea-community/update-new-version.sh
autoupdate efabda309b
🐛 Don't sign tag during autoupdate
This is a temporary restriction since during the implementation of
building the autoupdate functionality and the pipeline handling GPG
additionally would be a bit too much at once.

Refs: #8
2023-07-19 23:41:08 +02:00

67 lines
1.3 KiB
Bash
Executable file

#!/usr/bin/env bash
#
# This script intends to decrease the effort of updating the package.
#
# Passing "--autoupdate" as first argument triggers automatic Git operations.
set -euo pipefail
# Check if running Ubuntu
grep -q Ubuntu /etc/issue
if [[ $? != 0 ]]; then
echo "System is not running Ubuntu. Cancelling build."
exit 1
fi
PACKAGE="intellij-idea-community"
DISTRIBUTION="lunar"
last_tag=$(git describe --abbrev=0 --tags)
old="${last_tag#?}"
if [ "$1" = "--autoupdate" ]; then
new="$2"
autoupdate="y"
else
new="$1"
autoupdate="n"
fi
name="$(git config --get user.name)"
email="$(git config --get user.email)"
git checkout -b version-"$new"
mv "$PACKAGE"_"$old" "$PACKAGE"_"$new"
mv "$PACKAGE"_"$old".orig.tar.gz "$PACKAGE"_"$new".orig.tar.gz
cd "$PACKAGE"_"$new" || exit
# Update the debian/changelog file with dch
NAME="$name" EMAIL="$email" dch \
--newversion "$new"-1 \
--distribution "$DISTRIBUTION" \
"Upstream version $new"
sed -i "s/$old/$new/g" ./debian/preinst
sed -i "s/$old/$new/g" ./debian/postinst
debuild -us -uc
cd ..
rm "$PACKAGE"_"$old"-*
if [ "$autoupdate" = "n" ]; then
exit
fi
git add -A
git commit -m "Upstream version $new"
git switch main
git merge --ff-only version-"$new"
git push origin main
git tag -a v"$new" "Upstream version $new"
git push --tags origin main