[vlc-commits] macOS: Re-work dmg packaging
Marvin Scholz
git at videolan.org
Mon Feb 20 14:50:41 CET 2017
vlc | branch: master | Marvin Scholz <epirat07 at gmail.com> | Mon Feb 20 14:49:09 2017 +0100| [4e080f7ae4e0669b59de9b65e9833ac778bfd160] | committer: Marvin Scholz
macOS: Re-work dmg packaging
This removes the dmg_setup.scpt and instead a template diskimage
is used (VLCDMGTemplate.sparseimage.bz2).
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=4e080f7ae4e0669b59de9b65e9833ac778bfd160
---
.../package/macosx/VLCDMGTemplate.sparseimage.bz2 | Bin 0 -> 1447119 bytes
extras/package/macosx/dmg_setup.scpt | 25 ------------
extras/package/macosx/package.mak | 42 +++++++++++----------
3 files changed, 22 insertions(+), 45 deletions(-)
diff --git a/extras/package/macosx/VLCDMGTemplate.sparseimage.bz2 b/extras/package/macosx/VLCDMGTemplate.sparseimage.bz2
new file mode 100644
index 0000000..956aee6
Binary files /dev/null and b/extras/package/macosx/VLCDMGTemplate.sparseimage.bz2 differ
diff --git a/extras/package/macosx/dmg_setup.scpt b/extras/package/macosx/dmg_setup.scpt
deleted file mode 100644
index 678175e..0000000
--- a/extras/package/macosx/dmg_setup.scpt
+++ /dev/null
@@ -1,25 +0,0 @@
-on run argv
- tell application "Finder"
- tell disk (item 1 of argv)
- open
- set current view of container window to icon view
- set toolbar visible of container window to false
- set statusbar visible of container window to false
- set the bounds of container window to {300, 100, 750, 500}
- set theViewOptions to the icon view options of container window
- set arrangement of theViewOptions to not arranged
- set icon size of theViewOptions to 104
- # Don't set a background image, for now
- # set background picture of theViewOptions to file ".background/background.png"
- set position of item "VLC.app" of container window to {110, 100}
- set position of item "Applications" of container window to {335, 100}
- set position of item "Read Me.rtf" of container window to {110, 275}
- set position of item "Goodies" of container window to {335, 275}
- # Force saving changes to the disk by closing and opening the window
- close
- open
- update without registering applications
- delay 5
- end tell
- end tell
-end run
diff --git a/extras/package/macosx/package.mak b/extras/package/macosx/package.mak
index 1d912d7..3498ecc 100644
--- a/extras/package/macosx/package.mak
+++ b/extras/package/macosx/package.mak
@@ -55,25 +55,27 @@ endif
find $@ -type d -exec chmod ugo+rx '{}' \;
find $@ -type f -exec chmod ugo+r '{}' \;
-
package-macosx: VLC.app
- mkdir -p "$(top_builddir)/vlc-$(VERSION)/Goodies/"
- cp -R "$(top_builddir)/VLC.app" "$(top_builddir)/vlc-$(VERSION)/VLC.app"
- cd $(srcdir); cp AUTHORS COPYING README THANKS NEWS $(abs_top_builddir)/vlc-$(VERSION)/Goodies/
- $(LN_S) -f /Applications $(top_builddir)/vlc-$(VERSION)/
- rm -f "$(top_builddir)/vlc-$(VERSION)-rw.dmg"
- hdiutil create -verbose -srcfolder "$(top_builddir)/vlc-$(VERSION)" "$(top_builddir)/vlc-$(VERSION)-rw.dmg" -scrub -format UDRW
- mkdir -p ./mount
- hdiutil attach -readwrite -noverify -noautoopen -mountRoot ./mount "vlc-$(VERSION)-rw.dmg"
- -osascript "$(srcdir)"/extras/package/macosx/dmg_setup.scpt "vlc-$(VERSION)"
- hdiutil detach ./mount/"vlc-$(VERSION)"
-# Make sure the image is not writable
-# Note: We can't directly create a read only dmg as we do the bless stuff
- rm -f "$(top_builddir)/vlc-$(VERSION).dmg"
- hdiutil convert "$(top_builddir)/vlc-$(VERSION)-rw.dmg" -format UDBZ -o "$(top_builddir)/vlc-$(VERSION).dmg"
- ls -l "$(top_builddir)/vlc-$(VERSION).dmg"
- rm -f "$(top_builddir)/vlc-$(VERSION)-rw.dmg"
- rm -rf "$(top_builddir)/vlc-$(VERSION)"
+ @echo "Creating VLC-$(VERSION).dmg disk image"
+ ## Unzip the template dmg
+ bunzip2 -kqc "$(srcdir)/extras/package/macosx/VLCDMGTemplate.sparseimage.bz2" > VLCDMGTemplate.sparseimage
+ ## Increase size
+ hdiutil resize -size 150M VLCDMGTemplate.sparseimage
+ ## Mount the extracted dmg
+ hdiutil attach VLCDMGTemplate.sparseimage -noautoopen -quiet -mountpoint "$(top_builddir)/VLCDMGTemplateMnt"
+ ## Copy goodies
+ cd $(srcdir) && cp -R AUTHORS COPYING README THANKS NEWS "$(abs_top_builddir)/VLCDMGTemplateMnt/Goodies/"
+ ## Copy VLC.app
+ cp -R "$(top_builddir)/VLC.app/" "$(top_builddir)/VLCDMGTemplateMnt/VLC.app"
+ ## Unmount
+ hdiutil detach "$(top_builddir)/VLCDMGTemplateMnt" -quiet -force
+ ## Convert image
+ rm -Rf "VLC-$(VERSION).dmg"
+ hdiutil convert VLCDMGTemplate.sparseimage -quiet -format UDBZ -o "VLC-$(VERSION).dmg"
+ ## Remove template image
+ rm -Rf VLCDMGTemplate.sparseimage
+ @echo "VLC-$(VERSION).dmg created successfully!"
+
package-macosx-zip: VLC.app
mkdir -p $(top_builddir)/vlc-$(VERSION)/Goodies/
@@ -112,9 +114,9 @@ EXTRA_DIST += \
extras/package/macosx/build.sh \
extras/package/macosx/codesign.sh \
extras/package/macosx/configure.sh \
- extras/package/macosx/dmg_setup.scpt \
extras/package/macosx/fullscreen_panel.svg \
extras/package/macosx/vlc_status_icon.svg \
extras/package/macosx/vlc_app_icon.svg \
extras/package/macosx/VLC.entitlements \
- extras/package/macosx/VLC.xcodeproj/project.pbxproj
+ extras/package/macosx/VLC.xcodeproj/project.pbxproj \
+ extras/package/macosx/VLCDMGTemplate.sparseimage.bz2
More information about the vlc-commits
mailing list