openlp-core team mailing list archive
-
openlp-core team
-
Mailing list archive
-
Message #18164
[Merge] lp:~mzibricky/openlp/packaging into lp:openlp/packaging
matysek has proposed merging lp:~mzibricky/openlp/packaging into lp:openlp/packaging.
Requested reviews:
OpenLP Core (openlp-core)
Related bugs:
Bug #814838 in OpenLP: "cleanup Mac OS X build script"
https://bugs.launchpad.net/openlp/+bug/814838
For more details, see:
https://code.launchpad.net/~mzibricky/openlp/packaging/+merge/137382
Some fixes and cleanup for the osx packaging stuff.
--
https://code.launchpad.net/~mzibricky/openlp/packaging/+merge/137382
Your team OpenLP Core is requested to review the proposed merge of lp:~mzibricky/openlp/packaging into lp:openlp/packaging.
=== modified file 'osx/applescript-adjust-dmg-view.master'
--- osx/applescript-adjust-dmg-view.master 2012-06-25 20:12:26 +0000
+++ osx/applescript-adjust-dmg-view.master 2012-12-01 14:34:19 +0000
@@ -13,22 +13,13 @@
set arrangement of theViewOptions to not arranged
set icon size of theViewOptions to 128
set background picture of theViewOptions to file ".background:installer-background.png"
- if not exists file "Applications" then
- make new alias file at container window to POSIX file "/Applications" with properties {name:"Applications"}
- end if
- delay 1
set position of item "%s" of container window to {160, 200}
- set position of item ".Trashes" of container window to {100, 500}
- set position of item ".background" of container window to {200, 500}
- set position of item ".DS_Store" of container window to {400, 500}
set position of item "Applications" of container window to {550, 200}
- if exists file ".VolumeIcon.icns" then
- set position of item ".VolumeIcon.icns" of container window to {500, 500}
- end if
+ set position of item ".background" of container window to {100, 500}
+ set position of item ".DS_Store" of container window to {200, 500}
set position of item ".fseventsd" of container window to {300, 500}
- if exists POSIX file ".SymAVx86QSFile" then
- set position of item ".SymAVx86QSFile" of container window to {600, 500}
- end if
+ set position of item ".Trashes" of container window to {400, 500}
+ set position of item ".VolumeIcon.icns" of container window to {500, 500}
open
close
update without registering applications
=== modified file 'osx/macosx-builder.py'
--- osx/macosx-builder.py 2012-09-13 23:09:42 +0000
+++ osx/macosx-builder.py 2012-12-01 14:34:19 +0000
@@ -113,6 +113,8 @@
import os
import plistlib
+import signal
+import subprocess
import sys
from shutil import copy, rmtree
from subprocess import Popen, PIPE
@@ -579,6 +581,10 @@
self._run_command(['SetFile', '-a', 'C', dmg_volume_path],
'Could not set dmg icon attributes.')
+ # Create symlink in dmg pointing to the /Applications directory on OS X.
+ self._print('... Creating symlink to /Applications.')
+ os.symlink('/Applications', os.path.join(dmg_volume_path, 'Applications'))
+
# Set dmg background. Requires running Mac OS X gui.
# TODO: better formatting and code refactoring
if not self.args.devel:
@@ -593,8 +599,19 @@
self.adjust_dmg_view(os.path.basename(dmg_volume_path))
+ ## Unmount dmg file.
+ self._print('... unmounting the dmg.')
+ # Sometimes it could happen that OSX Finder is blocking umount.
+ # We need to find this process and kill it.
+ try:
+ output = subprocess.check_output(['fuser', dmg_volume_path]).strip()
+ if output:
+ blocking_proc_pid = int(output.split()[0])
+ os.kill(int(blocking_proc_pid), signal.SIGKILL)
+ except Exception as e:
+ print str(e)
+ self._print('... failed to kill process using %s' % dmg_volume_path)
# Unmount dmg file.
- self._print('... unmounting the dmg.')
self._run_command([self.hdiutil, 'detach', dmg_volume_path],
'Could not unmount the dmg file, dmg creation failed.'
)
@@ -639,11 +656,9 @@
f.close()
result = p.returncode
if (result != 0):
- self._print('Adjusting dmg view failed.')
- sys.exit(1)
+ self._print('Adjusting dmg view failed (non-zero exit code).')
except (IOError, OSError):
self._print('Adjusting dmg view failed.')
- sys.exit(1)
def main(self):
"""
Follow ups