From 76ff4456ebe588eae0cf5bbf2de81a49500b1d83 Mon Sep 17 00:00:00 2001 From: Marco Strigl Date: Wed, 12 Jun 2024 20:57:56 +0200 Subject: [PATCH] add architecture filtering to osc release --- osc/_private/api_source.py | 4 ++++ osc/_private/common.py | 4 ++++ osc/commandline.py | 3 +++ 3 files changed, 11 insertions(+) diff --git a/osc/_private/api_source.py b/osc/_private/api_source.py index 0be6fbde..ee493e74 100644 --- a/osc/_private/api_source.py +++ b/osc/_private/api_source.py @@ -89,6 +89,7 @@ def release( project, package, repository, + architecture, target_project, target_repository, set_release_to=None, @@ -102,6 +103,7 @@ def release( target_project, target_package=None, repository=repository, + architecture=architecture, dest_repository=target_repository, delayed=delayed, ) @@ -114,6 +116,8 @@ def release( url_query = {"cmd": "release"} if repository: url_query["repository"] = repository + if architecture: + url_query["arch"] = architecture if target_project: url_query["target_project"] = target_project if target_repository: diff --git a/osc/_private/common.py b/osc/_private/common.py index a27efb34..53736e37 100644 --- a/osc/_private/common.py +++ b/osc/_private/common.py @@ -8,6 +8,7 @@ def format_msg_project_package_options( dest_project=None, dest_package=None, repository=None, + architecture=None, dest_repository=None, **options, ): @@ -34,6 +35,9 @@ def format_msg_project_package_options( if dest_repository: msg += f" repository '{dest_repository}'" + if architecture: + msg += f" architecture '{architecture}'" + msg_options = [key.replace("_", "-") for key, value in options.items() if value] if msg_options: msg_options.sort() diff --git a/osc/commandline.py b/osc/commandline.py index 0bc7dc63..b6cc7922 100644 --- a/osc/commandline.py +++ b/osc/commandline.py @@ -3922,6 +3922,8 @@ Please submit there instead, or use --nodevelproject to force direct submission. keep_link=opts.keep_link) print(decode_it(r)) + @cmdln.option('-a', '--arch', metavar='ARCH', + help='Release only binaries from the specified architecture') @cmdln.option('-r', '--repo', metavar='REPO', help='Release only binaries from the specified repository') @cmdln.option('--target-project', metavar='TARGETPROJECT', @@ -3954,6 +3956,7 @@ Please submit there instead, or use --nodevelproject to force direct submission. project=project, package=package, repository=opts.repo, + architecture=opts.arch, target_project=opts.target_project, target_repository=opts.target_repository, set_release_to=opts.set_release,