diff --git a/pym/update/update.py b/pym/update/update.py index e55b395..5281179 100644 --- a/pym/update/update.py +++ b/pym/update/update.py @@ -1228,6 +1228,7 @@ class Update(MethodsInterface): if oldval != newval: self.clVars.Write('cl_update_with_bdeps_set', newval, location="system") + self.clVars.Set('cl_update_force_depclean_set', 'on') return True def message_binhost_changed(self): diff --git a/pym/update/utils/cl_update.py b/pym/update/utils/cl_update.py index e1da361..b975d58 100644 --- a/pym/update/utils/cl_update.py +++ b/pym/update/utils/cl_update.py @@ -45,6 +45,7 @@ class UpdateConditions(object): def func(Get): task = EmergeLog(EmergeLogNamedTask(task_name)) return (bool(PackageList(task.list)[pkg]) + or Get('cl_update_force_depclean_set') == 'on' or Get('cl_update_outdated_kernel_set') == 'on') return func diff --git a/pym/update/variables/update.py b/pym/update/variables/update.py index bca3b0c..62b06e4 100644 --- a/pym/update/variables/update.py +++ b/pym/update/variables/update.py @@ -1752,3 +1752,11 @@ class VariableClUpdateWithBdepsOptSet(Variable): def get(self): return self.Get('cl_update_with_bdeps_set') + + +class VariableClUpdateForceDepcleanSet(Variable): + """ + Принудительный вызов depclean + """ + type = "bool" + value = "off"