2018-03-29 17:42:39 +02:00
|
|
|
#!/bin/bash
|
2018-03-21 21:27:12 +01:00
|
|
|
set -e # abort on first error
|
|
|
|
shopt -s nullglob
|
2021-07-03 12:01:58 +02:00
|
|
|
bindir=$(dirname "$0")
|
|
|
|
source "$bindir/versions.sh"
|
2018-03-21 21:27:12 +01:00
|
|
|
|
2018-12-29 21:15:01 +01:00
|
|
|
for pkgbuild_file in "${PKGBUILD_DIR:-.}"/*/*/PKGBUILD; do
|
|
|
|
trimmed_path=${pkgbuild_file#${PKGBUILD_DIR:-.}/}
|
2018-03-21 21:27:12 +01:00
|
|
|
project_name=${trimmed_path%%/*}
|
|
|
|
variant=${trimmed_path%/PKGBUILD}
|
|
|
|
variant=${variant#$project_name/}
|
|
|
|
|
|
|
|
# skip Git packages
|
|
|
|
[ ${variant##*-} == 'git' ] && continue
|
|
|
|
|
2020-12-19 21:30:33 +01:00
|
|
|
# skip android packages (for now)
|
2021-02-04 18:12:25 +01:00
|
|
|
qt6_pattern='qt6-.*' is_qt6=
|
|
|
|
[[ $project_name =~ $qt6_pattern ]] && is_qt6=1
|
|
|
|
[ ${variant%%-*} == 'android' ] && [[ ! $is_qt6 ]] && continue
|
2020-12-19 21:30:33 +01:00
|
|
|
|
2020-10-20 10:57:38 +02:00
|
|
|
# skip some of the packages
|
2019-05-04 16:29:53 +02:00
|
|
|
[[ $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
|
2022-08-02 19:00:03 +02:00
|
|
|
|| $project_name == 'qt5-script' # extra case (still released, not on KDE branch)
|
2020-10-20 10:57:38 +02:00
|
|
|
|| $project_name == 'qt6-3d' # removed in beta1
|
2019-05-04 16:29:53 +02:00
|
|
|
|| $variant == 'mingw-w64-test' # just our own 'test' package (not used anymore)
|
2019-06-14 19:09:09 +02:00
|
|
|
]] && continue
|
2018-03-21 21:27:12 +01:00
|
|
|
|
2021-02-04 18:12:25 +01:00
|
|
|
# skip default qt6 packages (provided by Arch Linux itself)
|
|
|
|
[[ $is_qt6 ]] && [[ $variant == 'default' ]] && continue
|
|
|
|
|
2020-10-20 10:57:38 +02:00
|
|
|
# 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
|
2018-03-21 21:27:12 +01:00
|
|
|
|
|
|
|
# skip packages with unknown version
|
|
|
|
version=${versions[$project_name]}
|
|
|
|
[[ $version ]] || continue
|
|
|
|
|
|
|
|
# skip if version doesn't differ
|
|
|
|
source "$pkgbuild_file"
|
|
|
|
[[ $version == $pkgver ]] && continue
|
2020-10-20 10:57:38 +02:00
|
|
|
[[ $version == $_qtver ]] && continue
|
2020-09-16 18:35:50 +02:00
|
|
|
pattern='(apple-darwin-.*|android-.*-(c\+\+utilities|qtutilities|passwordfile|passwordmanager))'
|
2020-06-14 17:43:48 +02:00
|
|
|
[[ $pkgname =~ $pattern ]] && continue
|
2018-03-21 21:27:12 +01:00
|
|
|
|
2020-01-28 21:12:38 +01:00
|
|
|
# check if template exists and modify template instead
|
|
|
|
template=$pkgbuild_file.sh.ep
|
2021-10-28 12:23:37 +02:00
|
|
|
layoutname=$pkgname
|
|
|
|
[[ $layoutname =~ android-aarch64-.* ]] && layoutname=android-${pkgname##android-aarch64-}
|
|
|
|
layout=$bindir/generator/templates/layouts/$layoutname.sh.ep
|
2021-07-03 12:01:58 +02:00
|
|
|
if [[ -f $layout ]]; then
|
|
|
|
[[ $VERBOSE ]] && echo "Considering layout $pkgname.sh.ep for $trimmed_path"
|
|
|
|
pkgbuild_file=$layout
|
|
|
|
elif [[ -f $template ]]; then
|
|
|
|
[[ $VERBOSE ]] && echo "Considering template $trimmed_path.sh.ep for $trimmed_path"
|
|
|
|
pkgbuild_file=$template
|
|
|
|
fi
|
2020-01-28 21:12:38 +01:00
|
|
|
|
2018-03-21 21:27:12 +01:00
|
|
|
# apply new version
|
2021-07-03 12:01:58 +02:00
|
|
|
sed -i -e "s/^\(_qtver\|pkgver\)=[^\$][^<%]*/\1=$version/" -e "s/pkgrel=.*/pkgrel=1/" "$pkgbuild_file"
|
2018-03-21 21:27:12 +01:00
|
|
|
chmod 644 "$pkgbuild_file"
|
|
|
|
|
|
|
|
echo "$trimmed_path -> $version"
|
|
|
|
done
|