Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mumble-voip/mumble.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/macx
diff options
context:
space:
mode:
authorMikkel Krautz <mikkel@krautz.dk>2010-03-22 02:33:38 +0300
committerMikkel Krautz <mikkel@krautz.dk>2010-03-22 02:35:06 +0300
commitc63cfa0cb35c4898e510cce93d6bd029540add8e (patch)
tree05ec3a0527f8d0aae314935bb0ce396b62588aa6 /macx
parent4b426f3742bf403c356f0084ac72eff52b643b14 (diff)
Installable overlay for OSX.
Diffstat (limited to 'macx')
-rw-r--r--macx/osax/osax.plist2
-rwxr-xr-xmacx/scripts/osxdist.py35
2 files changed, 33 insertions, 4 deletions
diff --git a/macx/osax/osax.plist b/macx/osax/osax.plist
index 52fe7801f..c514e2e8f 100644
--- a/macx/osax/osax.plist
+++ b/macx/osax/osax.plist
@@ -35,5 +35,7 @@
</dict>
</dict>
</dict>
+ <key>MumbleOverlayLoaderVersion</key>
+ <integer>1</integer>
</dict>
</plist>
diff --git a/macx/scripts/osxdist.py b/macx/scripts/osxdist.py
index ba04666de..8f1693b55 100755
--- a/macx/scripts/osxdist.py
+++ b/macx/scripts/osxdist.py
@@ -7,7 +7,7 @@
# by Thomas Keller).
#
-import sys, os, string, re, shutil, plistlib, tempfile, exceptions, datetime
+import sys, os, string, re, shutil, plistlib, tempfile, exceptions, datetime, tarfile
from subprocess import Popen, PIPE
from optparse import OptionParser
@@ -31,6 +31,30 @@ def codesign(id, path):
return retval
return 0
+def create_overlay_tarball(sign=None):
+ print '* Creating overlay loader installation tarball'
+
+ bundle = os.path.join('release', 'MumbleOverlay.osax')
+ if sign:
+ codesign(sign, bundle)
+ contents = []
+ for e in os.walk(bundle):
+ root, dirs, files = e
+ contents.extend([root]+[os.path.join(root, f) for f in files])
+
+ tar = tarfile.open(os.path.join('release', 'MumbleOverlay.tar.bz2'), 'w:bz2')
+ for c in contents:
+ info = tar.gettarinfo(c)
+ info.name = c[len('release/'):]
+ info.uname = 'root'
+ info.gname = 'admin'
+ f = None
+ if info.isfile():
+ f = open(c)
+ tar.addfile(info, f)
+ tar.close()
+
+
class AppBundle(object):
def is_system_lib(self, lib):
@@ -226,6 +250,7 @@ class AppBundle(object):
os.makedirs(dst)
shutil.copy('release/libmumbleoverlay.dylib', dst)
shutil.copy('release/mumble-overlay', dst)
+ shutil.copy('release/MumbleOverlay.tar.bz2', dst)
def copy_codecs(self):
'''
@@ -435,6 +460,9 @@ if __name__ == '__main__':
# Fix .ini files
os.system('cd scripts && sh mkini.sh')
+ # Fix overlay 'installer' tarball
+ create_overlay_tarball(options.codesign)
+
# Do the finishing touches to our Application bundle before release
a = AppBundle('release/Mumble.app', ver)
if not options.universal:
@@ -461,7 +489,6 @@ if __name__ == '__main__':
else:
c.set_min_macosx_version('10.4.8')
c.copy_g15helper()
- c.copy_overlay()
c.copy_plugins()
c.copy_qt_plugins()
c.handle_libs()
@@ -477,11 +504,11 @@ if __name__ == '__main__':
'release/Mumble.app',
'release/Mumble.app/Contents/MacOS/murmurd',
'release/Mumble.app/Contents/MacOS/mumble-g15-helper',
- 'release/Mumble.app/Contents/Overlay/mumble-overlay',
'release/Mumble.app/Contents/Plugins/liblink.dylib',
'release/Mumble.app/Contents/Plugins/libmanual.dylib',
- 'release/Mumble.app/Contents/Overlay/libmumbleoverlay.dylib',
'release/Mumble.app/Contents/Codecs/libcelt0.0.7.0.dylib',
+ 'release/Mumble.app/Contents/Overlay/mumble-overlay',
+ 'release/Mumble.app/Contents/Overlay/libmumbleoverlay.dylib',
# 1.1.x
'release/Mumble11x.app/',
'release/Mumble11x.app/Contents/MacOS/mumble-g15-helper',