From eaa07bcc6cddbc0d6f3fee56dd422d09dd2a32b1 Mon Sep 17 00:00:00 2001 From: "Dmitriy.Panov" Date: Mon, 27 Mar 2023 17:05:13 +0200 Subject: [PATCH] IJI-932 required Python dependencies are now installed in a virtual environment GitOrigin-RevId: 8def868c87acdd853dbb3b66e02b7ce67bd3d578 --- .../tools/mac/scripts/build-template.sh | 11 +++++--- .../tools/mac/scripts/makedmg.sh | 26 +++++++++++-------- 2 files changed, 22 insertions(+), 15 deletions(-) diff --git a/platform/build-scripts/tools/mac/scripts/build-template.sh b/platform/build-scripts/tools/mac/scripts/build-template.sh index 6226ad8bdb28..7a913796e171 100644 --- a/platform/build-scripts/tools/mac/scripts/build-template.sh +++ b/platform/build-scripts/tools/mac/scripts/build-template.sh @@ -23,12 +23,15 @@ function buildDmg() { cp "$buildFile" "$buildDir" fi done + echo "Extracting $sit.." + unzip -q -o "$sit" -d "$buildDir/$explodedSitDir" ( cd "$buildDir" - unzip -q -o "../$sit" -d $explodedSitDir - bash ./staple.sh $explodedSitDir "$staple" - bash ./makedmg.sh "$dmgName" "$appName" "$dmg" $explodedSitDir $cleanUpExploded "$contentSigned" - mv "$dmg" "../$dmg" + trap 'cd .. && rm -rf "$buildDir"' EXIT + # set -e doesn't have any effect in here + bash ./staple.sh $explodedSitDir "$staple" && + bash ./makedmg.sh "$dmgName" "$appName" "$dmg" $explodedSitDir $cleanUpExploded "$contentSigned" && + mv "$dmg" "../$dmg" ) } diff --git a/platform/build-scripts/tools/mac/scripts/makedmg.sh b/platform/build-scripts/tools/mac/scripts/makedmg.sh index 4106189e7483..fb293e5c3ddf 100644 --- a/platform/build-scripts/tools/mac/scripts/makedmg.sh +++ b/platform/build-scripts/tools/mac/scripts/makedmg.sh @@ -44,6 +44,19 @@ log "BUILD_NAME is $BUILD_NAME" VOLNAME="${BUILD_NAME%.app}" log "VOLNAME is $VOLNAME" +function generate_DS_Store() { + if ! python3 --version; then + log "python3 is required for DMG/DS_Store generation" + exit 1 + fi + log "ds_store library is required for DMG/DS_Store generation, installing in a Python virtual environment" + python3 -m venv . + ./bin/pip3 install mac-alias==2.2.0 ds-store==1.3.0 + ./bin/python3 makedmg.py "$VOLNAME" "$BG_PIC" "$1" + log "DMG/DS_Store is generated" + rm -rf "/Volumes/$1/.fseventsd" +} + mkdir "${EXPLODED}/.background" if [ -f "${BG_PIC}" ]; then mv "${BG_PIC}" "${EXPLODED}/.background" @@ -98,17 +111,8 @@ find "/Volumes/$1" -maxdepth 1 log "Updating $VOLNAME disk image styles..." stat "/Volumes/$1/DSStorePlaceHolder" rm "/Volumes/$1/DSStorePlaceHolder" -if ! python3 --version; then - log "python3 is required for DMG/DS_Store generation" - exit 1 -elif ! python3 -c "import ds_store; import mac_alias;" >/dev/null 2>/dev/null; then - log "ds_store library is required for DMG/DS_Store generation, installing" - pip3 install mac-alias==2.2.0 --user - pip3 install ds-store==1.3.0 --user -fi -python3 makedmg.py "$VOLNAME" "$BG_PIC" "$1" -log "DMG/DS_Store is generated" -rm -rf "/Volumes/$1/.fseventsd" + +generate_DS_Store "$1" if [[ -n ${SOURCE_DATE_EPOCH+x} ]]; then timestamp=$(date -r "$SOURCE_DATE_EPOCH" +%Y%m%d%H%m)