PKGBUILDs/devel/apply-versions.sh

54 lines
1.9 KiB
Bash
Executable File

#!/bin/bash
set -e # abort on first error
shopt -s nullglob
source "$(dirname $0)/versions.sh"
for pkgbuild_file in "${PKGBUILD_DIR:-.}"/*/*/PKGBUILD; do
trimmed_path=${pkgbuild_file#${PKGBUILD_DIR:-.}/}
project_name=${trimmed_path%%/*}
variant=${trimmed_path%/PKGBUILD}
variant=${variant#$project_name/}
# skip Git packages
[ ${variant##*-} == 'git' ] && continue
# skip android packages (for now)
[ ${variant%%-*} == 'android' ] && continue
# skip some of the packages
[[ $project_name == 'qt5-quick1' # removed from official releases
|| $project_name == 'qt5-webkit' # even revived version is dead
|| $project_name == 'qt5-webview' # does not build for Windows, would require qt5-webengine
|| $project_name == 'qt5-canvas3d' # removed from official releases
|| $project_name == 'qt6-3d' # removed in beta1
|| $variant == 'mingw-w64-test' # just our own 'test' package (not used anymore)
]] && continue
# treat all qt5-*/qt6-* packages as qt5/qt6
start=${project_name%%-*}
for qtver in 5 6; do
[[ $start == "qt$qtver" ]] && project_name="qt$qtver" && break
done
# skip packages with unknown version
version=${versions[$project_name]}
[[ $version ]] || continue
# skip if version doesn't differ
source "$pkgbuild_file"
[[ $version == $pkgver ]] && continue
[[ $version == $_qtver ]] && continue
pattern='(apple-darwin-.*|android-.*-(c\+\+utilities|qtutilities|passwordfile|passwordmanager))'
[[ $pkgname =~ $pattern ]] && continue
# check if template exists and modify template instead
template=$pkgbuild_file.sh.ep
[[ -f $template ]] && pkgbuild_file=$template
# apply new version
sed -i -e "s/^\(_qtver\|pkgver\)=[^\$].*/\1=$version/" -e "s/pkgrel=.*/pkgrel=1/" "$pkgbuild_file"
chmod 644 "$pkgbuild_file"
echo "$trimmed_path -> $version"
done