osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/34332?usp=email )
Change subject: OBS: lib/osc: add private proj variable ......................................................................
OBS: lib/osc: add private proj variable
Adjust lib/osc.py to take the OBS project from a global variable that can be set with lib.osc.set_apiurl(), instead of using lib.args.obs_project. Move the sanity check to set_apiurl().
This is in preparation for adding a new sync script, which will operate on multiple OBS instances.
Related: OS#6165 Change-Id: Iabb871bcb432f2fbdaec9cbcab3d663ccf969901 --- M scripts/obs/lib/osc.py M scripts/obs/update_obs_project.py 2 files changed, 29 insertions(+), 18 deletions(-)
Approvals: fixeria: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified
diff --git a/scripts/obs/lib/osc.py b/scripts/obs/lib/osc.py index c9040ec..1113032 100644 --- a/scripts/obs/lib/osc.py +++ b/scripts/obs/lib/osc.py @@ -10,15 +10,7 @@ import lib.config
apiurl = None - - -def check_proj(): - proj = lib.args.obs_project - if ":" in proj: - return - - print(f"ERROR: this doesn't look like a valid OBS project: {proj}") - exit(1) +proj = None
def check_oscrc(): @@ -33,8 +25,16 @@ exit(1)
-def set_apiurl(url): +def set_apiurl(url, obs_proj=None): global apiurl + global proj + + if obs_proj is not None: + if ":" not in obs_proj: + print(f"ERROR: this doesn't look like a valid OBS project: {obs_proj}") + exit(1) + proj = obs_proj + apiurl = url
@@ -58,7 +58,6 @@
def get_remote_pkgs(): - proj = lib.args.obs_project print(f"OBS: getting packages in {proj}") ret = run_osc(["list", proj]) return ret.output.rstrip().split("\n") @@ -66,7 +65,6 @@
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)])
@@ -92,7 +90,6 @@
def create_package(package): - proj = lib.args.obs_project print(f"{package}: creating new OBS package")
# cut off repository prefix like in "python/osmo-python-tests" @@ -117,7 +114,6 @@
def update_package(package, version): - proj = lib.args.obs_project print(f"{package}: updating OBS package")
# cut off repository prefix like in "python/osmo-python-tests" @@ -146,5 +142,4 @@
def delete_package(package, commit_msg): print(f"{package}: removing from OBS ({commit_msg})") - run_osc(["rdelete", "-m", commit_msg, lib.args.obs_project, - os.path.basename(package)]) + run_osc(["rdelete", "-m", commit_msg, proj, os.path.basename(package)]) diff --git a/scripts/obs/update_obs_project.py b/scripts/obs/update_obs_project.py index 599e5cd..eee58a7 100755 --- a/scripts/obs/update_obs_project.py +++ b/scripts/obs/update_obs_project.py @@ -231,9 +231,8 @@ if args.docker: lib.docker.run_in_docker_and_exit("update_obs_project.py", True)
- lib.osc.check_proj() lib.osc.check_oscrc() - lib.osc.set_apiurl(args.apiurl) + lib.osc.set_apiurl(args.apiurl, args.obs_project)
if not args.ignore_req: lib.check_required_programs()