diff --git a/pym/update_config/cl_update_config.py b/pym/update_config/cl_update_config.py index 2395184..853498b 100644 --- a/pym/update_config/cl_update_config.py +++ b/pym/update_config/cl_update_config.py @@ -18,12 +18,15 @@ __version__ = "2.2.0.0" __app__ = "calculate-lib" import sys, os, stat, re +from shutil import copy2 + from cl_log import log import cl_datavars import cl_template from cl_print import color_print as old_color_print from cl_utils import runOsCommand, scanDirectory, pathJoin import cl_overriding +from cl_utils import getModeFile import cl_lang # Перевод модуля @@ -142,8 +145,6 @@ class updateUserConfigs(shareUpdateConfigs): """Обновление конфигурационных файлов у пользователей""" # флаг обновления и программы используемые для наложения шаблонов flagUpdate, mergePrograms = self.getFlagUpdAndInstPrograms() - if not flagUpdate: - return True # Пользователи в X сессии xUsers = self.getXUsers() if not xUsers: @@ -243,8 +244,6 @@ class updateSystemConfigs(shareUpdateConfigs): """Обновление системных конфигурационных файлов""" # флаг обновления и программы используемые для наложения шаблонов flagUpdate, mergePrograms = self.getFlagUpdAndInstPrograms() - if not flagUpdate: - return True # Проверка есть ли в пакете защищенные конфигурационные файлы if not self.isExistsProtectFiles(configPath): self.logger.info(_("Package %s") %nameProgram) @@ -304,6 +303,13 @@ class updateSystemConfigs(shareUpdateConfigs): nameFile = nameF.partition(configPath)[2] if nameFile[:1] != "/": nameFile = "/" + nameFile + if flagUpdate: + src = nameF + dst = nameFile + if src != dst: + copy2(src, dst) + sUid, sGid = getModeFile(src, mode="owner") + os.chown(dst, sUid, sGid) self.printWARNING(" "*5 + nameFile) else: self.logger.warn(_("Not found templates"))