From 6444079d221e3e63faacb50bda400534e34eafaa Mon Sep 17 00:00:00 2001 From: Bruno Lopes Date: Mon, 19 Jan 2026 14:38:20 -0300 Subject: [PATCH] build/macos: Set background for .dmg on CI By using a pre-made .DS_Store file, this bypasses Apple Script restrictions which made impossible to set custom background on CI. We don't have rights to tweak com.apple.TCC like gimp-macos-build. .DS_Store is a binary file, but it is tiny and rarely updated, which follows the precedent of build/windows/store/*.pfx. --- .gitlab-ci.yml | 4 ++-- build/macos/{ => dmg}/3_dist-gimp-apple.sh | 21 ++++++++++++--------- build/macos/dmg/DS_Store.tar.xz | Bin 0 -> 1824 bytes 3 files changed, 14 insertions(+), 11 deletions(-) rename build/macos/{ => dmg}/3_dist-gimp-apple.sh (91%) create mode 100644 build/macos/dmg/DS_Store.tar.xz diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 33d6232ab5..dc1519f42a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1002,9 +1002,9 @@ dist-mac-weekly: - macos script: # Do not call sh since it is old bash on macOS, not the default zsh - - zsh build/macos/3_dist-gimp-apple.sh + - zsh build/macos/dmg/3_dist-gimp-apple.sh artifacts: expose_as: 'macOS dmg' paths: - - build/macos/_Output/ + - build/macos/dmg/_Output/ expire_in: 8 days diff --git a/build/macos/3_dist-gimp-apple.sh b/build/macos/dmg/3_dist-gimp-apple.sh similarity index 91% rename from build/macos/3_dist-gimp-apple.sh rename to build/macos/dmg/3_dist-gimp-apple.sh index 16d8cb1fd1..ed000712e3 100644 --- a/build/macos/3_dist-gimp-apple.sh +++ b/build/macos/dmg/3_dist-gimp-apple.sh @@ -16,10 +16,10 @@ case $(readlink /proc/$$/exe) in ;; esac set -e -if [ "$0" != 'build/macos/3_dist-gimp-apple.sh' ] && [ $(basename "$PWD") != 'macos' ]; then +if [ "$0" != 'build/macos/dmg/3_dist-gimp-apple.sh' ] && [ $(basename "$PWD") != 'dmg' ]; then printf '\033[31m(ERROR)\033[0m: Script called from wrong dir. Please, call this script from the root of gimp git dir\n' exit 1 -elif [ $(basename "$PWD") = 'macos' ]; then +elif [ $(basename "$PWD") = 'dmg' ]; then cd ../../.. fi @@ -133,14 +133,14 @@ conf_plist "%MUTEX_SUFFIX%" "$MUTEX_SUFFIX" ### List supported filetypes sed -i '' "s|%FILE_TYPES%|$(tr -d '\n' < $BUILD_DIR/plug-ins/file_associations_mac.list)|g" "$DMG_MOUNT/$BUNDLE_NAME.app/Contents/Info.plist" -## 4.2 FIXME: Create .DS_Store to set .dmg background and icon layout -printf '(INFO): generating .DS_Store\n' +## 4.2 Create or copy .DS_Store to set .dmg background and icon layout +printf '(INFO): handling .DS_Store\n' +mkdir -p "$DMG_MOUNT/.background" +cp -r "$BG_PATH" "$DMG_MOUNT/.background/" ln -s /Applications "$DMG_MOUNT/Applications" +sync +sleep 2 #avoid Finder async issues if [ -z "$GITLAB_CI" ]; then - mkdir -p "$DMG_MOUNT/.background" - cp -r "$BG_PATH" "$DMG_MOUNT/.background/" - sync - sleep 2 #avoid Finder async issues osascript <uvs!Nf)Su*TuL=$$kO zI8exv4eT_Koc|j3hwpbo`CN&`t;e+hN;VpWAT%x4>aVST+}`#=sKYgH`nlyZ(|)71 ziO!>o{^^_N#!=pm(y zg|cp594?X3bO&$YdG$52V+gln*o1noiq0^kS(k7dBNw#*yXn`_#@i0Yqoze)sN^8I zR{#~AuZ=FXg4XHe*i8myQ~+n-lzoMq$ODLiNMCjGC{7I#Lj?t3A|;h^n39(uMeR8? zHR1_c&p2v|TsCtZz#VZ$lcd3Y=t&(^)Pj#|Xw6X0G$$LMf_!5xKL)))8dWygzLy^v zn0WB7beD7@4HJn@44vGuZg|%BU!|(AbufYt9<>D`?SUSEbEb>yA2ZMs*g0yJ@)}F5 zxe2>Qe&ifSTrxODn5JFefd3(kKl>bt>oH(7d-)ax1eM8*kh9!081I5gzXjV3JoF7a z0I;NmALUmIDNEbEw7WgLF4Pl67PDMMj6jBSz0*@u69kpD>jYka@>zxiO_h0x=9n`8 zd-wjQMsV=}2xt^jGyS?6GY+VW#VtP0A{! z33YjXy2@Nej3nDr4Bs|mn0aFnqJ>@`VLz;(XOn##vn*<-JA~wCPetGJo0_?Z$+x4; z_wQq@VW6ivv#ZyBDRLnxV#JhbsfROVCvqLm9u)U^nA$8~F>P^v3EMFso|+TG+wHA2 z2;9d`fl2wae;ZLMRG|-W3?R`c<$@DHRns7Oi_$~2qxFwig@|>CvOBRk&ROjMXY6|2 zj}V_f7BE=hL1Ofk0Y-l3v1d$wq{V1DKp1M68pOs(98k4ZPR)xhi;X%yR}^W=0@^iq z!sOa%_5b)VT(GzUQVf)m9>y3$!ZG|5UO)unJMU_Wn7Q^ki=IajZK1=fHxN3Y?98CF zMf9Y}WHJfS(cKc?BR@URv?=bw-nm^5i(Tzn+dWVfU_mTV$4tYgjuQo2Jq0Y>e9me$ zsZr}Wg*h+z@9dleg+Mr?x(v@DMG7r*CA!`yfbbsz!ZbM_b=pZn8e@o9neOBz=KeGoF+iv-oXQ@>?VGict=5Npl$XNC z@F6mcjf_WexsZPCQIVUk2S2=uWp2ILl+LE!XlI5fK-_j-f&APrs~$P+wButW;#_n7 zhHlU7w+2Up{yeQD$FX<%@8SEHv+iJU$E+|6<9dqHL$94`4Bq+Nggv=7eF(+iUI3C( z-eQsUB?PRAw0hz(EYpx3{dwX1l4Sxg$ht+vkf|3nMV(t?`VI=zYPnPJaA89|mkBp_ z<2kMos>jmqEknvflj2X0aLsGQ*G@#3FxeXu?KExV;aX+aM_ObA33s^+jPJBDoNCIh5>oN$PY9+k>Qj} z2=cM_RjYh#u;homeUR4jmFXQysq^R@YJzRm7`@vGZ9z+jisn$!5|VCeC@aDUhpCKk z+lNWVR{VJ#Nd&(Jh?M@~Aw{!nE?u5h97eFawYx0)f|iGZ89y{<76~-61l+8IZyJ|L zh96rVSor6Sd)x>1E(oKJemAN!z3Fhe-@5<+0002%@diVHuG9Je0r?GpZ~y?-hVZbl O#Ao{g000001X)^3(s|zi literal 0 HcmV?d00001