mirror of
https://pagure.io/fm-orchestrator.git
synced 2026-04-02 18:28:52 +08:00
Enable custom chroot on existing projects
This commit is contained in:
@@ -99,10 +99,13 @@ class CoprModuleBuilder(GenericBuilder):
|
||||
}
|
||||
|
||||
try:
|
||||
return self._get_copr(**kwargs)
|
||||
copr = self._get_copr(**kwargs)
|
||||
except CoprRequestException:
|
||||
self._create_copr(**kwargs)
|
||||
return self._get_copr(**kwargs)
|
||||
copr = self._get_copr(**kwargs)
|
||||
|
||||
self._create_chroot_safe(copr, self.chroot)
|
||||
return copr
|
||||
|
||||
def _get_copr(self, ownername, projectname):
|
||||
return self.client.get_project_details(projectname, username=ownername).handle
|
||||
@@ -110,6 +113,12 @@ class CoprModuleBuilder(GenericBuilder):
|
||||
def _create_copr(self, ownername, projectname):
|
||||
return self.client.create_project(ownername, projectname, [self.chroot])
|
||||
|
||||
def _create_chroot_safe(self, copr, chroot):
|
||||
detail = copr.get_project_details().data["detail"]
|
||||
current_chroots = detail["yum_repos"].keys()
|
||||
if chroot not in current_chroots:
|
||||
self.client.modify_project(copr.projectname, copr.username, chroots=current_chroots + [chroot])
|
||||
|
||||
def _create_module_safe(self):
|
||||
from copr.exceptions import CoprRequestException
|
||||
|
||||
|
||||
Reference in New Issue
Block a user