mirror of
https://github.com/altlinux/gpupdate.git
synced 2025-03-21 18:50:38 +03:00
package_applier: Check if module is enabled via policy
This commit is contained in:
parent
a74e29d335
commit
db200e2668
@ -24,9 +24,15 @@ from util.rpm import (
|
||||
, remove_rpm
|
||||
)
|
||||
|
||||
from .applier_frontend import applier_frontend
|
||||
from .applier_frontend import (
|
||||
applier_frontend
|
||||
, check_module_enabled
|
||||
)
|
||||
|
||||
class package_applier(applier_frontend):
|
||||
__module_name = 'package_applier'
|
||||
__module_experimental = True
|
||||
__module_enabled = False
|
||||
__install_key_name = 'Install'
|
||||
__remove_key_name = 'Remove'
|
||||
__hklm_branch = 'Software\\BaseALT\\Policies\\Packages'
|
||||
@ -40,22 +46,29 @@ class package_applier(applier_frontend):
|
||||
self.install_packages_setting = self.storage.filter_hklm_entries(install_branch)
|
||||
self.remove_packages_setting = self.storage.filter_hklm_entries(remove_branch)
|
||||
|
||||
def apply(self):
|
||||
update()
|
||||
for package in self.install_packages_setting:
|
||||
try:
|
||||
install_rpm(package.data)
|
||||
except Exception as exc:
|
||||
logging.error(exc)
|
||||
self.__module_enabled = check_module_enabled(self.storage, self.__module_name, self.__module_enabled)
|
||||
|
||||
for package in self.remove_packages_setting:
|
||||
try:
|
||||
remove_rpm(package.data)
|
||||
except Exception as exc:
|
||||
logging.error(exc)
|
||||
def apply(self):
|
||||
if self.__module_enabled:
|
||||
if 0 < len(self.install_packages_setting) or 0 < len(self.remove_packages_setting):
|
||||
update()
|
||||
for package in self.install_packages_setting:
|
||||
try:
|
||||
install_rpm(package.data)
|
||||
except Exception as exc:
|
||||
logging.error(exc)
|
||||
|
||||
for package in self.remove_packages_setting:
|
||||
try:
|
||||
remove_rpm(package.data)
|
||||
except Exception as exc:
|
||||
logging.error(exc)
|
||||
|
||||
|
||||
class package_applier_user(applier_frontend):
|
||||
__module_name = 'package_applier_user'
|
||||
__module_experimental = True
|
||||
__module_enabled = False
|
||||
__install_key_name = 'Install'
|
||||
__remove_key_name = 'Remove'
|
||||
__hkcu_branch = 'Software\\BaseALT\\Policies\\Packages'
|
||||
@ -71,6 +84,8 @@ class package_applier_user(applier_frontend):
|
||||
self.install_packages_setting = self.storage.filter_hkcu_entries(self.sid, install_branch)
|
||||
self.remove_packages_setting = self.storage.filter_hkcu_entries(self.sid, remove_branch)
|
||||
|
||||
self.__module_enabled = check_module_enabled(self.storage, self.__module_name, self.__module_enabled)
|
||||
|
||||
def user_context_apply(self):
|
||||
'''
|
||||
There is no point to implement this behavior.
|
||||
@ -82,16 +97,18 @@ class package_applier_user(applier_frontend):
|
||||
Install software assigned to specified username regardless
|
||||
which computer he uses to log into system.
|
||||
'''
|
||||
update()
|
||||
for package in self.install_packages_setting:
|
||||
try:
|
||||
install_rpm(package.data)
|
||||
except Exception as exc:
|
||||
logging.debug(exc)
|
||||
if self.__module_enabled:
|
||||
if 0 < len(self.install_packages_setting) or 0 < len(self.remove_packages_setting):
|
||||
update()
|
||||
for package in self.install_packages_setting:
|
||||
try:
|
||||
install_rpm(package.data)
|
||||
except Exception as exc:
|
||||
logging.debug(exc)
|
||||
|
||||
for package in self.remove_packages_setting:
|
||||
try:
|
||||
remove_rpm(package.data)
|
||||
except Exception as exc:
|
||||
logging.debug(exc)
|
||||
for package in self.remove_packages_setting:
|
||||
try:
|
||||
remove_rpm(package.data)
|
||||
except Exception as exc:
|
||||
logging.debug(exc)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user