From 62d6930d927ed2771fad595c1fee68e904d53320 Mon Sep 17 00:00:00 2001 From: Jakub Kadlčík Date: Apr 07 2017 06:53:41 +0000 Subject: Update repos in the chroot instead of the repos for the whole project --- diff --git a/module_build_service/builder/CoprModuleBuilder.py b/module_build_service/builder/CoprModuleBuilder.py index 21dc922..4c235fd 100644 --- a/module_build_service/builder/CoprModuleBuilder.py +++ b/module_build_service/builder/CoprModuleBuilder.py @@ -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: