osmith has submitted this change. ( 
https://gerrit.osmocom.org/c/osmo-ci/+/31928 )

Change subject: obs: don't pass feed through functions
......................................................................

obs: don't pass feed through functions

Change-Id: I9124d33c45ef3fef48666b485fd169eec0eb393a
---
M scripts/obs/build_srcpkg.py
M scripts/obs/lib/debian.py
M scripts/obs/lib/metapkg.py
M scripts/obs/lib/osc.py
M scripts/obs/lib/srcpkg.py
M scripts/obs/update_obs_project.py
6 files changed, 57 insertions(+), 40 deletions(-)

Approvals:
  Jenkins Builder: Verified
  laforge: Looks good to me, but someone else must approve
  pespin: Looks good to me, approved




diff --git a/scripts/obs/build_srcpkg.py b/scripts/obs/build_srcpkg.py
index 869b8ef..597092c 100755
--- a/scripts/obs/build_srcpkg.py
+++ b/scripts/obs/build_srcpkg.py
@@ -41,10 +41,10 @@
     lib.remove_temp()

     if args.meta:
-        lib.metapkg.build(args.feed, args.conflict_version)
+        lib.metapkg.build(args.conflict_version)

     if args.package:
-        lib.srcpkg.build(args.package, args.feed, args.git_branch, 
args.conflict_version,
+        lib.srcpkg.build(args.package, args.git_branch, args.conflict_version,
                          args.git_fetch, args.gerrit_id)


diff --git a/scripts/obs/lib/debian.py b/scripts/obs/lib/debian.py
index 3bba3ec..8a82e16 100644
--- a/scripts/obs/lib/debian.py
+++ b/scripts/obs/lib/debian.py
@@ -22,8 +22,9 @@
     lib.run_cmd(cmd, cwd=repo_path)


-def changelog_add_entry(project, feed, version):
+def changelog_add_entry(project, version):
     """ :param version: for the new changelog entry """
+    feed = lib.args.feed
     repo_path = lib.git.get_repo_path(project)
     changelog_path = f"{repo_path}/debian/changelog"
 
@@ -84,7 +85,7 @@
     return ret


-def changelog_add_entry_if_needed(project, feed, version):
+def changelog_add_entry_if_needed(project, version):
     """ Adjust the changelog if the version in the changelog is different from
         the given version. """
     version_changelog = get_last_version_from_changelog(project)
@@ -93,7 +94,7 @@

     print(f"{project}: adding debian/changelog entry ({version_changelog} =>"
           f" {version})")
-    changelog_add_entry(project, feed, version)
+    changelog_add_entry(project, version)


 def build_source_package(project):
diff --git a/scripts/obs/lib/metapkg.py b/scripts/obs/lib/metapkg.py
index dd261de..531dab6 100644
--- a/scripts/obs/lib/metapkg.py
+++ b/scripts/obs/lib/metapkg.py
@@ -7,17 +7,17 @@
 import lib.rpm_spec


-def get_conflicts(feed):
+def get_conflicts():
     ret = []
     for f in lib.config.feeds:
-        if f == feed:
+        if f == lib.args.feed:
             continue
         ret += [f"osmocom-{f}"]
     return ret


-def prepare_source_dir(feed):
-    path = f"{lib.config.path_cache}/osmocom-{feed}"
+def prepare_source_dir():
+    path = f"{lib.config.path_cache}/osmocom-{lib.args.feed}"

     if os.path.exists(path):
         lib.run_cmd(["rm", "-rf", path])
@@ -26,9 +26,10 @@
     os.makedirs(f"{path}/contrib")


-def generate_debian_pkg(feed, version):
+def generate_debian_pkg(version):
+    feed = lib.args.feed
     path = f"{lib.config.path_cache}/osmocom-{feed}"
-    conflicts = get_conflicts(feed)
+    conflicts = get_conflicts()

     with open(f"{path}/debian/control", "w") as f:
         f.write(f"Source: osmocom-{feed}\n")
@@ -63,11 +64,12 @@
         f.write("10\n")


-def generate_rpm_spec(feed, version):
+def generate_rpm_spec(version):
+    feed = lib.args.feed
     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)
+    conflicts = get_conflicts()

     with open(path, "w") as f:
         f.write(f"Name:    osmocom-{feed}\n")
@@ -83,13 +85,14 @@
         f.write("%files\n")


-def build(feed, conflict_version):
+def build(conflict_version):
+    feed = lib.args.feed
     pkgname = f"osmocom-{feed}"
     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()
+    generate_debian_pkg(version)

     os.makedirs(lib.get_output_path(pkgname))
     lib.remove_cache_extra_files()
@@ -97,7 +100,7 @@
     lib.debian.build_source_package(pkgname)
     lib.debian.move_files_to_output(pkgname)

-    generate_rpm_spec(feed, version)
+    generate_rpm_spec(version)
     lib.rpm_spec.copy_to_output(pkgname)

     lib.remove_cache_extra_files()
diff --git a/scripts/obs/lib/osc.py b/scripts/obs/lib/osc.py
index 6a1d42b..c2f6ad4 100644
--- a/scripts/obs/lib/osc.py
+++ b/scripts/obs/lib/osc.py
@@ -64,7 +64,8 @@
     return ret.output.rstrip().split("\n")


-def get_package_version(package, feed):
+def get_package_version(package):
+    feed = lib.args.feed
     proj = lib.args.obs_project
     print(f"{package}: getting OBS version")
     ret = run_osc(["list", proj, os.path.basename(package)])
diff --git a/scripts/obs/lib/srcpkg.py b/scripts/obs/lib/srcpkg.py
index e888ffa..4816363 100644
--- a/scripts/obs/lib/srcpkg.py
+++ b/scripts/obs/lib/srcpkg.py
@@ -9,8 +9,9 @@
 import lib.rpm_spec


-def checkout_for_feed(project, feed, branch=None):
+def checkout_for_feed(project, branch=None):
     """ checkout a commit, either latest tag or master or 20YY branch """
+    feed = lib.args.feed
     if branch:
         lib.git.checkout(project, f"origin/{branch}")
     elif feed == "latest":
@@ -55,8 +56,8 @@
     return ret.output


-def get_version_for_feed(project, feed, conflict_version):
-    if feed == "latest":
+def get_version_for_feed(project, conflict_version):
+    if lib.args.feed == "latest":
         # There's always a tag if we are here. If there was none, the build
         # would have been skipped for latest.
         ret = lib.git.get_latest_tag(project)
@@ -130,14 +131,15 @@
     pathlib.Path(f"{output_path}/commit_{commit}.txt").touch()


-def build(project, feed, branch, conflict_version, fetch, gerrit_id=0):
+def build(project, branch, conflict_version, fetch, gerrit_id=0):
+    feed = lib.args.feed
     lib.git.clone(project, fetch)
     lib.git.clean(project)
     if gerrit_id > 0:
         lib.git.checkout_from_review(project, gerrit_id)
     else:
-        checkout_for_feed(project, feed, branch)
-    version = get_version_for_feed(project, feed, conflict_version)
+        checkout_for_feed(project, branch)
+    version = get_version_for_feed(project, conflict_version)
     epoch = get_epoch(project)
     version_epoch = f"{epoch}:{version}" if epoch else version
     has_rpm_spec = lib.rpm_spec.get_spec_in_path(project) is not None
@@ -151,7 +153,7 @@
         if has_rpm_spec:
             lib.rpm_spec.add_depend(project, metapkg, conflict_version)

-    lib.debian.changelog_add_entry_if_needed(project, feed, version_epoch)
+    lib.debian.changelog_add_entry_if_needed(project, version_epoch)

     os.makedirs(lib.get_output_path(project))
     lib.remove_cache_extra_files()
diff --git a/scripts/obs/update_obs_project.py 
b/scripts/obs/update_obs_project.py
index 5718a45..a6f8643 100755
--- a/scripts/obs/update_obs_project.py
+++ b/scripts/obs/update_obs_project.py
@@ -32,7 +32,7 @@
     return ret


-def build_srcpkg(feed, branch, package, conflict_version, fetch, is_meta_pkg):
+def build_srcpkg(branch, package, conflict_version, fetch, is_meta_pkg):
     global srcpkgs_built
     global srcpkgs_failed_build

@@ -40,9 +40,9 @@

     try:
         if is_meta_pkg:
-            version = lib.metapkg.build(feed, conflict_version)
+            version = lib.metapkg.build(conflict_version)
         else:
-            version = lib.srcpkg.build(package, feed, branch, 
conflict_version, fetch)
+            version = lib.srcpkg.build(package, branch, conflict_version, 
fetch)
         srcpkgs_built[package] = version
     except Exception as ex:
         traceback.print_exception(type(ex), ex, ex.__traceback__)
@@ -62,9 +62,10 @@
     return False


-def build_srcpkg_if_needed(feed, branch, pkgs_remote, package, 
conflict_version,
+def build_srcpkg_if_needed(branch, pkgs_remote, package, conflict_version,
                            fetch, is_meta_pkg, skip_up_to_date):
     global srcpkgs_skipped
+    feed = lib.args.feed

     if feed in ["master", "latest"]:
         """ Check if we can skip this package by comparing the OBS version with
@@ -85,7 +86,7 @@
         if os.path.basename(package) not in pkgs_remote:
             print(f"{package}: building source package (not in OBS)")
         else:
-            obs_version = lib.osc.get_package_version(package, feed)
+            obs_version = lib.osc.get_package_version(package)
             if is_up_to_date(obs_version, latest_version):
                 if skip_up_to_date:
                     print(f"{package}: skipping ({obs_version} is up-to-date)")
@@ -101,31 +102,32 @@
     else:
         print(f"{package}: building source package (feed is {feed})")

-    build_srcpkg(feed, branch, package, conflict_version, fetch, is_meta_pkg)
+    build_srcpkg(branch, package, conflict_version, fetch, is_meta_pkg)


-def upload_srcpkg(feed, pkgs_remote, package, version):
+def upload_srcpkg(pkgs_remote, package, version):
     if os.path.basename(package) not in pkgs_remote:
         lib.osc.create_package(package)
     lib.osc.update_package(package, version)


-def build_srcpkgs(feed, branch, pkgs_remote, packages, conflict_version, fetch,
+def build_srcpkgs(branch, pkgs_remote, packages, conflict_version, fetch,
                   meta, skip_up_to_date):
     print()
     print("### Building source packages ###")
     print()

     if meta:
-        build_srcpkg_if_needed(feed, branch, pkgs_remote, f"osmocom-{feed}",
+        feed = lib.args.feed
+        build_srcpkg_if_needed(branch, pkgs_remote, f"osmocom-{feed}",
                                conflict_version, fetch, True, skip_up_to_date)

     for package in packages:
-        build_srcpkg_if_needed(feed, branch, pkgs_remote, package,
+        build_srcpkg_if_needed(branch, pkgs_remote, package,
                                conflict_version, fetch, False, skip_up_to_date)


-def upload_srcpkgs(feed, pkgs_remote):
+def upload_srcpkgs(pkgs_remote):
     global srcpkgs_built
     global srcpkgs_failed_upload
     global srcpkgs_updated
@@ -142,7 +144,7 @@

     for package, version in srcpkgs_built.items():
         try:
-            upload_srcpkg(feed, pkgs_remote, package, version)
+            upload_srcpkg(pkgs_remote, package, version)
             srcpkgs_updated += [package]
         except Exception as ex:
             traceback.print_exception(type(ex), ex, ex.__traceback__)
@@ -194,7 +196,6 @@
                         help="package name, e.g. libosmocore or open5gs,"
                              " default is all packages")
     args = parser.parse_args()
-    feed = args.feed
     branch = args.git_branch
     packages = parse_packages(args.package)

@@ -214,9 +215,9 @@

     pkgs_remote = lib.osc.get_remote_pkgs()

-    build_srcpkgs(feed, branch, pkgs_remote, packages, args.conflict_version,
+    build_srcpkgs(branch, pkgs_remote, packages, args.conflict_version,
                   args.git_fetch, args.meta, args.skip_up_to_date)
-    upload_srcpkgs(feed, pkgs_remote)
+    upload_srcpkgs(pkgs_remote)
     exit_with_summary()



--
To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/31928
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Change-Id: I9124d33c45ef3fef48666b485fd169eec0eb393a
Gerrit-Change-Number: 31928
Gerrit-PatchSet: 1
Gerrit-Owner: osmith <[email protected]>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <[email protected]>
Gerrit-Reviewer: osmith <[email protected]>
Gerrit-Reviewer: pespin <[email protected]>
Gerrit-MessageType: merged

Reply via email to