|
|
|
@@ -15,16 +15,9 @@ events_path = '/etc/e-smith/events'
|
|
|
|
|
initialize_database = events_path + '/actions/initialize-default-databases'
|
|
|
|
|
navigation_conf = events_path + '/actions/navigation-conf'
|
|
|
|
|
systemctl = "/usr/bin/systemctl"
|
|
|
|
|
# not used
|
|
|
|
|
#dnf_update_dbs = events_path + '/actions/yum-update-dbs'
|
|
|
|
|
#Conflicts=yum-cron.service dnf-automatic-notifyonly.service dnf-automatic.service
|
|
|
|
|
signal_event = '/sbin/e-smith/signal-event'
|
|
|
|
|
config_set = '/sbin/e-smith/config'
|
|
|
|
|
status_file = '/var/cache/dnf/dnf.status'
|
|
|
|
|
#not used
|
|
|
|
|
#expand_template = '/sbin/e-smith/expand-template'
|
|
|
|
|
#not used
|
|
|
|
|
#service = '/sbin/e-smith/service'
|
|
|
|
|
|
|
|
|
|
eventlist = dict()
|
|
|
|
|
actionlist = dict()
|
|
|
|
@@ -68,7 +61,7 @@ servicenames['squid']='squid',
|
|
|
|
|
servicenames['qmail']='qmail',
|
|
|
|
|
servicenames['qpsmtpd']='qpsmtpd', 'sqpsmtpd',
|
|
|
|
|
|
|
|
|
|
DEBUG = True
|
|
|
|
|
DEBUG = False
|
|
|
|
|
smechange = False
|
|
|
|
|
smechangelist = dict()
|
|
|
|
|
ourfile = False
|
|
|
|
@@ -87,7 +80,6 @@ class SMEServer(dnf.Plugin):
|
|
|
|
|
self.base = base
|
|
|
|
|
self.logger = logger
|
|
|
|
|
self.report_yum_status('init')
|
|
|
|
|
self.log("smeserver.py: __init__")
|
|
|
|
|
|
|
|
|
|
def log(self,s):
|
|
|
|
|
if DEBUG :
|
|
|
|
@@ -122,21 +114,18 @@ class SMEServer(dnf.Plugin):
|
|
|
|
|
|
|
|
|
|
def pre_config(self):
|
|
|
|
|
self.report_yum_status('pre_config')
|
|
|
|
|
self.log("smeserver.py: pre_config")
|
|
|
|
|
|
|
|
|
|
def config(self):
|
|
|
|
|
self.report_yum_status('config')
|
|
|
|
|
self.log("smeserver.py: config")
|
|
|
|
|
|
|
|
|
|
def sack(self):
|
|
|
|
|
global ourfile
|
|
|
|
|
ourfile = True
|
|
|
|
|
self.report_yum_status('sack')
|
|
|
|
|
self.log("smeserver.py: sack")
|
|
|
|
|
|
|
|
|
|
def resolved(self):
|
|
|
|
|
self.report_yum_status('resolved')
|
|
|
|
|
self.log("smeserver.py: resolved")
|
|
|
|
|
|
|
|
|
|
#2 PKG_DOWNGRADE = dnf.transaction.PKG_DOWNGRADE # :api
|
|
|
|
|
#1 PKG_INSTALL = dnf.transaction.PKG_INSTALL # :api
|
|
|
|
|
#4 PKG_OBSOLETE = dnf.transaction.PKG_OBSOLETE # :api
|
|
|
|
@@ -150,7 +139,6 @@ class SMEServer(dnf.Plugin):
|
|
|
|
|
|
|
|
|
|
def pre_transaction(self):
|
|
|
|
|
self.report_yum_status('pretrans')
|
|
|
|
|
self.log("smeserver.py: Pretrans")
|
|
|
|
|
# Prefetch filelist for packages to be removed,
|
|
|
|
|
in_ts_items = []
|
|
|
|
|
out_ts_items = []
|
|
|
|
@@ -207,7 +195,7 @@ class SMEServer(dnf.Plugin):
|
|
|
|
|
n= str(tsmem.name)
|
|
|
|
|
# if the pkg.name is present on both IN and OUT, then we assume update/downgrade and continue to transaction
|
|
|
|
|
if n in installs_dict :
|
|
|
|
|
self.log('updating ==> state ' + str(tsmem.pkg) + " to " + str(installs_dict[n].pkg) )
|
|
|
|
|
#self.log('updating ==> state ' + str(tsmem.pkg) + " to " + str(installs_dict[n].pkg) )
|
|
|
|
|
continue
|
|
|
|
|
self.log('**Package: ' + str(tsmem.pkg) + ' to be removed')
|
|
|
|
|
smeevent = n + '-update'
|
|
|
|
@@ -256,8 +244,8 @@ class SMEServer(dnf.Plugin):
|
|
|
|
|
# if we are here this is a smeserver pkg without an update event, needs reboot...
|
|
|
|
|
if (n.startswith('smeserver') or n.startswith('e-smith')) and not n.startswith('smeserver-locale'):
|
|
|
|
|
smechange = True
|
|
|
|
|
smechangelist[n]=str(tsmem.installed) + " " + str(tsmem.pkg)
|
|
|
|
|
self.log("smechange set to True because of " + n + " without an update event " + str(tsmem.installed) + " " + str(tsmem.pkg) )
|
|
|
|
|
smechangelist[n]=str(tsmem.pkg)
|
|
|
|
|
self.log("smechange set to True because of " + n + " without an update event " + str(tsmem.pkg) )
|
|
|
|
|
#end of if smeserver-*-update event exist
|
|
|
|
|
# do we need this for removal ?
|
|
|
|
|
if "/etc/e-smith/web/panels/manager/cgi-bin" in tsmem.files :
|
|
|
|
@@ -292,7 +280,6 @@ class SMEServer(dnf.Plugin):
|
|
|
|
|
|
|
|
|
|
def transaction(self):
|
|
|
|
|
self.report_yum_status('transaction')
|
|
|
|
|
self.log("smeserver.py: transaction")
|
|
|
|
|
|
|
|
|
|
#ts = self.getTsInfo()
|
|
|
|
|
#rpmdb = self.getRpmDB()
|
|
|
|
@@ -355,7 +342,7 @@ class SMEServer(dnf.Plugin):
|
|
|
|
|
# either no exception or does not fit exceptions: we need reboot
|
|
|
|
|
smechange = True
|
|
|
|
|
smechangelist[n]=str(n) + "-" + str(v) + "-" + str(r)
|
|
|
|
|
self.log("smechange set to True because of " + n + " with " + str(v) + "-" + str(r) + " " + str(tsmem.installed))
|
|
|
|
|
self.log("smechange set to True because of " + n + " with " + str(v) + "-" + str(r) )
|
|
|
|
|
#self.log("smechange set to True because of " + pkg)
|
|
|
|
|
|
|
|
|
|
# check if we're upgrading a restartpkgs rpm
|
|
|
|
@@ -417,8 +404,8 @@ class SMEServer(dnf.Plugin):
|
|
|
|
|
else:
|
|
|
|
|
if (n.startswith('smeserver') or n.startswith('e-smith')) and not n.startswith('smeserver-locale') and not (n in removenorebootok):
|
|
|
|
|
smechange = True
|
|
|
|
|
smechangelist[n]=str(tsmem.po.state) + " " + str(tsmem.current_state) + " " + str(tsmem.output_state)
|
|
|
|
|
self.log("smechange set to True because of " + n + " with " + str(tsmem.po.state) + " " + str(tsmem.current_state) + " " + str(tsmem.output_state) )
|
|
|
|
|
smechangelist[n]=str(tsmem.name) + "-" + str(tsmem.version) + "-" + str(tsmem.release)
|
|
|
|
|
self.log("smechange set to True because of " + n )
|
|
|
|
|
|
|
|
|
|
# as long as it is a sme pkg we need to rebuild panel
|
|
|
|
|
if "/etc/e-smith/web/panels/manager/cgi-bin" in tsmem.files :
|
|
|
|
|