diff --git a/pym/update/update.py b/pym/update/update.py index a3aa592..8e0e197 100644 --- a/pym/update/update.py +++ b/pym/update/update.py @@ -261,13 +261,14 @@ class Update(object): self.addProgress() if clean_on_error: try: - if not self._syncRepository(repname, url, rpath, revision, branch, - cb_progress=self.setProgress): - return "skip" layman = Layman(dv.Get('cl_update_layman_installed'), - dv.Get('cl_update_layman_make')) + dv.Get('cl_update_layman_make'), + dv.Get('cl_update_layman_conf')) if repname != "portage": layman.add(repname, url, rpath) + if not self._syncRepository(repname, url, rpath, revision, branch, + cb_progress=self.setProgress): + return "skip" return True except GitError as e: if e.addon: @@ -295,7 +296,8 @@ class Update(object): return "skip" layman = Layman(dv.Get('cl_update_layman_installed'), - dv.Get('cl_update_layman_make')) + dv.Get('cl_update_layman_make'), + dv.Get('cl_update_layman_conf')) if repname != "portage": layman.add(repname, url, rpath) return True diff --git a/pym/update/variables/update.py b/pym/update/variables/update.py index 2713ac6..be3c7f5 100644 --- a/pym/update/variables/update.py +++ b/pym/update/variables/update.py @@ -381,7 +381,8 @@ class VariableClUpdateOtherRepData(ReadonlyTableVariable): def generator(self): repNames = self.Get('cl_update_rep_name') layman = Layman(self.Get('cl_update_layman_installed'), - self.Get('cl_update_layman_make')) + self.Get('cl_update_layman_make'), + self.Get('cl_update_layman_conf')) layman_overlays = layman.get_installed() for rpath in self.Get('cl_portdir_overlay'): repo_file = path.join(rpath, "profiles/repo_name") @@ -422,6 +423,12 @@ class VariableClUpdateLaymanMake(Variable): # TODO: извлечь из layman.cfg value = "/var/lib/layman/make.conf" +class VariableClUpdateLaymanConf(Variable): + """ + Путь до конфигурационного файла репозиториев для layman + """ + value = "/etc/portage/repos.conf/layman.conf" + class VariableClUpdatePretendSet(Variable): """ Запустить предварительную проверку на обновления