Use UDBZ dmg files for best compression

This commit is contained in:
Kovid Goyal 2019-09-19 16:31:12 +05:30
parent 4aa0ee3ccd
commit 3ce1c8bd63
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C

View File

@ -721,7 +721,7 @@ class Freeze(object):
'lib', 'python' + py_ver))
@flush
def makedmg(self, d, volname, internet_enable=True, dmg_fmt='ULFO'):
def makedmg(self, d, volname, internet_enable=True):
''' Copy a directory d into a dmg named volname '''
print('\nSigning...')
sys.stdout.flush()
@ -744,7 +744,8 @@ class Freeze(object):
print('Signing completed in %d minutes %d seconds' % tuple(times))
os.symlink('/Applications', join(tdir, 'Applications'))
size_in_mb = int(subprocess.check_output(['du', '-s', '-k', tdir]).decode('utf-8').split()[0]) / 1024.
cmd = ['/usr/bin/hdiutil', 'create', '-srcfolder', tdir, '-volname', volname, '-format', dmg_fmt]
# UDBZ gives the best compression, better than ULFO
cmd = ['/usr/bin/hdiutil', 'create', '-srcfolder', tdir, '-volname', volname, '-format', 'UDBZ']
if 190 < size_in_mb < 250:
# We need -size 255m because of a bug in hdiutil. When the size of
# srcfolder is close to 200MB hdiutil fails with