mirror of
https://github.com/altlinux/gpupdate.git
synced 2025-08-23 09:49:29 +03:00
Compare commits
2 Commits
0.9.11.2-a
...
binary_mod
Author | SHA1 | Date | |
---|---|---|---|
8292aa69b3
|
|||
aa03e6dfa4
|
@ -41,8 +41,13 @@ from util.users import (
|
||||
with_privileges
|
||||
)
|
||||
from util.logging import slogm
|
||||
from util.paths import (
|
||||
frontend_module_dir
|
||||
)
|
||||
|
||||
import logging
|
||||
import os
|
||||
import subprocess
|
||||
|
||||
def determine_username(username=None):
|
||||
'''
|
||||
@ -72,6 +77,12 @@ class frontend_manager:
|
||||
'''
|
||||
|
||||
def __init__(self, username, is_machine):
|
||||
frontend_module_files = frontend_module_dir().glob('**/*')
|
||||
self.frontend_module_binaries = list()
|
||||
for exe in frontend_module_files:
|
||||
if (exe.is_file() and os.access(exe.resolve(), os.X_OK)):
|
||||
self.frontend_module_binaries.append(exe)
|
||||
|
||||
self.storage = registry_factory('registry')
|
||||
self.username = determine_username(username)
|
||||
self.is_machine = is_machine
|
||||
@ -105,6 +116,10 @@ class frontend_manager:
|
||||
logging.error('Not sufficient privileges to run machine appliers')
|
||||
return
|
||||
logging.debug(slogm('Applying computer part of settings'))
|
||||
|
||||
for exe in self.frontend_module_binaries:
|
||||
subprocess.check_call([exe.resolve()])
|
||||
|
||||
self.machine_appliers['systemd'].apply()
|
||||
self.machine_appliers['control'].apply()
|
||||
self.machine_appliers['polkit'].apply()
|
||||
|
@ -59,3 +59,31 @@ def local_policy_cache():
|
||||
|
||||
return lpcache
|
||||
|
||||
def backend_module_dir():
|
||||
backend_dir = '/usr/lib/gpoa/backend'
|
||||
return pathlib.Path(backend_dir)
|
||||
|
||||
def frontend_module_dir():
|
||||
frontend_dir = '/usr/lib/gpoa/frontend'
|
||||
return pathlib.Path(frontend_dir)
|
||||
|
||||
def storage_module_dir():
|
||||
storage_dir = '/usr/lib/gpoa/storage'
|
||||
return pathlib.Path(storage_dir)
|
||||
|
||||
def pre_backend_plugin_dir():
|
||||
pre_backend_dir = '/usr/lib/gpoa/backend_pre'
|
||||
return pathlib.Path(pre_backend_dir)
|
||||
|
||||
def post_backend_plugin_dir():
|
||||
post_backend_dir = '/usr/lib/gpoa/backend_post'
|
||||
return pathlib.Path(post_backend_dir)
|
||||
|
||||
def pre_frontend_plugin_dir():
|
||||
pre_forntend_dir = '/usr/lib/gpoa/frontend_pre'
|
||||
return pathlib.Path(pre_frontend_dir)
|
||||
|
||||
def post_frontend_plugin_dir():
|
||||
post_frontend_dir = '/usr/lib/gpoa/frontend_post'
|
||||
return pathlib.Path(post_frontend_dir)
|
||||
|
||||
|
Reference in New Issue
Block a user