Update repos in the chroot instead of the repos for the whole project

This commit is contained in:
Jakub Kadlčík
2017-04-06 18:30:32 +02:00
parent 70185edad4
commit 62d6930d92

View File

@@ -175,14 +175,22 @@ class CoprModuleBuilder(GenericBuilder):
log.info("%r adding deps on %r" % (self, dependencies))
# @TODO get architecture from some builder variable
repos = [self._dependency_repo(d, "x86_64") for d in dependencies]
self.client.modify_project(self.copr.projectname, username=self.copr.username, repos=repos)
self._update_chroot(repos=repos)
def _update_chroot(self, packages=None, repos=None):
request = self.client.get_chroot(self.copr.projectname, self.copr.username, "fedora-24-x86_64")
chroot = request.data["chroot"]
current_packages = (chroot["buildroot_pkgs"] or "").split()
current_repos = (chroot["repos"] or "").split()
def merge(current, new):
current, new = current or [], new or []
return " ".join(set(current + new))
def _update_chroot(self, packages=None):
chroot = self.client.get_chroot(self.copr.projectname, self.copr.username, "fedora-24-x86_64")
current_packages = (chroot.data["chroot"]["buildroot_pkgs"] or "").split()
self.client.edit_chroot(self.copr.projectname, "fedora-24-x86_64",
ownername=self.copr.username,
packages=" ".join(set(packages + current_packages)))
packages=merge(current_packages, packages),
repos=merge(current_repos, repos))
def _dependency_repo(self, module, arch, backend="copr"):
try: