Пример #1
0
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()
Пример #2
0
def map_package_name_deb(name):
    """Map RPM package name to equivalent Deb names"""
    return mappkgname.map_package(name)