debian_catalog = DebianCatalog(DIR_DEBIAN_CATALOG, debian_path) freebsd_path = os.path.join(DIR_TMP, 'freebsd') freebsd_catalog = FreeBSDCatalog(DIR_FREEBSD_CATALOG, freebsd_path) netbsd_path = os.path.join(DIR_TMP, 'netbsd') netbsd_catalog = NetBSDCatalog(DIR_NETBSD_CATALOG, netbsd_path) openbsd_path = os.path.join(DIR_TMP, 'openbsd') openbsd_catalog = OpenBSDCatalog(DIR_OPENBSD_CATALOG, openbsd_path) # Build all packages. catalog_set = CatalogSet({ debian_catalog, freebsd_catalog, netbsd_catalog, openbsd_catalog, }) for package in target_packages.values(): catalog_set.package_and_insert(package, os.path.join(DIR_TMP, 'catalog')) debian_catalog.finish(DEBIAN_PRIVATE_KEY) freebsd_catalog.finish(FREEBSD_PRIVATE_KEY) # Finish up and put the new catalogs in place. os.rename(DIR_DEBIAN_CATALOG, os.path.join(DIR_TMP, 'debian.old')) os.rename(debian_path, DIR_DEBIAN_CATALOG) os.rename(DIR_FREEBSD_CATALOG, os.path.join(DIR_TMP, 'freebsd.old')) os.rename(freebsd_path, DIR_FREEBSD_CATALOG) os.rename(DIR_NETBSD_CATALOG, os.path.join(DIR_TMP, 'netbsd.old')) os.rename(netbsd_path, DIR_NETBSD_CATALOG) os.rename(DIR_OPENBSD_CATALOG, os.path.join(DIR_TMP, 'openbsd.old')) os.rename(openbsd_path, DIR_OPENBSD_CATALOG) # Zap the temporary directory. util.remove(DIR_TMP)
CygwinCatalog(None, DIR_PACKAGES_CYGWIN), DebianCatalog(None, DIR_PACKAGES_DEBIAN), FreeBSDCatalog(None, DIR_PACKAGES_FREEBSD), HomebrewCatalog(None, DIR_PACKAGES_HOMEBREW, 'http://example.com/'), NetBSDCatalog(None, DIR_PACKAGES_NETBSD), OpenBSDCatalog(None, DIR_PACKAGES_OPENBSD), RedHatCatalog(None, DIR_PACKAGES_REDHAT), } def build_package(package: TargetPackage) -> None: version = FullVersion(version=package.get_version()) for catalog in catalogs: catalog.insert(package, version, catalog.package(package, version)) if len(sys.argv) > 1: # Only build the packages provided on the command line. for name in set(sys.argv[1:]): for arch in config.ARCHITECTURES: build_package(target_packages[(name, arch)]) else: # Build all packages. for package in target_packages.values(): build_package(package) # When terminating successfully, remove the build directory. It will # only contain temporary files that were used to generate the last # package. util.remove(config.DIR_BUILDROOT)
for package in target_packages.values(): catalog_set.package_and_insert(package, os.path.join(DIR_TMP, 'catalog')) archlinux_catalog.finish(ARCHLINUX_PRIVATE_KEY) cygwin_catalog.finish(CYGWIN_PRIVATE_KEY) debian_catalog.finish(DEBIAN_PRIVATE_KEY) freebsd_catalog.finish(FREEBSD_PRIVATE_KEY) redhat_catalog.finish(REDHAT_PRIVATE_KEY) # Finish up and put the new catalogs in place. os.rename(DIR_ARCHLINUX_CATALOG, os.path.join(DIR_TMP, 'archlinux.old')) os.rename(archlinux_path, DIR_ARCHLINUX_CATALOG) os.rename(DIR_CYGWIN_CATALOG, os.path.join(DIR_TMP, 'cygwin.old')) os.rename(cygwin_path, DIR_CYGWIN_CATALOG) os.rename(DIR_DEBIAN_CATALOG, os.path.join(DIR_TMP, 'debian.old')) os.rename(debian_path, DIR_DEBIAN_CATALOG) os.rename(DIR_FREEBSD_CATALOG, os.path.join(DIR_TMP, 'freebsd.old')) os.rename(freebsd_path, DIR_FREEBSD_CATALOG) os.rename(DIR_HOMEBREW_CATALOG, os.path.join(DIR_TMP, 'homebrew.old')) os.rename(homebrew_path, DIR_HOMEBREW_CATALOG) os.rename(DIR_NETBSD_CATALOG, os.path.join(DIR_TMP, 'netbsd.old')) os.rename(netbsd_path, DIR_NETBSD_CATALOG) os.rename(DIR_OPENBSD_CATALOG, os.path.join(DIR_TMP, 'openbsd.old')) os.rename(openbsd_path, DIR_OPENBSD_CATALOG) os.rename(DIR_REDHAT_CATALOG, os.path.join(DIR_TMP, 'redhat.old')) os.rename(redhat_path, DIR_REDHAT_CATALOG) # Zap the temporary directories. util.remove(config.DIR_BUILDROOT) util.remove(DIR_TMP)