mirror of
https://gitlab.com/openlp/packaging.git
synced 2024-12-22 21:12:50 +00:00
Some fixes and cleanup for the osx packaging stuff.
bzr-revno: 6
This commit is contained in:
commit
59c266174c
@ -13,22 +13,13 @@ on run
|
|||||||
set arrangement of theViewOptions to not arranged
|
set arrangement of theViewOptions to not arranged
|
||||||
set icon size of theViewOptions to 128
|
set icon size of theViewOptions to 128
|
||||||
set background picture of theViewOptions to file ".background:installer-background.png"
|
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 "%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}
|
set position of item "Applications" of container window to {550, 200}
|
||||||
if exists file ".VolumeIcon.icns" then
|
set position of item ".background" of container window to {100, 500}
|
||||||
set position of item ".VolumeIcon.icns" of container window to {500, 500}
|
set position of item ".DS_Store" of container window to {200, 500}
|
||||||
end if
|
|
||||||
set position of item ".fseventsd" of container window to {300, 500}
|
set position of item ".fseventsd" of container window to {300, 500}
|
||||||
if exists POSIX file ".SymAVx86QSFile" then
|
set position of item ".Trashes" of container window to {400, 500}
|
||||||
set position of item ".SymAVx86QSFile" of container window to {600, 500}
|
set position of item ".VolumeIcon.icns" of container window to {500, 500}
|
||||||
end if
|
|
||||||
open
|
open
|
||||||
close
|
close
|
||||||
update without registering applications
|
update without registering applications
|
||||||
|
@ -113,6 +113,8 @@ build process you can specify different make targets
|
|||||||
|
|
||||||
import os
|
import os
|
||||||
import plistlib
|
import plistlib
|
||||||
|
import signal
|
||||||
|
import subprocess
|
||||||
import sys
|
import sys
|
||||||
from shutil import copy, rmtree
|
from shutil import copy, rmtree
|
||||||
from subprocess import Popen, PIPE
|
from subprocess import Popen, PIPE
|
||||||
@ -579,6 +581,10 @@ class MacosxBuilder(object):
|
|||||||
self._run_command(['SetFile', '-a', 'C', dmg_volume_path],
|
self._run_command(['SetFile', '-a', 'C', dmg_volume_path],
|
||||||
'Could not set dmg icon attributes.')
|
'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.
|
# Set dmg background. Requires running Mac OS X gui.
|
||||||
# TODO: better formatting and code refactoring
|
# TODO: better formatting and code refactoring
|
||||||
if not self.args.devel:
|
if not self.args.devel:
|
||||||
@ -593,8 +599,19 @@ class MacosxBuilder(object):
|
|||||||
|
|
||||||
self.adjust_dmg_view(os.path.basename(dmg_volume_path))
|
self.adjust_dmg_view(os.path.basename(dmg_volume_path))
|
||||||
|
|
||||||
# Unmount dmg file.
|
## Unmount dmg file.
|
||||||
self._print('... unmounting the dmg.')
|
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._run_command([self.hdiutil, 'detach', dmg_volume_path],
|
self._run_command([self.hdiutil, 'detach', dmg_volume_path],
|
||||||
'Could not unmount the dmg file, dmg creation failed.'
|
'Could not unmount the dmg file, dmg creation failed.'
|
||||||
)
|
)
|
||||||
@ -639,11 +656,9 @@ class MacosxBuilder(object):
|
|||||||
f.close()
|
f.close()
|
||||||
result = p.returncode
|
result = p.returncode
|
||||||
if (result != 0):
|
if (result != 0):
|
||||||
self._print('Adjusting dmg view failed.')
|
self._print('Adjusting dmg view failed (non-zero exit code).')
|
||||||
sys.exit(1)
|
|
||||||
except (IOError, OSError):
|
except (IOError, OSError):
|
||||||
self._print('Adjusting dmg view failed.')
|
self._print('Adjusting dmg view failed.')
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
def main(self):
|
def main(self):
|
||||||
"""
|
"""
|
||||||
|
Loading…
Reference in New Issue
Block a user