Use correct namespace for SIGs during validation

When validating the spelling of the package during cloning, decide based
on the program name whether to use the default namespace of CentOS RPMs,
or the namespace dedicated to CentOS SIGs.

Note that there is no reasonable way to deduce the specific SIG, so it
is required to give absolute path, e.g.,`‹SIG›/rpms/‹package›` when
cloning.

Signed-off-by: Matej Focko <mfocko@redhat.com>
This commit is contained in:
Matej Focko 2024-06-10 09:47:11 +02:00
parent 875769d8e2
commit 8e123d3908
No known key found for this signature in database
GPG key ID: 7C47D46246790496

View file

@ -31,6 +31,10 @@ import os
import sys import sys
_DEFAULT_API_BASE_URL = 'https://gitlab.com' _DEFAULT_API_BASE_URL = 'https://gitlab.com'
_DEFAULT_PARENT_NAMESPACE = {
'centpkg': 'redhat/centos-stream',
'centpkg-sig': 'CentOS',
}
class centpkgClient(cliClient): class centpkgClient(cliClient):
@ -355,11 +359,13 @@ class centpkgClient(cliClient):
# Since gitlab allows git repos to be checked out with incorrect capitilization # Since gitlab allows git repos to be checked out with incorrect capitilization
# we need to check the spelling when cloning # we need to check the spelling when cloning
gl = gitlab.Gitlab(_DEFAULT_API_BASE_URL) gl = gitlab.Gitlab(_DEFAULT_API_BASE_URL)
parent_namespace = _DEFAULT_PARENT_NAMESPACE[self.DEFAULT_CLI_NAME]
if "/" in self.args.repo[0]: if "/" in self.args.repo[0]:
project_name_with_namespace = "redhat/centos-stream/"+self.args.repo[0] project_name_with_namespace = parent_namespace+"/"+self.args.repo[0]
short_name=self.args.repo[0].split("/")[-1] short_name=self.args.repo[0].split("/")[-1]
else: else:
project_name_with_namespace = "redhat/centos-stream/rpms/"+self.args.repo[0] project_name_with_namespace = parent_namespace+"/rpms/"+self.args.repo[0]
short_name=self.args.repo[0] short_name=self.args.repo[0]
try: try:
project = gl.projects.get(project_name_with_namespace) project = gl.projects.get(project_name_with_namespace)