Fix: Corregir creación de DMG eliminando prefijo rw.* y conflictos
- Corregir nombre de archivos DMG usando TARGET_NAME en lugar de TARGET_FILE - Agregar limpieza de volúmenes montados antes de crear DMG - Eliminar creación manual de enlace Applications (create-dmg lo hace con --app-drop-link) - Mejorar manejo de errores eliminando || true y agregando verificación de éxito - Limpiar archivos temporales rw.*.dmg después de crear DMG Esto resuelve el problema donde el DMG final tenía prefijo "rw.XXXXX" y no se podía abrir correctamente debido a conflictos con volúmenes montados y doble creación del enlace a Applications. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
38
Makefile
38
Makefile
@@ -42,8 +42,8 @@ endif
|
|||||||
|
|
||||||
# Nombres para los ficheros de lanzamiento
|
# Nombres para los ficheros de lanzamiento
|
||||||
WINDOWS_RELEASE := $(TARGET_NAME)-$(VERSION)-win32-x64.zip
|
WINDOWS_RELEASE := $(TARGET_NAME)-$(VERSION)-win32-x64.zip
|
||||||
MACOS_INTEL_RELEASE := $(TARGET_FILE)-$(VERSION)-macos-intel.dmg
|
MACOS_INTEL_RELEASE := $(TARGET_NAME)-$(VERSION)-macos-intel.dmg
|
||||||
MACOS_APPLE_SILICON_RELEASE := $(TARGET_FILE)-$(VERSION)-macos-apple-silicon.dmg
|
MACOS_APPLE_SILICON_RELEASE := $(TARGET_NAME)-$(VERSION)-macos-apple-silicon.dmg
|
||||||
LINUX_RELEASE := $(TARGET_FILE)-$(VERSION)-linux.tar.gz
|
LINUX_RELEASE := $(TARGET_FILE)-$(VERSION)-linux.tar.gz
|
||||||
RASPI_RELEASE := $(TARGET_FILE)-$(VERSION)-raspberry.tar.gz
|
RASPI_RELEASE := $(TARGET_FILE)-$(VERSION)-raspberry.tar.gz
|
||||||
|
|
||||||
@@ -194,6 +194,12 @@ macos_release: force_resource_pack
|
|||||||
$(RMFILE) "$(MACOS_INTEL_RELEASE)"
|
$(RMFILE) "$(MACOS_INTEL_RELEASE)"
|
||||||
$(RMFILE) "$(MACOS_APPLE_SILICON_RELEASE)"
|
$(RMFILE) "$(MACOS_APPLE_SILICON_RELEASE)"
|
||||||
|
|
||||||
|
# Limpia archivos temporales de create-dmg y desmonta volúmenes
|
||||||
|
@echo "Limpiando archivos temporales y volúmenes montados..."
|
||||||
|
@rm -f rw.*.dmg 2>/dev/null || true
|
||||||
|
@hdiutil detach "/Volumes/$(APP_NAME)" 2>/dev/null || true
|
||||||
|
@hdiutil detach "/Volumes/ViBe3 Physics" 2>/dev/null || true
|
||||||
|
|
||||||
# Crea la carpeta temporal para hacer el trabajo y las carpetas obligatorias para crear una app de macos
|
# Crea la carpeta temporal para hacer el trabajo y las carpetas obligatorias para crear una app de macos
|
||||||
$(MKDIR) "$(RELEASE_FOLDER)/$(APP_NAME).app/Contents/Frameworks"
|
$(MKDIR) "$(RELEASE_FOLDER)/$(APP_NAME).app/Contents/Frameworks"
|
||||||
$(MKDIR) "$(RELEASE_FOLDER)/$(APP_NAME).app/Contents/MacOS"
|
$(MKDIR) "$(RELEASE_FOLDER)/$(APP_NAME).app/Contents/MacOS"
|
||||||
@@ -211,8 +217,8 @@ macos_release: force_resource_pack
|
|||||||
cp LICENSE "$(RELEASE_FOLDER)"
|
cp LICENSE "$(RELEASE_FOLDER)"
|
||||||
cp README.md "$(RELEASE_FOLDER)"
|
cp README.md "$(RELEASE_FOLDER)"
|
||||||
|
|
||||||
# Crea enlaces
|
# NOTA: create-dmg crea automáticamente el enlace a /Applications con --app-drop-link
|
||||||
ln -s /Applications "$(RELEASE_FOLDER)"/Applications
|
# No es necesario crearlo manualmente aquí
|
||||||
|
|
||||||
# Compila la versión para procesadores Intel
|
# Compila la versión para procesadores Intel
|
||||||
ifdef ENABLE_MACOS_X86_64
|
ifdef ENABLE_MACOS_X86_64
|
||||||
@@ -223,7 +229,7 @@ ifdef ENABLE_MACOS_X86_64
|
|||||||
|
|
||||||
# Empaqueta el .dmg de la versión Intel con create-dmg
|
# Empaqueta el .dmg de la versión Intel con create-dmg
|
||||||
@echo "Creando DMG Intel con iconos de 96x96..."
|
@echo "Creando DMG Intel con iconos de 96x96..."
|
||||||
create-dmg \
|
@create-dmg \
|
||||||
--volname "$(APP_NAME)" \
|
--volname "$(APP_NAME)" \
|
||||||
--window-pos 200 120 \
|
--window-pos 200 120 \
|
||||||
--window-size 720 300 \
|
--window-size 720 300 \
|
||||||
@@ -235,8 +241,14 @@ ifdef ENABLE_MACOS_X86_64
|
|||||||
--app-drop-link 115 102 \
|
--app-drop-link 115 102 \
|
||||||
--hide-extension "$(APP_NAME).app" \
|
--hide-extension "$(APP_NAME).app" \
|
||||||
"$(MACOS_INTEL_RELEASE)" \
|
"$(MACOS_INTEL_RELEASE)" \
|
||||||
"$(RELEASE_FOLDER)" || true
|
"$(RELEASE_FOLDER)"
|
||||||
@echo "Release Intel creado: $(MACOS_INTEL_RELEASE)"
|
@if [ -f "$(MACOS_INTEL_RELEASE)" ]; then \
|
||||||
|
echo "✓ Release Intel creado exitosamente: $(MACOS_INTEL_RELEASE)"; \
|
||||||
|
else \
|
||||||
|
echo "✗ Error: No se pudo crear el DMG Intel"; \
|
||||||
|
exit 1; \
|
||||||
|
fi
|
||||||
|
@rm -f rw.*.dmg 2>/dev/null || true
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Compila la versión para procesadores Apple Silicon
|
# Compila la versión para procesadores Apple Silicon
|
||||||
@@ -247,7 +259,7 @@ endif
|
|||||||
|
|
||||||
# Empaqueta el .dmg de la versión Apple Silicon con create-dmg
|
# Empaqueta el .dmg de la versión Apple Silicon con create-dmg
|
||||||
@echo "Creando DMG Apple Silicon con iconos de 96x96..."
|
@echo "Creando DMG Apple Silicon con iconos de 96x96..."
|
||||||
create-dmg \
|
@create-dmg \
|
||||||
--volname "$(APP_NAME)" \
|
--volname "$(APP_NAME)" \
|
||||||
--window-pos 200 120 \
|
--window-pos 200 120 \
|
||||||
--window-size 720 300 \
|
--window-size 720 300 \
|
||||||
@@ -259,8 +271,14 @@ endif
|
|||||||
--app-drop-link 115 102 \
|
--app-drop-link 115 102 \
|
||||||
--hide-extension "$(APP_NAME).app" \
|
--hide-extension "$(APP_NAME).app" \
|
||||||
"$(MACOS_APPLE_SILICON_RELEASE)" \
|
"$(MACOS_APPLE_SILICON_RELEASE)" \
|
||||||
"$(RELEASE_FOLDER)" || true
|
"$(RELEASE_FOLDER)"
|
||||||
@echo "Release Apple Silicon creado: $(MACOS_APPLE_SILICON_RELEASE)"
|
@if [ -f "$(MACOS_APPLE_SILICON_RELEASE)" ]; then \
|
||||||
|
echo "✓ Release Apple Silicon creado exitosamente: $(MACOS_APPLE_SILICON_RELEASE)"; \
|
||||||
|
else \
|
||||||
|
echo "✗ Error: No se pudo crear el DMG Apple Silicon"; \
|
||||||
|
exit 1; \
|
||||||
|
fi
|
||||||
|
@rm -f rw.*.dmg 2>/dev/null || true
|
||||||
|
|
||||||
# Elimina las carpetas temporales
|
# Elimina las carpetas temporales
|
||||||
$(RMDIR) Frameworks
|
$(RMDIR) Frameworks
|
||||||
|
|||||||
Reference in New Issue
Block a user