diff options
Diffstat (limited to 'scripts/obs/lib/metapkg.py')
-rw-r--r-- | scripts/obs/lib/metapkg.py | 45 |
1 files changed, 24 insertions, 21 deletions
diff --git a/scripts/obs/lib/metapkg.py b/scripts/obs/lib/metapkg.py index dd261de..8a9922d 100644 --- a/scripts/obs/lib/metapkg.py +++ b/scripts/obs/lib/metapkg.py @@ -7,17 +7,17 @@ import lib.debian import lib.rpm_spec -def get_conflicts(feed): +def get_conflicts(pkgname): ret = [] for f in lib.config.feeds: - if f == feed: + if "osmocom-{f}" == pkgname: continue ret += [f"osmocom-{f}"] return ret -def prepare_source_dir(feed): - path = f"{lib.config.path_cache}/osmocom-{feed}" +def prepare_source_dir(pkgname): + path = f"{lib.config.path_cache}/{pkgname}" if os.path.exists(path): lib.run_cmd(["rm", "-rf", path]) @@ -26,26 +26,27 @@ def prepare_source_dir(feed): os.makedirs(f"{path}/contrib") -def generate_debian_pkg(feed, version): - path = f"{lib.config.path_cache}/osmocom-{feed}" - conflicts = get_conflicts(feed) +def generate_debian_pkg(pkgname, version): + feed = lib.args.feed + path = f"{lib.config.path_cache}/{pkgname}" + conflicts = get_conflicts(pkgname) with open(f"{path}/debian/control", "w") as f: - f.write(f"Source: osmocom-{feed}\n") + f.write(f"Source: {pkgname}\n") f.write("Section: unknown\n") f.write("Priority: optional\n") f.write("Maintainer: Osmocom OBS scripts <info@osmocom.org>\n") f.write("Build-Depends: debhelper (>= 10)\n") f.write("Standards-Version: 3.9.8\n") f.write("\n") - f.write(f"Package: osmocom-{feed}\n") + f.write(f"Package: {pkgname}\n") f.write("Depends: ${misc:Depends}\n") f.write("Architecture: any\n") f.write(f"Conflicts: {', '.join(conflicts)}\n") f.write(f"Description: Dummy package, conflicts with {conflicts}\n") with open(f"{path}/debian/changelog", "w") as f: - f.write(f"osmocom-{feed} ({version}) unstable; urgency=medium\n") + f.write(f"{pkgname} ({version}) unstable; urgency=medium\n") f.write("\n") f.write(f" * Dummy package, which conflicts with: {conflicts}\n") f.write("\n") @@ -63,14 +64,14 @@ def generate_debian_pkg(feed, version): f.write("10\n") -def generate_rpm_spec(feed, version): - print(f"osmocom-{feed}: generating rpm spec file") - path = (f"{lib.config.path_cache}/osmocom-{feed}/contrib/osmocom-{feed}" - ".spec.in") - conflicts = get_conflicts(feed) +def generate_rpm_spec(pkgname, version): + feed = lib.args.feed + print(f"{pkgname}: generating rpm spec file") + path = f"{lib.config.path_cache}/{pkgname}/contrib/{pkgname}.spec.in" + conflicts = get_conflicts(pkgname) with open(path, "w") as f: - f.write(f"Name: osmocom-{feed}\n") + f.write(f"Name: {pkgname}\n") f.write(f"Version: {version}\n") f.write(f"Summary: Dummy package, conflicts with: {conflicts}\n") f.write("Release: 0\n") @@ -83,13 +84,15 @@ def generate_rpm_spec(feed, version): f.write("%files\n") -def build(feed, conflict_version): - pkgname = f"osmocom-{feed}" +def build(): + feed = lib.args.feed + pkgname = lib.args.conflict_pkgname or f"osmocom-{feed}" + conflict_version = lib.args.conflict_version version = conflict_version if conflict_version else "1.0.0" print(f"{pkgname}: generating meta package {version}") - prepare_source_dir(feed) - generate_debian_pkg(feed, version) + prepare_source_dir(pkgname) + generate_debian_pkg(pkgname, version) os.makedirs(lib.get_output_path(pkgname)) lib.remove_cache_extra_files() @@ -97,7 +100,7 @@ def build(feed, conflict_version): lib.debian.build_source_package(pkgname) lib.debian.move_files_to_output(pkgname) - generate_rpm_spec(feed, version) + generate_rpm_spec(pkgname, version) lib.rpm_spec.copy_to_output(pkgname) lib.remove_cache_extra_files() |