def pack(self, output_dir, devel=False, force=False, keep_temp=False): PackagerBase.pack(self, output_dir, devel, force, keep_temp) self.include_dirs = PkgConfig.list_all_include_dirs() self.tmp = tempfile.mkdtemp() self.empty_packages = {PackageType.RUNTIME: [], PackageType.DEVEL: []} self.packages_paths = {PackageType.RUNTIME: {}, PackageType.DEVEL: {}} if isinstance(self.package, SDKPackage): self._create_framework_bundle_package() self._create_packages() paths = [] # create runtime package r_path = self._create_pmdoc(PackageType.RUNTIME) paths.append(r_path) if devel: # create devel package d_path = self._create_pmdoc(PackageType.DEVEL) paths.append(d_path) # FIXME: Figure out why PackageMaker refuses to create flat meta-packages # using flat packages created by himself self.package.set_mode(PackageType.RUNTIME) for path in paths: self._create_dmgs(paths) if not keep_temp: shutil.rmtree(self.tmp) return paths
def __init__(self, config, package, store): PackagerBase.__init__(self, config, package, store) self.package = package self.prefix = config.prefix self.package_prefix = '' if self.config.packages_prefix is not None: self.package_prefix = '%s-' % self.config.packages_prefix
def pack(self, output_dir, devel=False, force=False, keep_temp=False): PackagerBase.pack(self, output_dir, devel, force, keep_temp) self.tmp = tempfile.mkdtemp() self.approot = os.path.join(self.tmp, 'app') self.appdir = os.path.join(self.approot, '%s.app' % self.package.app_name) # copy files to the bundle. it needs to be done first because the app # bundle will try to create links for the main executable self._create_bundle() self._create_app_bundle() homedir = os.path.join(self.appdir, 'Contents', 'Home') self._strip_binaries(homedir) self._relocate_binaries(homedir) if self.package.osx_create_pkg: pkg = self._create_product() self._add_applications_link() else: pkg = '' if self.package.osx_create_dmg: dmg = self._create_dmg() else: dmg = '' return [dmg, pkg]
def pack( self, output_dir, devel=True, force=False, keep_temp=False, version=None, install_dir=None, include_dirs=None, sdk_version=None, ): PackagerBase.pack(self, output_dir, devel, force, keep_temp) self.install_dir = install_dir or self.package.get_install_dir() self.version = version or self.package.version self.sdk_version = sdk_version or self.version self.include_dirs = include_dirs or PkgConfig.list_all_include_dirs() # create the runtime package try: runtime_path = self._create_package(PackageType.RUNTIME, output_dir, force) except EmptyPackageError, e: if not devel: raise e runtime_path = None
def __init__(self, config, package, store): PackagerBase.__init__(self, config, package, store) self.package_prefix = '' self.package_prefix = self._package_prefix(self.package) self.full_package_name = self._full_package_name() self.packager = self.config.packager self._check_packager()
def pack(self, output_dir, devel=False, force=False, keep_temp=False): PackagerBase.pack(self, output_dir, devel, force, keep_temp) self._prepare_pack() if isinstance(self.package, MetaPackage): packager = self._create_framework_bundle_packager() self._create_framework_bundle_layout(packager) self._create_framework_bundle_package(packager) self._create_packages() paths = [] try: # create runtime package r_path = self._create_product(PackageType.RUNTIME) paths.append(r_path) if devel: # create devel package d_path = self._create_product(PackageType.DEVEL) paths.append(d_path) self.package.set_mode(PackageType.RUNTIME) self._create_packages_dmg() finally: if not keep_temp: shutil.rmtree(self.tmp) return paths
def pack(self, output_dir, devel=False, force=False, keep_temp=False): PackagerBase.pack(self, output_dir, devel, force, keep_temp) self._prepare_pack() if isinstance(self.package, MetaPackage): packager = self._create_framework_bundle_packager() self._create_framework_bundle_layout(packager) self._create_framework_bundle_package(packager) self._create_packages() paths = [] # create runtime package r_path = self._create_product(PackageType.RUNTIME) paths.append(r_path) if devel: # create devel package d_path = self._create_product(PackageType.DEVEL) paths.append(d_path) self.package.set_mode(PackageType.RUNTIME) self._create_packages_dmg() if not keep_temp: shutil.rmtree(self.tmp) return paths
def __init__(self, config, package, store): PackagerBase.__init__(self, config, package, store) self.package = package self.prefix = config.prefix self.package_prefix = "" if self.config.packages_prefix is not None: self.package_prefix = "%s-" % self.config.packages_prefix
def pack(self, output_dir, devel=True, force=False, keep_temp=False, version=None, install_dir=None, include_dirs=None, sdk_version=None): PackagerBase.pack(self, output_dir, devel, force, keep_temp) self.install_dir = install_dir or self.package.get_install_dir() self.version = version or self.package.version self.sdk_version = sdk_version or self.version self.include_dirs = include_dirs or PkgConfig.list_all_include_dirs() # create the runtime package try: runtime_path = self._create_package(PackageType.RUNTIME, output_dir, force) except EmptyPackageError as e: if not devel: raise e runtime_path = None if not devel: return [runtime_path, None] try: # create the development package devel_path = self._create_package(PackageType.DEVEL, output_dir, force) except EmptyPackageError as e: if runtime_path is None: raise e devel_path = None return [runtime_path, devel_path]
def pack(self, output_dir, devel=True, force=False, keep_temp=False, version=None, target='10.5', install_dir=None, include_dirs=None, sdk_version=None): PackagerBase.pack(self, output_dir, devel, force, keep_temp) self.install_dir = install_dir or self.package.get_install_dir() self.version = version or self.package.version self.sdk_version = sdk_version or self.version self.include_dirs = include_dirs or PkgConfig.list_all_include_dirs() # create the runtime package try: runtime_path = self._create_package(PackageType.RUNTIME, output_dir, force, target) except EmptyPackageError, e: if not devel: raise e runtime_path = None
def pack(self, output_dir, devel=False, force=False, keep_temp=False): PackagerBase.pack(self, output_dir, devel, force, keep_temp) framework_name = self.package.osx_framework_library[0] self._prepare_pack() self.fw_path = os.path.join(self.tmp, '%s.framework' % framework_name) os.mkdir(self.fw_path) files = [os.path.join(self.config.prefix, x) for x in self.package.all_files_list()] version_dir = os.path.join(self.fw_path, 'Versions', self.package.sdk_version) libname = os.path.join(version_dir, framework_name) packager = self._create_framework_bundle_packager() self._create_framework_bundle_layout(packager) self._copy_templates(files) self._copy_headers(files, version_dir) self._create_framework_headers(self.config.prefix, self.include_dirs, version_dir) if os.path.exists(os.path.join(version_dir, 'include')): shutil.rmtree(os.path.join(version_dir, 'include')) if os.path.exists(os.path.join(version_dir, 'lib')): shutil.rmtree(os.path.join(version_dir, 'lib')) self._create_merged_lib(libname, files) self.package.packages = [] self.fw_path = self.tmp self._create_framework_bundle_package(packager) paths = [self._create_product(PackageType.DEVEL)] if self.package.user_resources: paths = [self._create_dmg (paths[0])] if not keep_temp: shutil.rmtree(self.tmp) return paths
def __init__(self, config, package, store): PackagerBase.__init__(self, config, package, store) self._with_wine = config.platform != Platform.WINDOWS self.wix_prefix = get_wix_prefix() # Init wix wine prefix in the case of using it. self.wix_wine_prefix = None self.tmpdir = None
def __init__(self, config, package, store): PackagerBase.__init__(self, config, package, store) self.bundle_name = "%s-%s-%s" % ( self.package.name, self.package.version, self.config.arch) if not hasattr(self.package, "desktop_file"): raise FatalError( "Can not create a linux bundle if the package does " "not have a 'desktop_file' property set")
def __init__(self, config, package, store): PackagerBase.__init__(self, config, package, store) self.package = package self.prefix = config.prefix self.package_prefix = '' if self.config.packages_prefix is not None: self.package_prefix = '%s-' % self.config.packages_prefix self.compress = config.package_tarball_compression if self.compress not in ('bz2', 'xz'): raise UsageError('Invalid compression type {!r}'.format( self.compress))
def __init__(self, config, package, store): PackagerBase.__init__(self, config, package, store) self._with_wine = config.platform != Platform.WINDOWS self.wix_prefix = get_wix_prefix() # We use this trick to workaround the wix path limitation. # wix_wine_prefix is a symbolic link to the regular cerbero prefix # and should not be a folder. if self._with_wine: self.wix_wine_prefix = self.get_wix_wine_prefix() os.symlink(config.prefix, self.wix_wine_prefix) else: self.wix_wine_prefix = None
def __init__(self, package, name, desc, uuid): self.package = Package(package.config, package.store, None) self.package.name = name self.package.shortdesc = desc self.package.version = package.version self.package.sdk_version = package.sdk_version self.package.uuid = uuid self.package.deps = [] self.package.org = package.org self.package.install_dir = package.install_dir self.package.osx_framework_library = package.osx_framework_library PackagerBase.__init__(self, package.config, self.package, package.store)
def __init__(self, config, package, store): PackagerBase.__init__(self, config, package, store) self._with_wine = config.platform != Platform.WINDOWS self.wix_prefix = get_wix_prefix() # We use this trick to workaround the wix path limitation. # wix_wine_prefix is a symbolic link to the regular cerbero prefix # and should not be a folder. if self._with_wine: self.wix_wine_prefix = self.get_wix_wine_prefix() os.symlink(config.prefix, self.wix_wine_prefix) else: self.wix_wine_prefix = None self.packager_tmpdirs = []
def __init__(self, package, pkgname, desc, uuid): self.package = Package(package.config, package.store, None) self.package.name = pkgname self.package.shortdesc = desc self.package.version = package.version self.package.sdk_version = package.sdk_version self.package.uuid = uuid self.package.deps = [] self.package.org = package.org self.package.install_dir = package.install_dir self.package.osx_framework_library = package.osx_framework_library self.package.resources_preinstall = package.resources_preinstall self.package.resources_postinstall = package.resources_postinstall self.package.__file__ = package.__file__ PackagerBase.__init__(self, package.config, self.package, package.store)
def __init__(self, config, package, store, archive_type): PackagerBase.__init__(self, config, package, store) self.package = package self.prefix = config.prefix self.package_prefix = '' if self.config.packages_prefix is not None: self.package_prefix = '%s-' % self.config.packages_prefix if archive_type == ArchiveType.TARBALL: self.ext = 'tar.bz2' self.archive_func = self._create_tarball elif archive_type == ArchiveType.ZIP: self.ext = 'zip' self.archive_func = self._create_zip else: raise UsageError("Unsupported archive_type %s" % archive_type)
def files_list(self, package_type, force): if self.config.target_arch != Architecture.UNIVERSAL: # Nothing special to do for normal arches, just chain up return PackagerBase.files_list(self, package_type, force) else: # For the universal architecture, collect files from each # sub-archtecture if package_type == PackageType.DEVEL: files = self.package.devel_files_list() else: files = self.package.files_list() all_files = [] if isinstance(self.config.universal_archs, list): archs = self.config.universal_archs elif isinstance(self.config.universal_archs, dict): archs = list(self.config.universal_archs.keys()) else: raise ConfigurationError( 'universal_archs must be a list or a dict') for arch in archs: all_files += [os.path.join(str(arch), f) for f in files] return all_files
def files_list(self, package_type, force): if self.config.target_arch != Architecture.UNIVERSAL: # Nothing special to do for normal arches, just chain up return PackagerBase.files_list(self, package_type, force) else: # For the universal architecture, collect files from each # sub-archtecture if package_type == PackageType.DEVEL: files = self.package.devel_files_list() else: files = self.package.files_list() all_files = [] if isinstance(self.config.universal_archs, list): archs = self.config.universal_archs elif isinstance(self.config.universal_archs, dict): archs = self.config.universal_archs.keys() else: raise ConfigurationError('universal_archs must be a list or a dict') for arch in archs: all_files += [os.path.join(str(arch), f) for f in files] return all_files
def pack(self, output_dir, devel=False, force=False, keep_temp=False): PackagerBase.pack(self, output_dir, devel, force, keep_temp) self.tmp = tempfile.mkdtemp() self.appdir = os.path.join(self.tmp, '%s.app' % self.package.app_name) # copy files to the bundle. it needs to be done first because the app # bundle will try to create links for the main executable self._create_bundle() self._create_app_bundle() self._strip_binaries() self._relocate_binaries() self._add_applications_link() dmg = self._create_dmg() return [dmg, None]
def pack(self, output_dir, devel=False, force=False, keep_temp=False): PackagerBase.pack(self, output_dir, devel, force, keep_temp) paths = [] # create runtime package p = self.create_merge_module(output_dir, PackageType.RUNTIME, force, self.package.version, keep_temp) paths.append(p) if devel: p = self.create_merge_module(output_dir, PackageType.DEVEL, force, self.package.version, keep_temp) paths.append(p) return paths
def pack(self, output_dir, devel=False, force=False, keep_temp=False): PackagerBase.pack(self, output_dir, devel, force, keep_temp) framework_name = self.package.osx_framework_library[0] self._prepare_pack() self.fw_path = os.path.join(self.tmp, '%s.framework' % framework_name) os.mkdir(self.fw_path) files = [ os.path.join(self.config.prefix, x) for x in self.package.all_files_list() ] version_dir = os.path.join(self.fw_path, 'Versions', self.package.sdk_version) libname = os.path.join(version_dir, framework_name) packager = self._create_framework_bundle_packager() self._create_framework_bundle_layout(packager) self._copy_templates(files) self._copy_headers(files, version_dir) self._create_framework_headers(self.config.prefix, self.include_dirs, version_dir) if os.path.exists(os.path.join(version_dir, 'include')): shutil.rmtree(os.path.join(version_dir, 'include')) if os.path.exists(os.path.join(version_dir, 'lib')): shutil.rmtree(os.path.join(version_dir, 'lib')) self._create_merged_lib(libname, files) self.package.packages = [] self.fw_path = self.tmp self._create_framework_bundle_package(packager) self.fw_path = os.path.join(self.tmp, '%s.framework' % framework_name) if isinstance(self.package, SDKPackage): pkg_path = self._create_product(PackageType.DEVEL) if self.package.user_resources: pkg_path = self._create_dmg(pkg_path, pkg_path.replace('.pkg', '.dmg')) else: pkg_path = self._create_dmg( self.fw_path, os.path.join(output_dir, self._package_name('.dmg'))) if not keep_temp: shutil.rmtree(self.tmp) return [pkg_path]
def pack(self, output_dir, devel=False, force=False, keep_temp=False): PackagerBase.pack(self, output_dir, devel, force, keep_temp) framework_name = self.package.osx_framework_library[0] self._prepare_pack() self.fw_path = os.path.join(self.tmp, "%s.framework" % framework_name) os.mkdir(self.fw_path) files = [os.path.join(self.config.prefix, x) for x in self.package.all_files_list()] version_dir = os.path.join(self.fw_path, "Versions", self.package.sdk_version) libname = os.path.join(version_dir, framework_name) packager = self._create_framework_bundle_packager() self._create_framework_bundle_layout(packager) self._copy_templates(files) self._copy_headers(files, version_dir) self._create_framework_headers(self.config.prefix, self.include_dirs, version_dir) if os.path.exists(os.path.join(version_dir, "include")): shutil.rmtree(os.path.join(version_dir, "include")) if os.path.exists(os.path.join(version_dir, "lib")): shutil.rmtree(os.path.join(version_dir, "lib")) self._create_merged_lib(libname, files) self.package.packages = [] self.fw_path = self.tmp self._create_framework_bundle_package(packager) self.fw_path = os.path.join(self.tmp, "%s.framework" % framework_name) if isinstance(self.package, SDKPackage): pkg_path = self._create_product(PackageType.DEVEL) if self.package.user_resources: pkg_path = self._create_dmg(pkg_path, pkg_path.replace(".pkg", ".dmg")) else: pkg_path = self._create_dmg(self.fw_path, os.path.join(output_dir, self._package_name(".dmg"))) if not keep_temp: shutil.rmtree(self.tmp) return [pkg_path]
def __init__(self, config, package, store): PackagerBase.__init__(self, config, package, store) self._with_wine = config.platform != Platform.WINDOWS self.wix_prefix = get_wix_prefix()
def __init__(self, config, package, store): PackagerBase.__init__(self, config, package, store)
def __init__(self, config, package, store): PackagerBase.__init__(self, config, package, store) self.packages = self.store.get_package_deps(package) self.packages_paths = {} self.empty_packages = {}
def files_list(self, package_type): if isinstance(self.package, MetaPackage): return '' return PackagerBase.files_list(self, package_type, self.force)
def __init__(self, config, package, store): PackagerBase.__init__(self, config, package, store) self.bundle_name = "%s-%s-%s" %(self.package.name, self.package.version, self.config.arch) if not hasattr(self.package, "desktop_file"): raise FatalError("Can not create a linux bundle if the package does " "not have a 'desktop_file' property set")
def __init__(self, config, package, store): PackagerBase.__init__(self, config, package, store) self._with_wine = config.platform != Platform.WINDOWS self.wix_prefix = get_wix_prefix() # Init wix wine prefix in the case of using it. self.wix_wine_prefix = None