chore(check): factor out function to get upstream version
Component: pkgctl version check Signed-off-by: Christian Heusel <christian@heusel.eu>
This commit is contained in:
parent
db8c157eea
commit
313c5b4d32
|
@ -34,6 +34,8 @@ _EOF_
|
||||||
pkgctl_version_check() {
|
pkgctl_version_check() {
|
||||||
local path
|
local path
|
||||||
local pkgbases=()
|
local pkgbases=()
|
||||||
|
local path pkgbase upstream_version
|
||||||
|
|
||||||
|
|
||||||
while (( $# )); do
|
while (( $# )); do
|
||||||
case $1 in
|
case $1 in
|
||||||
|
@ -71,27 +73,35 @@ pkgctl_version_check() {
|
||||||
|
|
||||||
for path in "${pkgbases[@]}"; do
|
for path in "${pkgbases[@]}"; do
|
||||||
pushd "${path}" >/dev/null
|
pushd "${path}" >/dev/null
|
||||||
run_nvchecker "${path}"
|
|
||||||
|
if [[ ! -f "PKGBUILD" ]]; then
|
||||||
|
die "No PKGBUILD found for ${path}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# shellcheck disable=SC2119
|
||||||
|
upstream_version=$(get_upstream_version)
|
||||||
|
|
||||||
|
# TODO: parse .SRCINFO file
|
||||||
|
# shellcheck source=contrib/makepkg/PKGBUILD.proto
|
||||||
|
. ./PKGBUILD
|
||||||
|
pkgbase=${pkgbase:-$pkgname}
|
||||||
|
|
||||||
|
if (( $(vercmp "${upstream_version}" "${pkgver}") > 0 )); then
|
||||||
|
msg2 "New ${pkgbase} version ${upstream_version} is available upstream"
|
||||||
|
fi
|
||||||
|
|
||||||
popd >/dev/null
|
popd >/dev/null
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
run_nvchecker() {
|
get_upstream_version() {
|
||||||
local path=$1
|
local config=${1:-.nvchecker.toml}
|
||||||
local pkgbase latest_version
|
local upstream_version
|
||||||
|
|
||||||
if [[ ! -f ".nvchecker.toml" || ! -f "PKGBUILD" ]]; then
|
if [[ ! -f $config ]]; then
|
||||||
die "No .nvchecker.toml or PKGBUILD found for ${path}"
|
die "No $config found"
|
||||||
exit 1
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# TODO: parse .SRCINFO file
|
upstream_version=$(nvchecker -c "$config" --logger json | jq --raw-output 'select( .version ) | .version')
|
||||||
# shellcheck source=contrib/makepkg/PKGBUILD.proto
|
printf "%s" "$upstream_version"
|
||||||
. ./PKGBUILD
|
|
||||||
pkgbase=${pkgbase:-$pkgname}
|
|
||||||
|
|
||||||
latest_version=$(nvchecker -c .nvchecker.toml --logger json | jq --raw-output 'select( .version ) | .version')
|
|
||||||
if (( $(vercmp "${latest_version}" "${pkgver}") > 0 )); then
|
|
||||||
msg2 "New ${pkgbase} version ${latest_version} is available upstream"
|
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue