def main(): arguments = parse_arguments() tempdir_base = tempfile.mkdtemp() tempdir = os.path.join(tempdir_base, os.path.basename(arguments.binary_directory)) try: common.copytree(arguments.binary_directory, tempdir, symlinks=True, ignore=common.is_debug) if common.is_mac_platform(): app_path = [ app for app in os.listdir(tempdir) if app.endswith('.app') ][0] common.codesign(os.path.join(tempdir, app_path)) os.symlink('/Applications', os.path.join(tempdir, 'Applications')) shutil.copy( os.path.join(arguments.source_directory, 'LICENSE.GPL3-EXCEPT'), tempdir) dmg_cmd = [ 'hdiutil', 'create', '-srcfolder', tempdir, '-volname', arguments.dmg_volumename, '-format', 'UDBZ', arguments.target_diskimage, '-ov', '-scrub', '-size', '1500m', '-verbose' ] subprocess.check_call(dmg_cmd) # sleep a few seconds to make sure disk image is fully unmounted etc time.sleep(5) finally: shutil.rmtree(tempdir_base)
def main(): arguments = parse_arguments() tempdir_base = tempfile.mkdtemp() tempdir = os.path.join(tempdir_base, os.path.basename(arguments.source_directory)) try: common.copytree(arguments.source_directory, tempdir, symlinks=True, ignore=(common.is_not_debug if arguments.debug else common.is_debug)) # on macOS we might have to codesign (again) to account for removed debug info if not arguments.debug: common.codesign(tempdir) # package zip_source = os.path.join(tempdir, '*') if arguments.exclude_toplevel else tempdir subprocess.check_call([arguments.sevenzip, 'a', '-mmt2', arguments.target_archive, zip_source]) finally: shutil.rmtree(tempdir_base)
def main(): arguments = parse_arguments() tempdir_base = tempfile.mkdtemp() tempdir = os.path.join(tempdir_base, os.path.basename(arguments.source_directory)) try: common.copytree(arguments.source_directory, tempdir, symlinks=True, ignore=(common.is_not_debug if arguments.debug else common.is_debug)) # on macOS we might have to codesign (again) to account for removed debug info if not arguments.debug: common.codesign(tempdir) # package zip_source = os.path.join(tempdir, '*') if arguments.exclude_toplevel else tempdir subprocess.check_call([arguments.sevenzip, 'a', arguments.target_archive, zip_source]) finally: shutil.rmtree(tempdir_base)
def main(): arguments = parse_arguments() tempdir_base = tempfile.mkdtemp() tempdir = os.path.join(tempdir_base, os.path.basename(arguments.binary_directory)) try: common.copytree(arguments.binary_directory, tempdir, symlinks=True, ignore=common.is_debug) if common.is_mac_platform(): app_path = [app for app in os.listdir(tempdir) if app.endswith('.app')][0] common.codesign(os.path.join(tempdir, app_path)) os.symlink('/Applications', os.path.join(tempdir, 'Applications')) shutil.copy(os.path.join(arguments.source_directory, 'LICENSE.GPL3-EXCEPT'), tempdir) dmg_cmd = ['hdiutil', 'create', '-srcfolder', tempdir, '-volname', arguments.dmg_volumename, '-format', 'UDBZ', arguments.target_diskimage, '-ov', '-scrub', '-size', '1g', '-verbose'] subprocess.check_call(dmg_cmd) # sleep a few seconds to make sure disk image is fully unmounted etc time.sleep(5) finally: shutil.rmtree(tempdir_base)
def package_qtcreator(args, paths): if not args.no_zip: if not args.no_qtcreator: common.check_print_call([ '7z', 'a', '-mmt' + args.zip_threads, os.path.join(paths.result, 'qtcreator' + args.zip_infix + '.7z'), zipPatternForApp(paths) ], paths.install) common.check_print_call([ '7z', 'a', '-mmt' + args.zip_threads, os.path.join(paths.result, 'qtcreator' + args.zip_infix + '_dev.7z'), '*' ], paths.dev_install) if args.with_debug_info: common.check_print_call([ '7z', 'a', '-mmt' + args.zip_threads, os.path.join(paths.result, 'qtcreator' + args.zip_infix + '-debug.7z'), '*' ], paths.debug_install) if common.is_windows_platform(): common.check_print_call([ '7z', 'a', '-mmt' + args.zip_threads, os.path.join(paths.result, 'wininterrupt' + args.zip_infix + '.7z'), '*' ], paths.wininterrupt_install) if not args.no_cdb: common.check_print_call([ '7z', 'a', '-mmt' + args.zip_threads, os.path.join(paths.result, 'qtcreatorcdbext' + args.zip_infix + '.7z'), '*' ], paths.qtcreatorcdbext_install) if common.is_mac_platform() and not args.no_qtcreator: if args.keychain_unlock_script: common.check_print_call([args.keychain_unlock_script], paths.install) if os.environ.get('SIGNING_IDENTITY'): signed_install_path = paths.install + '-signed' common.copytree(paths.install, signed_install_path, symlinks=True) apps = [ d for d in os.listdir(signed_install_path) if d.endswith('.app') ] if apps: app = apps[0] common.codesign(os.path.join(signed_install_path, app)) if not args.no_zip: common.check_print_call([ '7z', 'a', '-mmt' + args.zip_threads, os.path.join( paths.result, 'qtcreator' + args.zip_infix + '-signed.7z'), app ], signed_install_path) if not args.no_dmg: common.check_print_call([ 'python', '-u', os.path.join(paths.src, 'scripts', 'makedmg.py'), 'qt-creator' + args.zip_infix + '.dmg', 'Qt Creator', paths.src, paths.install ], paths.result)