|
|
@ -33,7 +33,8 @@ USAGE = _("%prog [options] package_name")
|
|
|
|
COMMENT_EXAMPLES = _("Update configuration files of package nss_ldap")
|
|
|
|
COMMENT_EXAMPLES = _("Update configuration files of package nss_ldap")
|
|
|
|
|
|
|
|
|
|
|
|
# Пример использования программы
|
|
|
|
# Пример использования программы
|
|
|
|
EXAMPLES = _("%prog --system --path / nss_ldap")
|
|
|
|
EXAMPLES = _(r"%prog --system --pkg_category net-nds --pkg_version 2.4.19\
|
|
|
|
|
|
|
|
--path / openldap")
|
|
|
|
|
|
|
|
|
|
|
|
# Описание программы (что делает программа)
|
|
|
|
# Описание программы (что делает программа)
|
|
|
|
DESCRIPTION = _("Update configuration files package installed")
|
|
|
|
DESCRIPTION = _("Update configuration files package installed")
|
|
|
@ -45,7 +46,13 @@ CMD_OPTIONS=[{'longOption':"system",
|
|
|
|
'help':_("update desktop (user) configuration files")},
|
|
|
|
'help':_("update desktop (user) configuration files")},
|
|
|
|
{'longOption':"path",
|
|
|
|
{'longOption':"path",
|
|
|
|
'optVal':"PATH",
|
|
|
|
'optVal':"PATH",
|
|
|
|
'help':_("root path for saving the updated configuration files")}]
|
|
|
|
'help':_("root path for saving the updated configuration files")},
|
|
|
|
|
|
|
|
{'longOption':"pkg_category",
|
|
|
|
|
|
|
|
'optVal':"CATEGORY",
|
|
|
|
|
|
|
|
'help':_("package category name")},
|
|
|
|
|
|
|
|
{'longOption':"pkg_version",
|
|
|
|
|
|
|
|
'optVal':"VERSION",
|
|
|
|
|
|
|
|
'help':_("package version number without the revision")}]
|
|
|
|
|
|
|
|
|
|
|
|
class update_cmd:
|
|
|
|
class update_cmd:
|
|
|
|
def __init__(self):
|
|
|
|
def __init__(self):
|
|
|
@ -85,6 +92,14 @@ class update_cmd:
|
|
|
|
errMsg = _("no such option") + ":" + " --path"
|
|
|
|
errMsg = _("no such option") + ":" + " --path"
|
|
|
|
self.optobj.error(errMsg)
|
|
|
|
self.optobj.error(errMsg)
|
|
|
|
return False
|
|
|
|
return False
|
|
|
|
|
|
|
|
if not optObj.pkg_category:
|
|
|
|
|
|
|
|
errMsg = _("no such option") + ":" + " --pkg_category"
|
|
|
|
|
|
|
|
self.optobj.error(errMsg)
|
|
|
|
|
|
|
|
return False
|
|
|
|
|
|
|
|
if not optObj.pkg_version:
|
|
|
|
|
|
|
|
errMsg = _("no such option") + ":" + " --pkg_version"
|
|
|
|
|
|
|
|
self.optobj.error(errMsg)
|
|
|
|
|
|
|
|
return False
|
|
|
|
if not filter(lambda x: x, [optObj.system, optObj.desktop]):
|
|
|
|
if not filter(lambda x: x, [optObj.system, optObj.desktop]):
|
|
|
|
errMsg = _("no such options") + ":" + " --system " + _("or") +\
|
|
|
|
errMsg = _("no such options") + ":" + " --system " + _("or") +\
|
|
|
|
" --desktop"
|
|
|
|
" --desktop"
|
|
|
@ -92,7 +107,7 @@ class update_cmd:
|
|
|
|
return False
|
|
|
|
return False
|
|
|
|
return optObj, args
|
|
|
|
return optObj, args
|
|
|
|
|
|
|
|
|
|
|
|
def updateSystemConfig(self, nameProgram, configPath):
|
|
|
|
def updateSystemConfig(self, nameProgram, category, version, configPath):
|
|
|
|
"""Обновление системных конфигурационных файлов"""
|
|
|
|
"""Обновление системных конфигурационных файлов"""
|
|
|
|
# Проверка есть ли в пакете защищенные конфигурационные файлы
|
|
|
|
# Проверка есть ли в пакете защищенные конфигурационные файлы
|
|
|
|
if not self.logicSystemObj.isExistsProtectFiles(configPath):
|
|
|
|
if not self.logicSystemObj.isExistsProtectFiles(configPath):
|
|
|
@ -100,11 +115,12 @@ class update_cmd:
|
|
|
|
self.logicSystemObj.logger.warn(_("Not found protected files"))
|
|
|
|
self.logicSystemObj.logger.warn(_("Not found protected files"))
|
|
|
|
return True
|
|
|
|
return True
|
|
|
|
# Обновление конфигурационных файлов
|
|
|
|
# Обновление конфигурационных файлов
|
|
|
|
if not self.logicSystemObj.updateConfig(nameProgram, configPath):
|
|
|
|
if not self.logicSystemObj.updateConfig(nameProgram, category, version,
|
|
|
|
|
|
|
|
configPath):
|
|
|
|
return False
|
|
|
|
return False
|
|
|
|
return True
|
|
|
|
return True
|
|
|
|
|
|
|
|
|
|
|
|
def updateUserConfig(self, nameProgram):
|
|
|
|
def updateUserConfig(self, nameProgram, category, version):
|
|
|
|
"""Обновление конфигурационных файлов для пользователей в X сеансах"""
|
|
|
|
"""Обновление конфигурационных файлов для пользователей в X сеансах"""
|
|
|
|
# Пользователи в X сессии
|
|
|
|
# Пользователи в X сессии
|
|
|
|
xUsers = self.logicUserObj.getXUsers()
|
|
|
|
xUsers = self.logicUserObj.getXUsers()
|
|
|
@ -113,6 +129,7 @@ class update_cmd:
|
|
|
|
self.logicUserObj.logger.warn(_("Not found X sessions users"))
|
|
|
|
self.logicUserObj.logger.warn(_("Not found X sessions users"))
|
|
|
|
return True
|
|
|
|
return True
|
|
|
|
# Обновление конфигурационных файлов
|
|
|
|
# Обновление конфигурационных файлов
|
|
|
|
if not self.logicUserObj.updateConfig(nameProgram, xUsers):
|
|
|
|
if not self.logicUserObj.updateConfig(nameProgram, category, version,
|
|
|
|
|
|
|
|
xUsers):
|
|
|
|
return False
|
|
|
|
return False
|
|
|
|
return True
|
|
|
|
return True
|