tools/ci-install.sh: on debian|ubuntu reduce the need for mingw package name changes

Instead of having to specify an exact version that needs to be adjusted
with each repository update, it is now possible to specify package names
without version or partially qualified versions, which reduces the
frequency of necessary adjustments.

This is achieved by searching for the package names in a previously
downloaded list of available packages.

Signed-off-by: Ralf Habacker <ralf.habacker@freenet.de>
(cherry picked from commit 7e9d3708b1)
This commit is contained in:
Ralf Habacker 2022-03-29 09:36:54 +02:00 committed by Simon McVittie
parent 458095551a
commit d2af6ad891

View file

@ -196,6 +196,8 @@ if [ "$ci_local_packages" = yes ]; then
mirror=https://repo.msys2.org/mingw/${ci_host%%-*}
dep_prefix=$(pwd)/${ci_host}-prefix
install -d "${dep_prefix}"
wget -O files.lst ${mirror}
sed 's,^<a href=",,g;s,">.*$,,g' files.lst | grep -v "\.db" | grep -v "\.files" | grep ".*zst$" | sort > filenames.lst
packages=(
bzip2-1.0.8-2
expat-2.2.10-1
@ -210,8 +212,13 @@ if [ "$ci_local_packages" = yes ]; then
zlib-1.2.11-8
)
for pkg in "${packages[@]}" ; do
wget ${mirror}/mingw-w64-${ci_host%%-*}-${pkg}-any.pkg.tar.zst
tar -C ${dep_prefix} --strip-components=1 -xvf mingw-w64-${ci_host%%-*}-${pkg}-any.pkg.tar.zst
filename=$(grep ${pkg} filenames.lst | tail -1)
if [ -z ${filename} ]; then
echo "could not find filename for package '${pkg}'"
exit 1
fi
wget ${mirror}/${filename}
tar -C ${dep_prefix} --strip-components=1 -xvf ${filename}
done
# limit access rights