Merge branch 'backend_manual' of gitlab2.kylin.com:kylin-desktop/update-manager-group/kylin-system-updater into backend_manual
This commit is contained in:
commit
f0bbc43b21
|
@ -505,10 +505,14 @@ class Sqlite3Server(object):
|
|||
sql = "select display_name_cn from application where display_name='"+name+"'"
|
||||
cursor.execute(sql)
|
||||
connect.commit()
|
||||
if cursor.fetchone():
|
||||
return str(cursor.fetchone()[0])
|
||||
else:
|
||||
return ''
|
||||
except Exception as e:
|
||||
logging.error(_("Failed to initialize the database: %s"), str(e))
|
||||
return False
|
||||
return str(cursor.fetchone()[0])
|
||||
|
||||
|
||||
|
||||
def listtojsonstr(lists):
|
||||
import json
|
||||
|
|
|
@ -24,8 +24,7 @@ class UpgradeConfig(SafeConfigParser):
|
|||
# defaults are read first
|
||||
self.config_files = []
|
||||
if defaults_dir:
|
||||
for cfg in glob.glob(defaults_dir + "/*.cfg"):
|
||||
self.config_files.append(cfg)
|
||||
self.config_files.append(os.path.join(datadir, defaults_dir))
|
||||
# our config file
|
||||
self.config_files += [maincfg]
|
||||
# overrides are read later
|
||||
|
|
|
@ -290,6 +290,13 @@ def url_downloadable(uri, debug_func=None):
|
|||
return False
|
||||
return False
|
||||
|
||||
def emulate_calcul_broken(pkgs):
|
||||
args = ["apt-get", "install","--simulate"]
|
||||
args = args + pkgs
|
||||
|
||||
p = subprocess.run(args, stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True)
|
||||
logging.error(str(p.stdout))
|
||||
|
||||
def is_chinese(string):
|
||||
"""
|
||||
检查整个字符串是否包含中文
|
||||
|
|
|
@ -38,7 +38,7 @@ class UpdateManager():
|
|||
GROUPS_PKG_NAME = 'kylin-update-desktop-config'
|
||||
APTD_PKG_NAME = "aptdaemon"
|
||||
RUN_UNATTENDED_UPGRADE = '/var/run/unattended-upgrades.pid'
|
||||
RETRY_LIMIT_NUM = 1
|
||||
RETRY_LIMIT_NUM = 2
|
||||
|
||||
def __init__(self,options):
|
||||
self.options = options
|
||||
|
|
|
@ -19,6 +19,8 @@ from apt import Cache
|
|||
import subprocess
|
||||
from SystemUpdater.Core.UpdateList import LocalUpgradeDataList
|
||||
from SystemUpdater.Core.errors import *
|
||||
import threading
|
||||
from SystemUpdater.Core.utils import emulate_calcul_broken
|
||||
|
||||
class NowUpgradeMeta:
|
||||
"""
|
||||
|
@ -529,6 +531,8 @@ class InstallBackend():
|
|||
logging.info('Resolver calculation Packages List: '+pkg_string+'\n')
|
||||
desc ='\n' + msg
|
||||
logging.error('\n' + msg)
|
||||
threading_emulate = threading.Thread(target=emulate_calcul_broken,args=(pkgs_install + pkgs_upgrade,))
|
||||
threading_emulate.start()
|
||||
return _success,[],[],header,desc
|
||||
|
||||
def _emulate_calcul_delete(self,pkg,cache):
|
||||
|
@ -797,7 +801,7 @@ class InstallBackend():
|
|||
|
||||
#判断是否是源过滤调整的包 调整的话 判断安装版本 来解决是否安装成功
|
||||
if pkg in adjust_pkgs:
|
||||
if pkg_obj.is_installed == True and pkg_obj.name + '=' + pkg_obj.installed.source_version in self.upgrade_data.adjust_pkgs:
|
||||
if pkg_obj.is_installed == True and pkg_obj.is_now_broken == False and pkg_obj.name + '=' + pkg_obj.installed.source_version in self.upgrade_data.adjust_pkgs:
|
||||
self.window_main.sqlite3_server.insert_info(self.action_mode,[pkg],[],self.upgrade_data.adjust_pkgs,True,'', '')
|
||||
else:
|
||||
false_num += 1
|
||||
|
@ -805,7 +809,7 @@ class InstallBackend():
|
|||
self.window_main.sqlite3_server.insert_info(self.action_mode,[pkg],[],self.upgrade_data.adjust_pkgs,False,error_string, error_desc)
|
||||
else:
|
||||
#非调整版本的计算方式
|
||||
if pkg_obj.is_installed == True and pkg_obj.is_upgradable == False:
|
||||
if pkg_obj.is_installed == True and pkg_obj.is_upgradable == False and pkg_obj.is_now_broken == False:
|
||||
self.window_main.sqlite3_server.insert_info(self.action_mode,[pkg],[],self.upgrade_data.adjust_pkgs,True,'', '')
|
||||
else:
|
||||
false_num += 1
|
||||
|
@ -822,12 +826,12 @@ class InstallBackend():
|
|||
for pkg in pkgs_install + pkgs_upgrade:
|
||||
pkg_obj = fresh_cache[pkg]
|
||||
if pkg in adjust_pkgs:
|
||||
if pkg_obj.is_installed == True and pkg_obj.installed.source_version + pkg_obj.name in self.upgrade_data.adjust_pkgs:
|
||||
if pkg_obj.is_installed == True and pkg_obj.is_now_broken == False and pkg_obj.installed.source_version + pkg_obj.name in self.upgrade_data.adjust_pkgs:
|
||||
total_pkg.remove(pkg)
|
||||
else:
|
||||
install_error_pkgs.append(pkg)
|
||||
else:
|
||||
if pkg_obj.is_installed == True and pkg_obj.is_upgradable == False:
|
||||
if pkg_obj.is_installed == True and pkg_obj.is_upgradable == False and pkg_obj.is_now_broken == False:
|
||||
total_pkg.remove(pkg)
|
||||
else:
|
||||
install_error_pkgs.append(pkg)
|
||||
|
|
|
@ -0,0 +1,15 @@
|
|||
[AutoUpgrade]
|
||||
upgradelist =
|
||||
|
||||
[SystemStatus]
|
||||
abnormal_reboot = False
|
||||
close_source_filter = False
|
||||
|
||||
[ConfigPkgStatus]
|
||||
check_resover_remove = False
|
||||
check_frontend_pkg = True
|
||||
|
||||
[InstallMode]
|
||||
shutdown_install = False
|
||||
manual_install = False
|
||||
auto_install = False
|
|
@ -10,6 +10,6 @@ check_resover_remove = False
|
|||
check_frontend_pkg = True
|
||||
|
||||
[InstallMode]
|
||||
shutdown_install = True
|
||||
shutdown_install = False
|
||||
manual_install = False
|
||||
auto_install = False
|
Loading…
Reference in New Issue