def main(): args = parse_cmdline() specs = {} pkgs_to_ignore = args.ignore for ignore_from in args.ignore_from: with open(ignore_from) as f: for name in f.readlines(): pkgs_to_ignore.append(name.strip()) for i in pkgs_to_ignore: print "# Will ignore: %s" % i for spec_path in args.specs: try: if build_type() == "deb": os_type = platform.linux_distribution( full_distribution_name=False)[1].lower() map_name_fn = lambda name: mappkgname.map_package( name, os_type) spec = pkg.Spec(spec_path, target="deb", map_name=map_name_fn) else: spec = pkg.Spec(spec_path, target="rpm", dist=args.dist) pkg_name = spec.name() if pkg_name in pkgs_to_ignore: continue specs[os.path.basename(spec_path)] = spec except pkg.SpecNameMismatch as exn: sys.stderr.write("error: %s\n" % exn.message) sys.exit(1) provides_to_rpm = package_to_rpm_map(specs.values()) for spec in specs.itervalues(): build_srpm_from_spec(spec) download_rpm_sources(spec) build_rpm_from_srpm(spec) buildrequires_for_rpm(spec, provides_to_rpm) print "" # Generate targets to build all srpms and all rpms all_rpms = [] all_srpms = [] for spec in specs.itervalues(): rpm_path = spec.binary_package_paths()[0] all_rpms.append(rpm_path) all_srpms.append(spec.source_package_path()) print "%s: %s" % (spec.name(), rpm_path) print "" print "rpms: " + " \\\n\t".join(all_rpms) print "" print "srpms: " + " \\\n\t".join(all_srpms) print "" print "install: all" print "\t. scripts/%s/install.sh" % build_type()
def map_package_name_deb(name): """Map RPM package name to equivalent Deb names""" return mappkgname.map_package(name)