update.sh
· 1.3 KiB · Bash
Raw
#!/usr/bin/env bash
set -euo pipefail
PKGBUILD=$1
BASEURL=https://git.icynet.eu/api/packages/Squeebot/npm
if [ ! -f $PKGBUILD ]; then
echo "Please provide a file"
exit 1
fi
BASEDIR="$(cd "`dirname $PKGBUILD`" && pwd -P)"
# Read current vars from PKGBUILD
source $PKGBUILD
function get_package_src() {
echo "$BASEURL/%40$_npm_user%2F$_npm_pkg/-/$1/$_npm_pkg-$1.tgz"
}
function get_version_src() {
echo "$BASEURL/%40$_npm_user%2F$_npm_pkg"
}
echo "Determining the latest version"
# Get latest version from Gitea
LATEST_VERSION=$(curl -s $(get_version_src) | jq -r '.["dist-tags"].latest')
if [ $pkgver = $LATEST_VERSION ]; then
echo "$pkgver is already the latest version"
exit 0
fi
echo "Found new version $LATEST_VERSION, determining sha256sum"
# Get latest version checksum for the PKGBUILD
LATEST_CHECKSUM=$(curl -s $(get_package_src $LATEST_VERSION) | sha256sum | cut -f 1 -d " ")
echo "Patching the PKGBUILD"
# Patch the PKGBUILD
sed -i "/^sha256sums=(/{n;s/.*/\t'$LATEST_CHECKSUM'/}" $PKGBUILD
sed -i "/^pkgrel=/s/.*/pkgrel=1/" $PKGBUILD
sed -i "/^pkgver=/s/.*/pkgver=$LATEST_VERSION/" $PKGBUILD
makepkg -D $BASEDIR --printsrcinfo > $BASEDIR/.SRCINFO
echo "Pushing update to git"
git -C $BASEDIR add $BASEDIR/.SRCINFO $BASEDIR/PKGBUILD
git -C $BASEDIR commit -m "Change version to $LATEST_VERSION"
git -C $BASEDIR push
echo "All done!"
| 1 | #!/usr/bin/env bash |
| 2 | set -euo pipefail |
| 3 | |
| 4 | PKGBUILD=$1 |
| 5 | BASEURL=https://git.icynet.eu/api/packages/Squeebot/npm |
| 6 | |
| 7 | if [ ! -f $PKGBUILD ]; then |
| 8 | echo "Please provide a file" |
| 9 | exit 1 |
| 10 | fi |
| 11 | |
| 12 | BASEDIR="$(cd "`dirname $PKGBUILD`" && pwd -P)" |
| 13 | |
| 14 | # Read current vars from PKGBUILD |
| 15 | source $PKGBUILD |
| 16 | |
| 17 | function get_package_src() { |
| 18 | echo "$BASEURL/%40$_npm_user%2F$_npm_pkg/-/$1/$_npm_pkg-$1.tgz" |
| 19 | } |
| 20 | |
| 21 | function get_version_src() { |
| 22 | echo "$BASEURL/%40$_npm_user%2F$_npm_pkg" |
| 23 | } |
| 24 | |
| 25 | echo "Determining the latest version" |
| 26 | |
| 27 | # Get latest version from Gitea |
| 28 | LATEST_VERSION=$(curl -s $(get_version_src) | jq -r '.["dist-tags"].latest') |
| 29 | |
| 30 | if [ $pkgver = $LATEST_VERSION ]; then |
| 31 | echo "$pkgver is already the latest version" |
| 32 | exit 0 |
| 33 | fi |
| 34 | |
| 35 | echo "Found new version $LATEST_VERSION, determining sha256sum" |
| 36 | |
| 37 | # Get latest version checksum for the PKGBUILD |
| 38 | LATEST_CHECKSUM=$(curl -s $(get_package_src $LATEST_VERSION) | sha256sum | cut -f 1 -d " ") |
| 39 | |
| 40 | echo "Patching the PKGBUILD" |
| 41 | |
| 42 | # Patch the PKGBUILD |
| 43 | sed -i "/^sha256sums=(/{n;s/.*/\t'$LATEST_CHECKSUM'/}" $PKGBUILD |
| 44 | sed -i "/^pkgrel=/s/.*/pkgrel=1/" $PKGBUILD |
| 45 | sed -i "/^pkgver=/s/.*/pkgver=$LATEST_VERSION/" $PKGBUILD |
| 46 | |
| 47 | makepkg -D $BASEDIR --printsrcinfo > $BASEDIR/.SRCINFO |
| 48 | |
| 49 | echo "Pushing update to git" |
| 50 | |
| 51 | git -C $BASEDIR add $BASEDIR/.SRCINFO $BASEDIR/PKGBUILD |
| 52 | git -C $BASEDIR commit -m "Change version to $LATEST_VERSION" |
| 53 | git -C $BASEDIR push |
| 54 | |
| 55 | echo "All done!" |
| 56 |