From d7151045d3af912b7abf60be4cc057caa90a98af Mon Sep 17 00:00:00 2001 From: Thomas Munro Date: Mon, 18 Nov 2024 21:46:38 +1300 Subject: [PATCH] ci: Fix MacPorts installer script. The error reporting of "port setrequested list-of-packages..." changed, hiding errors we were relying on to know if all packages in our list were already installed. Use a loop instead. Back-patch to 15 where CI began. Suggested-by: Andres Freund Discussion: https://postgr.es/m/au2uqfuy2nf43nwy2txmc5t2emhwij7kzupygto3d2ffgtrdgr%40ckvrlwyflnh2 --- src/tools/ci/ci_macports_packages.sh | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/tools/ci/ci_macports_packages.sh b/src/tools/ci/ci_macports_packages.sh index b3df6d36a4e..41cb83593f7 100755 --- a/src/tools/ci/ci_macports_packages.sh +++ b/src/tools/ci/ci_macports_packages.sh @@ -61,9 +61,15 @@ fi # if setting all the required packages as requested fails, we need # to install at least one of them -if ! sudo port setrequested $packages > /dev/null 2>&1 ; then - echo not all required packages installed, doing so now +echo "checking if all required packages are installed" +for package in $packages ; do + if ! sudo port setrequested $package > /dev/null 2>&1 ; then update_cached_image=1 + fi +done +echo "done" +if [ "$update_cached_image" -eq 1 ]; then + echo not all required packages installed, doing so now # to keep the image small, we deleted the ports tree from the image... sudo port selfupdate # XXX likely we'll need some other way to force an upgrade at some -- 2.39.5 (Apple Git-154)