blob: 3179d9b0168560fad43d41933c3ac8a1d8a93933 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
#!/bin/bash
# A script for automatically updating the AUR package by checking the project's releases on github
# Jared Johnstone
# Fri 07 Jun 2024 10:52:01 AEST # Kibana
set -o pipefail
files=(PKGBUILD .SRCINFO)
githubProject="elastic/kibana"
. PKGBUILD || { echo "This script must be placed and run in the AUR package dir" ; exit 1;}
git status >/dev/null 2>&1 || { echo "This script is not suitable for running outside of a git repository." ; exit 1 ;}
githubBaseurl="https://api.github.com/repos"
githubLatestRelease="$(curl -Ss ${githubBaseurl}/${githubProject}/releases/latest)" || { echo "Failed fetching latest release info from github" ; exit 1;}
latestRel=$(jq -r .tag_name <<< ${githubLatestRelease} | tr -d [a-z]) || { echo "Failed to read latest version" ; exit 1;}
latestTarUrl="https://github.com/${githubProject}/archive/v${latestRel}.tar.gz"
compareString="(pkgver=${pkgver}, latestRel=${latestRel})"
# Check if latest tag is equal or greater to the current version
if printf '%s\n%s\n' "${latestRel}" "${pkgver}" | sort --check=quiet --version-sort
then
echo "No newer version detected. ${compareString}"
exit
else
echo "New version detected. ${compareString}"
echo "Downloading latest release to generate a replacement sha512sum..."
newSHA512sum="$(curl -L --progress-meter "${latestTarUrl}" | sha512sum | cut -f1 -d' ')" || { echo "Failed to download the archive for checksumming" ; exit 1;}
oldSHA512sum="${sha512sums[0]}"
# Update version vars, SHA512sums and pkgrel
sed -i -E -e "s/${pkgver//./\\.}/${latestRel}/g" \
-e "s/${oldSHA512sum}/${newSHA512sum}/g" ${files[@]} \
-e 's/pkgrel=[0-9]+/pkgrel=1/g' -e 's/pkgrel = [0-9]+/pkgrel = 1/g' \
${files[@]}
makepkg --verifysource || { echo "Unable to verify sources, please verify checksums."; exit 1;}
git add ${files[@]}
echo 'Committing...'
git commit -m "Version bump to ${latestRel}"
echo 'Pushing...'
git push || { echo "Failed to push version bump." ; exit 1;}
fi
|