]> git.ipfire.org Git - thirdparty/dbus.git/commitdiff
tools/ci-install.sh: on debian|ubuntu reduce the need for mingw package name changes
authorRalf Habacker <ralf.habacker@freenet.de>
Tue, 29 Mar 2022 07:36:54 +0000 (09:36 +0200)
committerRalf Habacker <ralf.habacker@freenet.de>
Tue, 29 Mar 2022 08:29:18 +0000 (10:29 +0200)
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>
tools/ci-install.sh

index ed0360ddaeb769ec56187960cb182e8840cc0c1a..2ce83075f54cae854b24178aca32f1e4680fcce9 100755 (executable)
@@ -195,6 +195,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
@@ -209,8 +211,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