diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4a79248..0c3116b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -33,17 +33,38 @@ jobs: - name: Build app run: python build_macos.py - - name: Package .app -> zip + - name: Create DMG run: | - cd dist - ditto -c -k --sequesterRsrc --keepParent MusicTools.app ../MusicTools-macOS.zip - ls -lh ../MusicTools-macOS.zip + STAGING="dmg_staging" + rm -rf "$STAGING" + mkdir -p "$STAGING" + cp -R dist/MusicTools.app "$STAGING/" + cp "assets/Fix Gatekeeper.command" "$STAGING/" + chmod +x "$STAGING/Fix Gatekeeper.command" + ln -s /Applications "$STAGING/Applications" + cat > "$STAGING/LEGGIMI.txt" <<'EOF' + INSTALLAZIONE MusicTools + ======================== + + 1) Trascina MusicTools.app sulla cartella "Applicazioni" + (l'alias e' qui dentro nel DMG) + + 2) Doppio click su "Fix Gatekeeper.command" + Rimuove la quarantena macOS Gatekeeper (una sola volta). + + 3) Apri MusicTools dalle Applicazioni e attiva con email + chiave. + + Problemi? scrivici a info@djluza.com + EOF + hdiutil create -volname "MusicTools" -srcfolder "$STAGING" \ + -ov -format UDZO MusicTools-macOS.dmg + ls -lh MusicTools-macOS.dmg - name: Upload artifact uses: actions/upload-artifact@v4 with: name: MusicTools-macOS - path: MusicTools-macOS.zip + path: MusicTools-macOS.dmg retention-days: 14 # ========================================================= @@ -107,5 +128,5 @@ jobs: generate_release_notes: true fail_on_unmatched_files: true files: | - artifacts/macos/MusicTools-macOS.zip + artifacts/macos/MusicTools-macOS.dmg artifacts/windows/MusicTools-Windows.zip diff --git a/assets/Fix Gatekeeper.command b/assets/Fix Gatekeeper.command new file mode 100755 index 0000000..9761a98 --- /dev/null +++ b/assets/Fix Gatekeeper.command @@ -0,0 +1,27 @@ +#!/bin/bash +# Rimuove la quarantena Gatekeeper da MusicTools.app +# Doppio click in macOS apre Terminal ed esegue questo script. + +set -e + +APP_NAME="MusicTools.app" + +# Cerca l'app in /Applications, poi nella stessa cartella del DMG montato. +if [ -d "/Applications/${APP_NAME}" ]; then + APP="/Applications/${APP_NAME}" +elif [ -d "$(dirname "$0")/${APP_NAME}" ]; then + APP="$(dirname "$0")/${APP_NAME}" +else + osascript -e "display alert \"${APP_NAME} non trovata\" message \"Trascina MusicTools.app nella cartella Applicazioni prima di eseguire questo script.\" as critical" + exit 1 +fi + +echo "Rimuovo la quarantena da: ${APP}" +xattr -dr com.apple.quarantine "${APP}" 2>/dev/null || true + +# Notifica visuale +osascript -e "display notification \"MusicTools puo' essere aperta normalmente con doppio click.\" with title \"Fix completato\"" + +echo "" +echo "Fatto. Ora puoi aprire MusicTools normalmente con doppio click." +echo "Puoi chiudere questa finestra." diff --git a/core/config.py b/core/config.py index 5eb7dbc..53e10cf 100644 --- a/core/config.py +++ b/core/config.py @@ -5,7 +5,7 @@ import os import sys from pathlib import Path -VERSION = "v1.7.3" +VERSION = "v1.7.4" APP_NAME = "MusicTools" diff --git a/landing/download.html b/landing/download.html index 03b330d..c828c38 100644 --- a/landing/download.html +++ b/landing/download.html @@ -175,10 +175,10 @@
.zip scaricato — viene estratto in MusicTools.app.dmg scaricato — si monta come volume "MusicTools"