def pack(self, output_dir, devel=True, force=False, keep_temp=False, split=True, package_prefix=''): try: dist_files = self.files_list(PackageType.RUNTIME, force) except EmptyPackageError: m.warning(_("The runtime package is empty")) dist_files = [] if devel: try: devel_files = self.files_list(PackageType.DEVEL, force) except EmptyPackageError: m.warning(_("The development package is empty")) devel_files = [] else: devel_files = [] if not split: dist_files += devel_files if not dist_files and not devel_files: raise EmptyPackageError(self.package.name) filenames = [] if dist_files: runtime = self._create_tarball(output_dir, PackageType.RUNTIME, dist_files, force, package_prefix) filenames.append(runtime) if split and devel and len(devel_files) != 0: devel = self._create_tarball(output_dir, PackageType.DEVEL, devel_files, force, package_prefix) filenames.append(devel) return filenames
def files_list(self, package_type, force): if package_type == PackageType.DEVEL: files = self.package.devel_files_list() else: files = self.package.files_list() real_files = [] for f in files: if os.path.exists(os.path.join(self.config.prefix, f)): real_files.append(f) diff = list(set(files) - set(real_files)) if len(diff) != 0: if force: m.warning( _("Some files required by this package are missing " "in the prefix:\n%s" % '\n'.join(diff))) else: raise MissingPackageFilesError(diff) if len(real_files) == 0: raise EmptyPackageError(self.package.name) return real_files