From bb4df2c601e9fbd97050421b6087fa083e64586c Mon Sep 17 00:00:00 2001 From: Lukas Oberhuber Date: Wed, 1 Jan 2025 18:12:57 +0000 Subject: [PATCH] meson: make in-build-gimp.sh idempotent This does not fix the underlying bug, just means it doesn't fail on `install_name_tool`. An aspect of a fix for https://gitlab.gnome.org/GNOME/gimp/-/issues/12644 --- tools/in-build-gimp.sh | 33 +++++++++++---------------------- 1 file changed, 11 insertions(+), 22 deletions(-) diff --git a/tools/in-build-gimp.sh b/tools/in-build-gimp.sh index b1254e7e980..038fd6bc52f 100755 --- a/tools/in-build-gimp.sh +++ b/tools/in-build-gimp.sh @@ -10,17 +10,12 @@ if [ -n "$GIMP_TEMP_UPDATE_RPATH" ]; then # it didn't work on contributor's builds because of System Integrity # Protection (SIP), though it did work in the CI. export IFS=":" - for bin in $GIMP_TEMP_UPDATE_RPATH; - do - install_name_tool -add_rpath ${GIMP_GLOBAL_BUILD_ROOT}/libgimp $bin - install_name_tool -add_rpath ${GIMP_GLOBAL_BUILD_ROOT}/libgimpbase $bin - install_name_tool -add_rpath ${GIMP_GLOBAL_BUILD_ROOT}/libgimpcolor $bin - install_name_tool -add_rpath ${GIMP_GLOBAL_BUILD_ROOT}/libgimpconfig $bin - install_name_tool -add_rpath ${GIMP_GLOBAL_BUILD_ROOT}/libgimpmath $bin - install_name_tool -add_rpath ${GIMP_GLOBAL_BUILD_ROOT}/libgimpmodule $bin - install_name_tool -add_rpath ${GIMP_GLOBAL_BUILD_ROOT}/libgimpthumb $bin - install_name_tool -add_rpath ${GIMP_GLOBAL_BUILD_ROOT}/libgimpwidgets $bin - done; + for bin in $GIMP_TEMP_UPDATE_RPATH; do + for lib in libgimp libgimpbase libgimpcolor libgimpconfig libgimpmath libgimpmodule libgimpthumb libgimpwidgets; do + install_name_tool -delete_rpath ${GIMP_GLOBAL_BUILD_ROOT}/$lib $bin || true + install_name_tool -add_rpath ${GIMP_GLOBAL_BUILD_ROOT}/$lib $bin + done + done unset IFS fi @@ -28,17 +23,11 @@ cat /dev/stdin | $GIMP_SELF_IN_BUILD "$@" if [ -n "$GIMP_TEMP_UPDATE_RPATH" ]; then export IFS=":" - for bin in $GIMP_TEMP_UPDATE_RPATH; - do - install_name_tool -delete_rpath ${GIMP_GLOBAL_BUILD_ROOT}/libgimp $bin - install_name_tool -delete_rpath ${GIMP_GLOBAL_BUILD_ROOT}/libgimpbase $bin - install_name_tool -delete_rpath ${GIMP_GLOBAL_BUILD_ROOT}/libgimpcolor $bin - install_name_tool -delete_rpath ${GIMP_GLOBAL_BUILD_ROOT}/libgimpconfig $bin - install_name_tool -delete_rpath ${GIMP_GLOBAL_BUILD_ROOT}/libgimpmath $bin - install_name_tool -delete_rpath ${GIMP_GLOBAL_BUILD_ROOT}/libgimpmodule $bin - install_name_tool -delete_rpath ${GIMP_GLOBAL_BUILD_ROOT}/libgimpthumb $bin - install_name_tool -delete_rpath ${GIMP_GLOBAL_BUILD_ROOT}/libgimpwidgets $bin - done; + for bin in $GIMP_TEMP_UPDATE_RPATH; do + for lib in libgimp libgimpbase libgimpcolor libgimpconfig libgimpmath libgimpmodule libgimpthumb libgimpwidgets; do + install_name_tool -delete_rpath ${GIMP_GLOBAL_BUILD_ROOT}/$lib $bin + done + done unset IFS fi -- GitLab