def build(self): os.system('mkdir -p ' + self.installerdir) install_manager = gup.DependencyManager(self.installer_root, dbdir=self.installer_db, clean=True) install_manager.include_build_deps = False install_manager.read_package_headers(self.settings.packages, self.branch_dict) install_manager.read_package_headers(self.settings.cross_packages, self.branch_dict) self.package_manager = install_manager def get_dep(x): return install_manager.dependencies(x) package_names = gup.topologically_sorted(self.arguments, {}, get_dep, None) self.checksum_matches = False checksum_file = self.installer_checksum_file self.checksum = self.calculate_checksum(package_names) if os.path.exists(checksum_file) and open( checksum_file).read() == self.checksum: raise ChecksumShortCircuit(checksum_file) for a in package_names: install_manager.install_package(a) version = install_manager.package_dict(self.name)['version'] version_tup = misc.string_to_version(version) buildnumber = '%d' % self.version_db.get_next_build_number(version_tup) self.installer_version = version self.installer_build = buildnumber
def load_packages(self): from gub import gup p = gup.DependencyManager(self.settings.system_root) # arch = settings.platform # if settings.platform == 'debian': # arch = 'i386' arch = self.settings.package_arch branch = self.settings.debian_branch packages_path = '/dists/%(branch)s/main/binary-%(arch)s/Packages.gz' \ % locals () url = mirror + packages_path dir = self.settings.downloads + '/Debian' os.system('mkdir -p %(dir)s' % locals()) base = dir + '/Packages' file = '.'.join((base, arch, branch)) # FIXME: download/offline update if not os.path.exists(file): misc.download_url( url, dir, local=['file://' + self.settings.downloads + '/Debian'], ) os.system('gunzip %(base)s.gz' % locals()) os.system('mv %(base)s %(file)s' % locals()) self.grok_packages_file(file)
def manager(self, platform): if platform not in self.managers: info = gub_log.default_logger.harmless info.write('MANAGER for platform: ' + platform + '\n') settings = gub.settings.Settings(platform) self.managers[platform] = gup.DependencyManager( settings.system_root) return self.managers[platform]