This commit is contained in:
parent
bbdf5b14a3
commit
5d102687f3
|
@ -0,0 +1,23 @@
|
|||
QMAKE_CXX.QT_COMPILER_STDCXX = 201402L
|
||||
QMAKE_CXX.QMAKE_GCC_MAJOR_VERSION = 9
|
||||
QMAKE_CXX.QMAKE_GCC_MINOR_VERSION = 3
|
||||
QMAKE_CXX.QMAKE_GCC_PATCH_VERSION = 0
|
||||
QMAKE_CXX.COMPILER_MACROS = \
|
||||
QT_COMPILER_STDCXX \
|
||||
QMAKE_GCC_MAJOR_VERSION \
|
||||
QMAKE_GCC_MINOR_VERSION \
|
||||
QMAKE_GCC_PATCH_VERSION
|
||||
QMAKE_CXX.INCDIRS = \
|
||||
/usr/include/c++/9 \
|
||||
/usr/include/x86_64-linux-gnu/c++/9 \
|
||||
/usr/include/c++/9/backward \
|
||||
/usr/lib/gcc/x86_64-linux-gnu/9/include \
|
||||
/usr/local/include \
|
||||
/usr/include/x86_64-linux-gnu \
|
||||
/usr/include
|
||||
QMAKE_CXX.LIBDIRS = \
|
||||
/usr/lib/gcc/x86_64-linux-gnu/9 \
|
||||
/usr/lib/x86_64-linux-gnu \
|
||||
/usr/lib \
|
||||
/lib/x86_64-linux-gnu \
|
||||
/lib
|
|
@ -1,103 +0,0 @@
|
|||
# AlertWatcher.py
|
||||
# -*- Mode: Python; indent-tabs-mode: nil; tab-width: 4; coding: utf-8 -*-
|
||||
#
|
||||
# Copyright (c) 2010 Mohamed Amine IL Idrissi
|
||||
#
|
||||
# Author: Mohamed Amine IL Idrissi <ilidrissiamine@gmail.com>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License as
|
||||
# published by the Free Software Foundation; either version 2 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
||||
# USA
|
||||
|
||||
from __future__ import absolute_import
|
||||
import logging
|
||||
|
||||
from gi.repository import GObject
|
||||
import dbus
|
||||
from dbus.mainloop.glib import DBusGMainLoop
|
||||
|
||||
|
||||
class AlertWatcher(GObject.GObject):
|
||||
""" a class that checks for alerts and reports them, like a battery
|
||||
or network warning """
|
||||
|
||||
__gsignals__ = {"network-alert": (GObject.SignalFlags.RUN_FIRST,
|
||||
None,
|
||||
(GObject.TYPE_INT,)),
|
||||
"battery-alert": (GObject.SignalFlags.RUN_FIRST,
|
||||
None,
|
||||
(GObject.TYPE_BOOLEAN,)),
|
||||
"network-3g-alert": (GObject.SignalFlags.RUN_FIRST,
|
||||
None,
|
||||
(GObject.TYPE_BOOLEAN,
|
||||
GObject.TYPE_BOOLEAN,)),
|
||||
}
|
||||
|
||||
def __init__(self):
|
||||
GObject.GObject.__init__(self)
|
||||
DBusGMainLoop(set_as_default=True)
|
||||
self.bus = dbus.Bus(dbus.Bus.TYPE_SYSTEM)
|
||||
# make it always connected if NM isn't available
|
||||
self.network_state = 3
|
||||
|
||||
def check_alert_state(self):
|
||||
try:
|
||||
#network
|
||||
obj = self.bus.get_object("org.freedesktop.NetworkManager",
|
||||
"/org/freedesktop/NetworkManager")
|
||||
obj.connect_to_signal(
|
||||
"StateChanged",
|
||||
self._on_network_state_changed,
|
||||
dbus_interface="org.freedesktop.NetworkManager")
|
||||
interface = dbus.Interface(obj, "org.freedesktop.DBus.Properties")
|
||||
self.network_state = interface.Get(
|
||||
"org.freedesktop.NetworkManager", "State")
|
||||
self._network_alert(self.network_state)
|
||||
|
||||
# power
|
||||
# obj = self.bus.get_object('org.freedesktop.UPower',
|
||||
# '/org/freedesktop/UPower')
|
||||
# obj.connect_to_signal("Changed", self._power_changed,
|
||||
# dbus_interface="org.freedesktop.UPower")
|
||||
# self._power_changed()
|
||||
# 3g
|
||||
# self._update_3g_state()
|
||||
except dbus.exceptions.DBusException as e:
|
||||
logging.error(str(e))
|
||||
pass
|
||||
|
||||
def _on_network_state_changed(self, state):
|
||||
self._network_alert(state)
|
||||
# self._update_3g_state()
|
||||
|
||||
# def _update_3g_state(self):
|
||||
# from .roam import NetworkManagerHelper
|
||||
# nm = NetworkManagerHelper()
|
||||
# on_3g = nm.is_active_connection_gsm_or_cdma()
|
||||
# is_roaming = nm.is_active_connection_gsm_or_cdma_roaming()
|
||||
# self._network_3g_alert(on_3g, is_roaming)
|
||||
|
||||
# def _network_3g_alert(self, on_3g, is_roaming):
|
||||
# self.emit("network-3g-alert", on_3g, is_roaming)
|
||||
|
||||
def _network_alert(self, state):
|
||||
self.network_state = state
|
||||
self.emit("network-alert", state)
|
||||
|
||||
# def _power_changed(self):
|
||||
# obj = self.bus.get_object("org.freedesktop.UPower",
|
||||
# "/org/freedesktop/UPower")
|
||||
# interface = dbus.Interface(obj, "org.freedesktop.DBus.Properties")
|
||||
# on_battery = interface.Get("org.freedesktop.UPower", "OnBattery")
|
||||
# self.emit("battery-alert", on_battery)
|
|
@ -1,328 +0,0 @@
|
|||
#!/usr/bin/python3
|
||||
# -*- coding: utf-8 -*-
|
||||
import os
|
||||
import re
|
||||
import json
|
||||
import shutil
|
||||
import sqlite3
|
||||
import logging
|
||||
import datetime
|
||||
from gettext import gettext as _
|
||||
|
||||
import apt_pkg
|
||||
|
||||
DB_FILE = os.path.join("/var/cache/kylin-system-updater/kylin-system-updater.db")
|
||||
INSTALLED_LIST = [{"item": "errorcode", "type": "int", "default": "0"}]
|
||||
DISPALY_LIST = []
|
||||
|
||||
MODE_DEFAULT_STATUS = -1
|
||||
#部分升级
|
||||
MODE_UPGRADE_PARTIAL = 0
|
||||
#全部升级
|
||||
MODE_UPGRADE_ALL = 1
|
||||
#系统全盘升级
|
||||
MODE_UPGRADE_SYSTEM = 2
|
||||
#后端内部安装包使用
|
||||
MODE_UPGRADE_SINGLE = 3
|
||||
|
||||
class Sqlite3Server(object):
|
||||
def __init__(self, window_main):
|
||||
self.connect = None
|
||||
self.window_main = window_main
|
||||
logging.info(_("Init Sqlite3Server..."))
|
||||
self.init_sqlit()
|
||||
|
||||
# 初始化连接数据库
|
||||
def init_sqlit(self):
|
||||
logging.info(_("Initialize the connection to the database ..."))
|
||||
try:
|
||||
if os.path.isfile(DB_FILE):
|
||||
self.connect = sqlite3.connect(DB_FILE, check_same_thread=False)
|
||||
self.cursor = self.connect.cursor()
|
||||
self.insert_new_field()
|
||||
else:
|
||||
if not os.path.isdir(os.path.dirname(DB_FILE)):
|
||||
os.makedirs(os.path.dirname(DB_FILE))
|
||||
shutil.copy("/usr/share/kylin-system-updater/kylin-system-updater.db", os.path.dirname(DB_FILE))
|
||||
self.connect = sqlite3.connect(DB_FILE, check_same_thread=False)
|
||||
self.cursor = self.connect.cursor()
|
||||
self.insert_new_field()
|
||||
except Exception as e:
|
||||
logging.error(_("Failed to initialize the database: %s"), str(e))
|
||||
return False
|
||||
logging.info(_("Connecting to the database successfully."))
|
||||
return True
|
||||
|
||||
# 数据库表格中动态增加新的字段用于扩展
|
||||
def insert_new_field(self):
|
||||
if len(INSTALLED_LIST) == 0 and len(DISPALY_LIST) == 0:
|
||||
return
|
||||
self.cursor.execute("select sql from sqlite_master where name='installed'")
|
||||
installed_sql = self.cursor.fetchone()[0]
|
||||
pattern = re.compile(r'\"\w+\"')
|
||||
installed_sql_list = pattern.findall(installed_sql)
|
||||
for value in INSTALLED_LIST:
|
||||
for field in installed_sql_list:
|
||||
if value["item"] == str(field).strip("\""):
|
||||
break
|
||||
elif field == installed_sql_list[len(installed_sql_list) - 1]:
|
||||
try:
|
||||
if value["default"] != "":
|
||||
sql = 'alter table installed add column "' + value["item"] + '" ' + value["type"] \
|
||||
+ ' default ' + str(value["default"])
|
||||
else:
|
||||
sql = 'alter table installed add column "' + value["item"] + '" ' + value["type"]
|
||||
self.cursor.execute(sql)
|
||||
logging.info(_("installed table insert new field: %s"), value["item"])
|
||||
except:
|
||||
logging.error(_("installed table failed to insert a new field:"), value["item"], exc_info=True)
|
||||
|
||||
self.cursor.execute("select sql from sqlite_master where name='display'")
|
||||
display_sql = self.cursor.fetchone()[0]
|
||||
pattern = re.compile(r'\"\w+\"')
|
||||
display_sql_list = pattern.findall(display_sql)
|
||||
for value in DISPALY_LIST:
|
||||
for field in display_sql_list:
|
||||
if value["item"] == str(field).strip("\""):
|
||||
break
|
||||
elif field == display_sql_list[len(display_sql_list) - 1]:
|
||||
try:
|
||||
if value["default"] != "":
|
||||
sql = 'alter table display add column "' + value["item"] + '" ' + value["type"] \
|
||||
+ ' default ' + str(value["default"])
|
||||
else:
|
||||
sql = 'alter table installed add column "' + value["item"] + '" ' + value["type"]
|
||||
self.cursor.execute(sql)
|
||||
logging.info(_("display table insert new field: %s"), value["item"])
|
||||
except:
|
||||
logging.error(_("display table failed to insert a new field: %s"), value["item"], exc_info=True)
|
||||
|
||||
# 写入数据到installed表中
|
||||
def insert_into_installed(self, *args, **kwargs):
|
||||
self.cursor.execute(
|
||||
"insert into installed (appname, version, time, description, icon, statue, keyword, errorcode) values(?,"
|
||||
"?,?,?,?,?,?,?)",
|
||||
(args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7]))
|
||||
self.connect.commit()
|
||||
|
||||
# 写入数据到display表中
|
||||
def insert_into_display(self, *args, **kwargs):
|
||||
sql = "update display set " + args[0] + "='" + args[1] + "' where id = 1"
|
||||
self.cursor.execute(sql)
|
||||
self.connect.commit()
|
||||
|
||||
# 写入updateinfos表中
|
||||
def insert_into_updateinfo(self, *args, **kwargs):
|
||||
logging.info(_("Inserting data into the database... "))
|
||||
try:
|
||||
self.cursor.execute(
|
||||
"insert into updateinfos (appname, version, description, date, status, keyword, errorcode) values(?,"
|
||||
"?,?,?,?,?,?)",
|
||||
(args[0], args[1], args[2], args[3], args[4], args[5], args[6]))
|
||||
self.connect.commit()
|
||||
except Exception as e:
|
||||
logging.error("Insert error: %s.", str(e))
|
||||
logging.info(_("Data insertion complete ."))
|
||||
|
||||
# 接收更新列表与信息,生成数据并插入数据库中
|
||||
def insert_info(self, mode, pkg_list=[], pkg_group=[], success = False, error_string = '', error_desc = ''):
|
||||
errstr = error_string + " " + error_desc
|
||||
status = " "
|
||||
time = datetime.datetime.now()
|
||||
timestr = datetime.datetime.strftime(time, "%Y-%m-%d %H:%M:%S")
|
||||
|
||||
# 更新列表空,无更新
|
||||
if not pkg_list and pkg_group:
|
||||
logging.info("There is no update.")
|
||||
return True
|
||||
|
||||
if success:
|
||||
status = 'success'
|
||||
else:
|
||||
status = 'failed'
|
||||
|
||||
# 判断更新方式
|
||||
if mode == MODE_UPGRADE_PARTIAL: # 部分更新
|
||||
# 判断更新包为单包或更新组
|
||||
if pkg_group:
|
||||
# 更新组
|
||||
pkgname = pkg_group[0]
|
||||
pkgversion,pkgdescription = self.GetGroupmsg(pkgname)
|
||||
elif pkg_list:
|
||||
# 单包更新 # 获取单包数据插入数据库
|
||||
pkgname = pkg_list[0]
|
||||
try:
|
||||
pkg = self.window_main.cache[pkgname]
|
||||
except Exception as e:
|
||||
logging.error(_("%s could not be detected in the source because the source was changed or for other reasons."), \
|
||||
str(pkgname))
|
||||
pkgversion = str(pkg.candidate.version)
|
||||
pkgdescription = str(pkg.candidate.raw_description)
|
||||
try:
|
||||
self.insert_into_updateinfo(pkgname, pkgversion, pkgdescription, timestr, status, "1", errstr)
|
||||
# FIXME: 发送插入数据库成功的信号local_upgrade_list
|
||||
self.window_main.dbusController.UpdateSqlitSingle(pkgname, timestr)
|
||||
# 数据库文件被删除或者新增字段导致需要重新初始化数据库再写入
|
||||
except Exception as e:
|
||||
self.init_sqlit()
|
||||
self.insert_into_updateinfo(pkgname, pkgversion, pkgdescription, timestr, status, "1", errstr)
|
||||
# FIXME: 这里也需要, 发送插入数据库成功的信号
|
||||
self.window_main.dbusController.UpdateSqlitSingle(pkgname, timestr)
|
||||
elif mode == MODE_UPGRADE_ALL: # 系统升级
|
||||
# # insert signal deb first
|
||||
for i in pkg_list:
|
||||
try:
|
||||
pkg = self.window_main.cache[i]
|
||||
except Exception as e:
|
||||
logging.error(_("%s could not be detected in the source because the source was changed or for other reasons."), \
|
||||
str(i))
|
||||
continue
|
||||
if not pkg:
|
||||
continue
|
||||
pkgversion = str(pkg.candidate.version)
|
||||
pkgdescription = str(pkg.candidate.raw_description)
|
||||
try:
|
||||
self.insert_into_updateinfo(str(i), pkgversion, pkgdescription, timestr, status, "1", errstr)
|
||||
self.window_main.dbusController.UpdateSqlitSingle(str(i), timestr)
|
||||
# 数据库文件被删除或者新增字段导致需要重新初始化数据库再写入
|
||||
except Exception as e:
|
||||
self.init_sqlit()
|
||||
self.insert_into_updateinfo(str(i), pkgversion, pkgdescription, timestr, status, "1", errstr)
|
||||
self.window_main.dbusController.UpdateSqlitSingle(str(i), timestr)
|
||||
# insert group deb next
|
||||
for i in pkg_group:
|
||||
# FIXME: 获取组信息
|
||||
pkgversion,pkgdescription = self.GetGroupmsg(i)
|
||||
try:
|
||||
self.insert_into_updateinfo(str(i), pkgversion, pkgdescription, timestr, status, "1", errstr)
|
||||
group_list = []
|
||||
self.window_main.dbusController.UpdateSqlitSingle(str(i), timestr)
|
||||
# 数据库文件被删除或者新增字段导致需要重新初始化数据库再写入
|
||||
except Exception as e:
|
||||
self.init_sqlit()
|
||||
self.insert_into_updateinfo(str(i), pkgversion, pkgdescription, timestr, status, "1", errstr)
|
||||
self.window_main.dbusController.UpdateSqlitSingle(str(i), timestr)
|
||||
elif mode == MODE_UPGRADE_SYSTEM: # 全盘升级
|
||||
pkgs_install,pkgs_upgrade,pkgs_remove = self.refreshpkglist()
|
||||
pkg_list = list(set(pkgs_upgrade).union(set(pkgs_install)))
|
||||
for i in pkg_list:
|
||||
try:
|
||||
pkg = self.window_main.cache[i]
|
||||
except Exception as e:
|
||||
logging.error(_("%s could not be detected in the source because the source was changed or for other reasons."), \
|
||||
str(i))
|
||||
pkgversion = str(pkg.candidate.version)
|
||||
pkgdescription = str(pkg.candidate.raw_description)
|
||||
try:
|
||||
self.insert_into_updateinfo(str(i), pkgversion, pkgdescription, timestr, status, "1", errstr)
|
||||
# 数据库文件被删除或者新增字段导致需要重新初始化数据库再写入
|
||||
except Exception as e:
|
||||
self.init_sqlit()
|
||||
self.insert_into_updateinfo(str(i), pkgversion, pkgdescription, timestr, status, "1", errstr)
|
||||
self.window_main.dbusController.UpdateSqlitSingle(str(i), timestr)
|
||||
self.window_main.dbusController.UpdateSqlitSingle(str(i), timestr)
|
||||
else:
|
||||
logging.warning("Cache is None.")
|
||||
|
||||
# 获取group信息
|
||||
def GetGroupmsg(self, appname):
|
||||
INPUT_CONFIG_PATH = apt_pkg.config.find_dir("Kylin-system-updater::InputConfigDir",
|
||||
'/usr/share/kylin-update-desktop-config/data')
|
||||
jsonfile = appname+".json"
|
||||
files = os.listdir(INPUT_CONFIG_PATH) #获取文件夹中所有文件
|
||||
if jsonfile in files: # 存在
|
||||
# 读取组JSON文件
|
||||
with open(INPUT_CONFIG_PATH+"/"+jsonfile, "r") as f:
|
||||
try :
|
||||
data = json.load(f)
|
||||
except json.JSONDecodeError as e:
|
||||
logging.error(str(e))
|
||||
try:
|
||||
version = data['version']
|
||||
tmpdescription = data['description']
|
||||
except Exception as e:
|
||||
logging.error(str(e))
|
||||
if "zh_CN" in tmpdescription and "en_US" in tmpdescription:
|
||||
description = tmpdescription["zh_CN"] + ": " + tmpdescription["en_US"]
|
||||
return (version,description)
|
||||
else: # 不存在
|
||||
return (None, None)
|
||||
|
||||
def refreshpkglist(self):
|
||||
pkgs_install = []
|
||||
pkgs_upgrade = []
|
||||
pkgs_remove = []
|
||||
|
||||
for pkg in self.window_main.cache:
|
||||
try:
|
||||
if pkg.marked_install:
|
||||
pkgs_install.append(pkg.name)
|
||||
if pkg.marked_upgrade:
|
||||
pkgs_upgrade.append(pkg.name)
|
||||
elif pkg.marked_delete:
|
||||
pkgs_remove.append(pkg.name)
|
||||
except KeyError:
|
||||
# pkg missing from fresh_cache can't be modified
|
||||
pass
|
||||
return pkgs_install,pkgs_upgrade,pkgs_remove
|
||||
|
||||
#查找数据库
|
||||
def find_msg_from_datebase(self, action = 'check',table = 'updateinfos', cid = 0):
|
||||
# 查询table
|
||||
try:
|
||||
self.cursor.execute("select sql from sqlite_master")
|
||||
count_tables = 0
|
||||
while True:
|
||||
all_table = self.cursor.fetchone()
|
||||
if all_table == None:
|
||||
break
|
||||
tmpstr = str(all_table)
|
||||
if ("sqlite_sequence") in tmpstr or '(None,)' in tmpstr:
|
||||
continue
|
||||
else:
|
||||
# logging.info(tmpstr)
|
||||
count_tables = count_tables + 1
|
||||
pass
|
||||
logging.info("%d tables were found.", count_tables)
|
||||
except Exception as e:
|
||||
logging.error("Check tables error: %s", str(e))
|
||||
|
||||
# 检测历史更新升级
|
||||
try:
|
||||
sql = "SELECT COUNT(*) FROM updateinfos "
|
||||
self.cursor.execute(sql)
|
||||
update_count = self.cursor.fetchone()[0]
|
||||
logging.info("%d history updates detected.", update_count)
|
||||
except Exception as e:
|
||||
logging.error("Check update error: %s", str(e))
|
||||
|
||||
# 获取第cid次更新
|
||||
# if cid != 0 and cid > 0:
|
||||
# sql = "SELECT * FROM updateinfos where id='"+str(cid-1)+"'"
|
||||
# try:
|
||||
# self.cursor.execute(sql)
|
||||
# update_count = self.cursor.fetchone()
|
||||
# logging.info("\n\n### Update %d =============>\n### date:%s\n### status:%s\n### keyword:%s\n### errorcode:%s", \
|
||||
# update_count[0]+1, \
|
||||
# update_count[2], \
|
||||
# update_count[3], \
|
||||
# update_count[4], \
|
||||
# update_count[5])
|
||||
# updatelists = json.loads(update_count[1])
|
||||
# logging.info("update_lists: ------------------------>")
|
||||
# for i in updatelists:
|
||||
# for key in i:
|
||||
# logging.info("package name:\n[ %s ].\n----- version: %s\n----- description: %s\n----- icon: %s\n----- action: %s\n", \
|
||||
# key, \
|
||||
# i[key]['version'], \
|
||||
# i[key]['description'], \
|
||||
# i[key]['icon'], \
|
||||
# i[key]['action'])
|
||||
# print("\n")
|
||||
# except Exception as e:
|
||||
# logging.error("Get update error: %s", str(e))
|
||||
|
||||
def listtojsonstr(lists):
|
||||
import json
|
||||
jsonfile = json.dumps(lists)
|
||||
return jsonfile
|
File diff suppressed because it is too large
Load Diff
|
@ -1,44 +0,0 @@
|
|||
#!/usr/bin/python3
|
||||
# -*- coding: utf-8 -*-
|
||||
#参考文档: https://cuiqingcai.com/6080.html
|
||||
|
||||
import apt_pkg
|
||||
import os
|
||||
|
||||
path = apt_pkg.config.find_dir("Kylin-system-updater::LogDir",
|
||||
"/var/log/kylin-system-updater/")
|
||||
|
||||
numlist = []
|
||||
|
||||
def get_FileSize(filePath):
|
||||
fsize = os.path.getsize(filePath)
|
||||
fsize = fsize / float(1024 * 1024)
|
||||
return round(fsize, 2)
|
||||
|
||||
#日志回滚
|
||||
def get_logfile():
|
||||
if not os.path.exists(path):
|
||||
os.makedirs(path)
|
||||
#优先获取当前未写满100M的日志编号文件
|
||||
for i in os.listdir(path):
|
||||
if "kylin-system-updater.log." in os.path.basename(path + i):
|
||||
numlist.append((path + i).split(".")[2])
|
||||
if get_FileSize(path + i) < 10:
|
||||
return path + i
|
||||
#获取1-5未使用的最小数字的标号作为日志文件
|
||||
for i in range(1, 6):
|
||||
if str(i) not in numlist:
|
||||
return(os.path.join(path, ("kylin-system-updater.log.%s") % i))
|
||||
try:
|
||||
#编号1-5日志文件均写满时,删除第一个,往前移动日志编号,获取最后一个编号作为日志文件
|
||||
if len(numlist) != 0:
|
||||
os.remove(os.path.join(path, "kylin-system-updater.log.1"))
|
||||
for i in range(2, 6):
|
||||
os.rename(os.path.join(path, ("kylin-system-updater.log.%s") % i),
|
||||
os.path.join(path, ("kylin-system-updater.log.%s") % (i - 1)))
|
||||
return os.path.join(path, "kylin-system-updater.log.5")
|
||||
#默认情况下未生成任何日志时使用编号1的日志文件
|
||||
else:
|
||||
return os.path.join(path, "kylin-system-updater.log.1")
|
||||
except:
|
||||
return os.path.join(path, "kylin-system-updater.log.1")
|
|
@ -1,433 +0,0 @@
|
|||
# MyCache.py
|
||||
# -*- Mode: Python; indent-tabs-mode: nil; tab-width: 4; coding: utf-8 -*-
|
||||
#
|
||||
# Copyright (c) 2004-2008 Canonical
|
||||
#
|
||||
# Author: Michael Vogt <mvo@debian.org>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License as
|
||||
# published by the Free Software Foundation; either version 2 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
||||
# USA
|
||||
|
||||
from __future__ import absolute_import, print_function
|
||||
|
||||
import warnings
|
||||
warnings.filterwarnings("ignore", "apt API not stable yet", FutureWarning)
|
||||
import apt
|
||||
import apt_pkg
|
||||
import logging
|
||||
import os
|
||||
from urllib.error import HTTPError
|
||||
from urllib.request import urlopen
|
||||
from urllib.parse import urlsplit
|
||||
from http.client import BadStatusLine
|
||||
import socket
|
||||
import re
|
||||
import SystemUpdater.Core.DistUpgradeCache
|
||||
from gettext import gettext as _
|
||||
try:
|
||||
from launchpadlib.launchpad import Launchpad
|
||||
except ImportError:
|
||||
Launchpad = None
|
||||
|
||||
CHANGELOGS_POOL = "https://changelogs.ubuntu.com/changelogs/pool/"
|
||||
CHANGELOGS_URI = CHANGELOGS_POOL + "%s/%s/%s/%s_%s/%s"
|
||||
|
||||
|
||||
class HttpsChangelogsUnsupportedError(Exception):
|
||||
""" https changelogs with credentials are unsupported because of the
|
||||
lack of certitifcation validation in urllib2 which allows MITM
|
||||
attacks to steal the credentials
|
||||
"""
|
||||
pass
|
||||
|
||||
|
||||
class MyCache(SystemUpdater.Core.DistUpgradeCache.MyCache):
|
||||
|
||||
CHANGELOG_ORIGIN = "Ubuntu"
|
||||
|
||||
def __init__(self, progress, rootdir=None):
|
||||
apt.Cache.__init__(self, progress, rootdir)
|
||||
# save for later
|
||||
self.rootdir = rootdir
|
||||
# raise if we have packages in reqreinst state
|
||||
# and let the caller deal with that (runs partial upgrade)
|
||||
assert len(self.req_reinstall_pkgs) == 0
|
||||
# check if the dpkg journal is ok (we need to do that here
|
||||
# too because libapt will only do it when it tries to lock
|
||||
# the packaging system)
|
||||
assert(not self._dpkgJournalDirty())
|
||||
# init the regular cache
|
||||
self._initDepCache()
|
||||
self.all_changes = {}
|
||||
self.all_news = {}
|
||||
# on broken packages, try to fix via saveDistUpgrade()
|
||||
if self._depcache.broken_count > 0:
|
||||
self.saveDistUpgrade()
|
||||
assert (self._depcache.broken_count == 0
|
||||
and self._depcache.del_count == 0)
|
||||
self.launchpad = None
|
||||
|
||||
def _dpkgJournalDirty(self):
|
||||
"""
|
||||
test if the dpkg journal is dirty
|
||||
(similar to debSystem::CheckUpdates)
|
||||
"""
|
||||
d = os.path.dirname(
|
||||
apt_pkg.config.find_file("Dir::State::status")) + "/updates"
|
||||
for f in os.listdir(d):
|
||||
if re.match("[0-9]+", f):
|
||||
return True
|
||||
return False
|
||||
|
||||
def _initDepCache(self):
|
||||
self._depcache.read_pinfile()
|
||||
self._depcache.init()
|
||||
|
||||
def clear(self):
|
||||
self._initDepCache()
|
||||
|
||||
@property
|
||||
def required_download(self):
|
||||
""" get the size of the packages that are required to download """
|
||||
pm = apt_pkg.PackageManager(self._depcache)
|
||||
fetcher = apt_pkg.Acquire()
|
||||
pm.get_archives(fetcher, self._list, self._records)
|
||||
return fetcher.fetch_needed
|
||||
|
||||
@property
|
||||
def install_count(self):
|
||||
return self._depcache.inst_count
|
||||
|
||||
def keep_count(self):
|
||||
return self._depcache.keep_count
|
||||
|
||||
@property
|
||||
def del_count(self):
|
||||
return self._depcache.del_count
|
||||
|
||||
def _check_dependencies(self, target, deps):
|
||||
"""Return True if any of the dependencies in deps match target."""
|
||||
# TODO: handle virtual packages
|
||||
for dep_or in deps:
|
||||
if not dep_or:
|
||||
continue
|
||||
match = True
|
||||
for base_dep in dep_or:
|
||||
if (base_dep.name != target.package.shortname
|
||||
or not apt_pkg.check_dep(
|
||||
target.version, base_dep.relation, base_dep.version)):
|
||||
match = False
|
||||
if match:
|
||||
return True
|
||||
return False
|
||||
|
||||
def find_removal_justification(self, pkg):
|
||||
target = pkg.installed
|
||||
if not target:
|
||||
return False
|
||||
for cpkg in self:
|
||||
candidate = cpkg.candidate
|
||||
if candidate is not None:
|
||||
if (self._check_dependencies(
|
||||
target, candidate.get_dependencies("Conflicts"))
|
||||
and self._check_dependencies(
|
||||
target, candidate.get_dependencies("Replaces"))):
|
||||
logging.info(
|
||||
"%s Conflicts/Replaces %s; allowing removal" % (
|
||||
candidate.package.shortname, pkg.shortname))
|
||||
return True
|
||||
return False
|
||||
|
||||
def saveDistUpgrade(self):
|
||||
""" this functions mimics a upgrade but will never remove anything """
|
||||
#upgrade(True) 为True时使用dist-upgrade进行升级
|
||||
self._depcache.upgrade(True)
|
||||
wouldDelete = self._depcache.del_count
|
||||
wouldDelete = 0
|
||||
if wouldDelete > 0:
|
||||
deleted_pkgs = [pkg for pkg in self if pkg.marked_delete]
|
||||
assert wouldDelete == len(deleted_pkgs)
|
||||
for pkg in deleted_pkgs:
|
||||
if self.find_removal_justification(pkg):
|
||||
wouldDelete -= 1
|
||||
if wouldDelete > 0:
|
||||
self.clear()
|
||||
assert (self._depcache.broken_count == 0
|
||||
and self._depcache.del_count == 0)
|
||||
# else:
|
||||
# assert self._depcache.broken_count == 0
|
||||
self._depcache.upgrade()
|
||||
return wouldDelete
|
||||
|
||||
def _strip_epoch(self, verstr):
|
||||
" strip of the epoch "
|
||||
vers_no_epoch = verstr.split(":")
|
||||
if len(vers_no_epoch) > 1:
|
||||
verstr = "".join(vers_no_epoch[1:])
|
||||
return verstr
|
||||
|
||||
def _get_changelog_or_news(self, name, fname, strict_versioning=False,
|
||||
changelogs_uri=None):
|
||||
" helper that fetches the file in question "
|
||||
# don't touch the gui in this function, it needs to be thread-safe
|
||||
pkg = self[name]
|
||||
|
||||
# get the src package name
|
||||
srcpkg = pkg.candidate.source_name
|
||||
|
||||
# assume "main" section
|
||||
src_section = "main"
|
||||
# use the section of the candidate as a starting point
|
||||
section = pkg._pcache._depcache.get_candidate_ver(pkg._pkg).section
|
||||
|
||||
# get the source version
|
||||
srcver_epoch = pkg.candidate.source_version
|
||||
srcver = self._strip_epoch(srcver_epoch)
|
||||
|
||||
split_section = section.split("/")
|
||||
if len(split_section) > 1:
|
||||
src_section = split_section[0]
|
||||
|
||||
# lib is handled special
|
||||
prefix = srcpkg[0]
|
||||
if srcpkg.startswith("lib"):
|
||||
prefix = "lib" + srcpkg[3]
|
||||
|
||||
# the changelogs_uri argument overrides the default changelogs_uri,
|
||||
# this is useful for e.g. PPAs where we construct the changelogs
|
||||
# path differently
|
||||
if changelogs_uri:
|
||||
uri = changelogs_uri
|
||||
else:
|
||||
uri = CHANGELOGS_URI % (src_section, prefix, srcpkg, srcpkg,
|
||||
srcver, fname)
|
||||
|
||||
# https uris are not supported when they contain a username/password
|
||||
# because the urllib2 https implementation will not check certificates
|
||||
# and so its possible to do a man-in-the-middle attack to steal the
|
||||
# credentials
|
||||
res = urlsplit(uri)
|
||||
if res.scheme == "https" and res.username:
|
||||
raise HttpsChangelogsUnsupportedError(
|
||||
"https locations with username/password are not"
|
||||
"supported to fetch changelogs")
|
||||
|
||||
# print("Trying: %s " % uri)
|
||||
changelog = urlopen(uri)
|
||||
#print(changelog.read())
|
||||
# do only get the lines that are new
|
||||
alllines = ""
|
||||
regexp = "^%s \\((.*)\\)(.*)$" % (re.escape(srcpkg))
|
||||
|
||||
while True:
|
||||
line = changelog.readline().decode("UTF-8", "replace")
|
||||
if line == "":
|
||||
break
|
||||
match = re.match(regexp, line)
|
||||
if match:
|
||||
# strip epoch from installed version
|
||||
# and from changelog too
|
||||
installed = getattr(pkg.installed, "version", None)
|
||||
if installed and ":" in installed:
|
||||
installed = installed.split(":", 1)[1]
|
||||
changelogver = match.group(1)
|
||||
if changelogver and ":" in changelogver:
|
||||
changelogver = changelogver.split(":", 1)[1]
|
||||
# we test for "==" here for changelogs
|
||||
# to ensure that the version
|
||||
# is actually really in the changelog - if not
|
||||
# just display it all, this catches cases like:
|
||||
# gcc-defaults with "binver=4.3.1" and srcver=1.76
|
||||
#
|
||||
# for NEWS.Debian we do require the changelogver > installed
|
||||
if strict_versioning:
|
||||
if (installed
|
||||
and apt_pkg.version_compare(changelogver,
|
||||
installed) < 0):
|
||||
break
|
||||
else:
|
||||
if (installed
|
||||
and apt_pkg.version_compare(changelogver,
|
||||
installed) == 0):
|
||||
break
|
||||
alllines = alllines + line
|
||||
return alllines
|
||||
|
||||
def _extract_ppa_changelog_uri(self, name):
|
||||
"""Return the changelog URI from the Launchpad API
|
||||
|
||||
Return None in case of an error.
|
||||
"""
|
||||
if not Launchpad:
|
||||
logging.warning("Launchpadlib not available, cannot retrieve PPA "
|
||||
"changelog")
|
||||
return None
|
||||
|
||||
cdt = self[name].candidate
|
||||
for uri in cdt.uris:
|
||||
if urlsplit(uri).hostname != 'ppa.launchpad.net':
|
||||
continue
|
||||
match = re.search('http.*/(.*)/(.*)/ubuntu/.*', uri)
|
||||
if match is not None:
|
||||
user, ppa = match.group(1), match.group(2)
|
||||
break
|
||||
else:
|
||||
logging.error("Unable to find a valid PPA candidate URL.")
|
||||
return
|
||||
|
||||
# Login on launchpad if we are not already
|
||||
if self.launchpad is None:
|
||||
self.launchpad = Launchpad.login_anonymously('update-manager',
|
||||
'production',
|
||||
version='devel')
|
||||
|
||||
archive = self.launchpad.archives.getByReference(
|
||||
reference='~%s/ubuntu/%s' % (user, ppa)
|
||||
)
|
||||
if archive is None:
|
||||
logging.error("Unable to retrieve the archive from the Launchpad "
|
||||
"API.")
|
||||
return
|
||||
|
||||
spphs = archive.getPublishedSources(source_name=cdt.source_name,
|
||||
exact_match=True,
|
||||
version=cdt.source_version)
|
||||
if not spphs:
|
||||
logging.error("No published sources were retrieved from the "
|
||||
"Launchpad API.")
|
||||
return
|
||||
|
||||
return spphs[0].changelogUrl()
|
||||
|
||||
def _guess_third_party_changelogs_uri_by_source(self, name):
|
||||
pkg = self[name]
|
||||
deb_uri = pkg.candidate.uri
|
||||
if deb_uri is None:
|
||||
return None
|
||||
srcrec = pkg.candidate.record.get("Source")
|
||||
if not srcrec:
|
||||
return None
|
||||
# srcpkg can be "apt" or "gcc-default (1.0)"
|
||||
srcpkg = srcrec.split("(")[0].strip()
|
||||
if "(" in srcrec:
|
||||
srcver = srcrec.split("(")[1].rstrip(")")
|
||||
else:
|
||||
srcver = pkg.candidate.source_version
|
||||
base_uri = deb_uri.rpartition("/")[0]
|
||||
return base_uri + "/%s_%s.changelog" % (srcpkg, srcver)
|
||||
|
||||
def _guess_third_party_changelogs_uri_by_binary(self, name):
|
||||
""" guess changelogs uri based on ArchiveURI by replacing .deb
|
||||
with .changelog
|
||||
"""
|
||||
# there is always a pkg and a pkg.candidate, no need to add
|
||||
# check here
|
||||
pkg = self[name]
|
||||
deb_uri = pkg.candidate.uri
|
||||
if deb_uri:
|
||||
return "%s.changelog" % deb_uri.rsplit(".", 1)[0]
|
||||
return None
|
||||
|
||||
def get_news_and_changelog(self, name, lock):
|
||||
self.get_news(name)
|
||||
self.get_changelog(name)
|
||||
try:
|
||||
lock.release()
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
def get_news(self, name):
|
||||
" get the NEWS.Debian file from the changelogs location "
|
||||
try:
|
||||
news = self._get_changelog_or_news(name, "NEWS.Debian", True)
|
||||
except Exception:
|
||||
return
|
||||
if news:
|
||||
self.all_news[name] = news
|
||||
|
||||
def _fetch_changelog_for_third_party_package(self, name, origins):
|
||||
# Special case for PPAs
|
||||
changelogs_uri_ppa = None
|
||||
for origin in origins:
|
||||
if origin.origin.startswith('LP-PPA-'):
|
||||
try:
|
||||
changelogs_uri_ppa = self._extract_ppa_changelog_uri(name)
|
||||
break
|
||||
except Exception:
|
||||
logging.exception("Unable to connect to the Launchpad "
|
||||
"API.")
|
||||
# Try non official changelog location
|
||||
changelogs_uri_binary = \
|
||||
self._guess_third_party_changelogs_uri_by_binary(name)
|
||||
changelogs_uri_source = \
|
||||
self._guess_third_party_changelogs_uri_by_source(name)
|
||||
error_message = ""
|
||||
for changelogs_uri in [changelogs_uri_ppa,
|
||||
changelogs_uri_binary,
|
||||
changelogs_uri_source]:
|
||||
if changelogs_uri:
|
||||
try:
|
||||
changelog = self._get_changelog_or_news(
|
||||
name, "changelog", False, changelogs_uri)
|
||||
self.all_changes[name] += changelog
|
||||
except (HTTPError, HttpsChangelogsUnsupportedError):
|
||||
# no changelogs_uri or 404
|
||||
error_message = _(
|
||||
"This update does not come from a "
|
||||
"source that supports changelogs.")
|
||||
except (IOError, BadStatusLine, socket.error):
|
||||
# network errors and others
|
||||
logging.exception("error on changelog fetching")
|
||||
error_message = _(
|
||||
"Failed to download the list of changes. \n"
|
||||
"Please check your Internet connection.")
|
||||
self.all_changes[name] += error_message
|
||||
|
||||
def get_changelog(self, name):
|
||||
" get the changelog file from the changelog location "
|
||||
origins = self[name].candidate.origins
|
||||
self.all_changes[name] = _("Changes for %s versions:\n"
|
||||
"Installed version: %s\n"
|
||||
"Available version: %s\n\n") % \
|
||||
(name, getattr(self[name].installed, "version", None),
|
||||
self[name].candidate.version)
|
||||
if self.CHANGELOG_ORIGIN not in [o.origin for o in origins]:
|
||||
self._fetch_changelog_for_third_party_package(name, origins)
|
||||
return
|
||||
# fixup epoch handling version
|
||||
srcpkg = self[name].candidate.source_name
|
||||
srcver_epoch = self[name].candidate.source_version.replace(':', '%3A')
|
||||
try:
|
||||
changelog = self._get_changelog_or_news(name, "changelog")
|
||||
if len(changelog) == 0:
|
||||
changelog = _("The changelog does not contain any relevant "
|
||||
"changes.\n\n"
|
||||
"Please use http://launchpad.net/ubuntu/+source/"
|
||||
"%s/%s/+changelog\n"
|
||||
"until the changes become available or try "
|
||||
"again later.") % (srcpkg, srcver_epoch)
|
||||
except HTTPError:
|
||||
changelog = _("The list of changes is not available yet.\n\n"
|
||||
"Please use http://launchpad.net/ubuntu/+source/"
|
||||
"%s/%s/+changelog\n"
|
||||
"until the changes become available or try again "
|
||||
"later.") % (srcpkg, srcver_epoch)
|
||||
except (IOError, BadStatusLine, socket.error) as e:
|
||||
print("caught exception: ", e)
|
||||
changelog = _("Failed to download the list "
|
||||
"of changes. \nPlease "
|
||||
"check your Internet "
|
||||
"connection.")
|
||||
self.all_changes[name] += changelog
|
|
@ -1,432 +0,0 @@
|
|||
# UpdateList.py
|
||||
# -*- Mode: Python; indent-tabs-mode: nil; tab-width: 4; coding: utf-8 -*-
|
||||
#
|
||||
# Copyright (c) 2004-2013 Canonical
|
||||
#
|
||||
# Author: Michael Vogt <mvo@debian.org>
|
||||
# Dylan McCall <dylanmccall@ubuntu.com>
|
||||
# Michael Terry <michael.terry@canonical.com>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License as
|
||||
# published by the Free Software Foundation; either version 2 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
||||
# USA
|
||||
|
||||
from __future__ import print_function
|
||||
from gettext import gettext as _
|
||||
import logging
|
||||
import os
|
||||
import json
|
||||
import yaml
|
||||
import shutil
|
||||
import apt_pkg
|
||||
from gi.repository import Gio
|
||||
from .filter import UpdateListFilterCache
|
||||
|
||||
OUTPUT_CONFIG_PATH = apt_pkg.config.find_dir("Kylin-system-updater::OutputConfigDir",
|
||||
'/var/lib/kylin-system-updater')
|
||||
|
||||
INPUT_CONFIG_PATH = apt_pkg.config.find_dir("Kylin-system-updater::InputConfigDir",
|
||||
'/usr/share/kylin-update-desktop-config/data')
|
||||
|
||||
IMPORTANT_LIST_PATH = apt_pkg.config.find_file("Kylin-system-updater::ImportantListDir",
|
||||
"/var/lib/kylin-software-properties/template/important.list")
|
||||
|
||||
class LocalUpgradeDataList:
|
||||
"""
|
||||
Represent the (potentially partial) results of an unattended-upgrades
|
||||
run
|
||||
"""
|
||||
def __init__(self,
|
||||
upgrade_groups_pkgs={},
|
||||
upgrade_groups=[],
|
||||
single_pkgs=[],
|
||||
adjust_pkgs=[],
|
||||
):
|
||||
#可升级的组列表
|
||||
self.upgrade_groups = upgrade_groups
|
||||
#组列表中包含的包
|
||||
self.upgrade_groups_pkgs = upgrade_groups_pkgs
|
||||
#推送的可升级的单包
|
||||
self.single_pkgs = single_pkgs
|
||||
#调整版本列表
|
||||
self.adjust_pkgs = adjust_pkgs
|
||||
|
||||
class UpdateList():
|
||||
|
||||
def __init__(self,parent):
|
||||
self.parent = parent
|
||||
#所有的组升级安装列表
|
||||
self.local_upgrade_data = LocalUpgradeDataList({},[],[],[])
|
||||
|
||||
self.fu = UpdateListFilterCache(self.parent)
|
||||
|
||||
if 'XDG_CURRENT_DESKTOP' in os.environ:
|
||||
self.current_desktop = os.environ.get('XDG_CURRENT_DESKTOP')
|
||||
else:
|
||||
self.current_desktop = ''
|
||||
|
||||
if 'XDG_DATA_DIRS' in os.environ and os.environ['XDG_DATA_DIRS']:
|
||||
data_dirs = os.environ['XDG_DATA_DIRS']
|
||||
else:
|
||||
data_dirs = '/usr/local/share/:/usr/share/'
|
||||
|
||||
self.application_dirs = [os.path.join(base, 'applications')
|
||||
for base in data_dirs.split(':')]
|
||||
#清空上次输出的分组JSON文件
|
||||
def _empty_output_dir(self):
|
||||
try:
|
||||
if not os.path.exists(OUTPUT_CONFIG_PATH):
|
||||
os.makedirs(OUTPUT_CONFIG_PATH)
|
||||
logging.info('making the configuration file is complete...')
|
||||
else:
|
||||
shutil.rmtree(OUTPUT_CONFIG_PATH)
|
||||
os.makedirs(OUTPUT_CONFIG_PATH)
|
||||
logging.info('Emptying the configuration file is complete...')
|
||||
except Exception as e:
|
||||
logging.error(str(e))
|
||||
|
||||
def _read_important_list(self,cache,pkgs_upgrade):
|
||||
header = ''
|
||||
desc = ''
|
||||
pkg_important_list = []
|
||||
pkg_install_list = []
|
||||
group_important_list = []
|
||||
|
||||
# 获取importantlist 本次更新推送
|
||||
try:
|
||||
with open(IMPORTANT_LIST_PATH, 'r') as f:
|
||||
data = f.read()
|
||||
important_list = data.split()
|
||||
|
||||
for pkg_name in important_list:
|
||||
#检查是否在cache 没有在cache中属于组
|
||||
if pkg_name in cache:
|
||||
pkg_obj = cache[pkg_name]
|
||||
#在可升级的列表当中 此步骤为了排除已安装不需要升级的
|
||||
if pkg_obj.is_installed:
|
||||
if pkg_obj in pkgs_upgrade:
|
||||
pkg_important_list.append(pkg_obj.name)
|
||||
pkgs_upgrade.remove(pkg_obj)
|
||||
else:
|
||||
pkg_install_list.append(pkg_obj)
|
||||
else:
|
||||
group_important_list.append(pkg_name)
|
||||
|
||||
if pkg_install_list != None:
|
||||
#进行安装列表的过滤
|
||||
pkg_install_list,adjust_pkgs = self.fu.check_in_allowed_origin(pkg_install_list)
|
||||
self.local_upgrade_data.adjust_pkgs += adjust_pkgs
|
||||
for pkg in pkg_install_list:
|
||||
pkg.mark_install()
|
||||
pkg_important_list.append(pkg.name)
|
||||
|
||||
logging.info("pkg_important_list: %a, group_important_list:%a",pkg_important_list,group_important_list)
|
||||
return True,group_important_list,pkg_important_list,header,desc
|
||||
except Exception as e:
|
||||
header = _("read important list failed")
|
||||
desc = str(e)
|
||||
logging.error(header + desc)
|
||||
return False,group_important_list,pkg_important_list,header,desc
|
||||
|
||||
def _make_pkg_info_json(self,cache,pkgs_list):
|
||||
total_download_size = 0
|
||||
total_installed_size = 0
|
||||
pkgs_info_json = {}
|
||||
|
||||
for pkg_name in pkgs_list:
|
||||
try:
|
||||
pkg = cache[pkg_name]
|
||||
#当前版本
|
||||
cur_version = getattr(pkg.installed, "version", '')
|
||||
new_version = getattr(pkg.candidate, "version", '')
|
||||
|
||||
#获取下载大小
|
||||
download_size = getattr(pkg.candidate, "size", 0)
|
||||
installed_size = getattr(pkg.candidate, "installed_size", 0)
|
||||
|
||||
total_download_size = total_download_size + download_size
|
||||
total_installed_size = total_installed_size + installed_size
|
||||
|
||||
pkgs_info_json.update({pkg_name:{"cur_version":cur_version,"new_version":new_version,\
|
||||
"download_size":download_size,"install_size":installed_size}})
|
||||
|
||||
except Exception as e:
|
||||
logging.error("this package(%s) not in list and error mes:%s",pkg_name,e)
|
||||
|
||||
pkgs_info_json.update({"total_download_size":total_download_size})
|
||||
pkgs_info_json.update({"total_install_size":total_installed_size})
|
||||
return pkgs_info_json
|
||||
|
||||
#检查包是否在cache中 返回新得列表没 有安装的话才添加到列表
|
||||
def _check_pkg_in_cache(self,cache,pkgs_list):
|
||||
new_pkgs_list = []
|
||||
for pkg_name in pkgs_list:
|
||||
#检查是否在cache 以及 是否安装检查
|
||||
if pkg_name in cache and not cache[pkg_name].is_installed:
|
||||
new_pkgs_list.append(pkg_name)
|
||||
else:
|
||||
pass
|
||||
# logging.info("this package(%s) not in list ",pkg_name)
|
||||
return new_pkgs_list
|
||||
|
||||
def _make_group_output_json(self,data,data_yaml,upgrade_pkgs_json,install_pkgs_json):
|
||||
groups_base_info = {}
|
||||
output_json = {}
|
||||
|
||||
#FIXME: 确定输出文件的文件名 以及放置位置
|
||||
output_config_name = OUTPUT_CONFIG_PATH + data['package'] + '.json'
|
||||
|
||||
#4、添加一些基础信息
|
||||
groups_base_info.update({"package":data['package']})
|
||||
groups_base_info.update({"new_version":data['version']})
|
||||
groups_base_info.update({"name":data['name']})
|
||||
groups_base_info.update({"description":data['description']})
|
||||
groups_base_info.update({"icon":data['icon']})
|
||||
|
||||
#添加读yaml文件
|
||||
groups_base_info.update({"changelog":data_yaml['changelog']})
|
||||
|
||||
#5、添加升级的内容
|
||||
output_json.update(groups_base_info)
|
||||
output_json.update({"upgrade_list":upgrade_pkgs_json})
|
||||
output_json.update({"install_list":install_pkgs_json})
|
||||
# output_json.update({"hold_list":hold_pkgs_list})
|
||||
# output_json.update({"remove_list":remove_pkgs_list})
|
||||
|
||||
#6 产生JSON文件
|
||||
with open(output_config_name, 'w', encoding='utf-8') as f:
|
||||
json.dump(output_json, f, ensure_ascii=False, indent=4)
|
||||
logging.info("Generate Jsonfile(%s) to complete... ",output_config_name)
|
||||
|
||||
def _make_groups_upgrade(self,cache,group_list, pkgs_upgrade = []):
|
||||
try:
|
||||
files = os.listdir(INPUT_CONFIG_PATH) #获得文件夹中所有文件的名称列表
|
||||
|
||||
for ifile in files:
|
||||
#判是否是目录以及是否以JSON结尾
|
||||
if ifile.endswith('.json'):
|
||||
#读取组JSON文件
|
||||
with open(INPUT_CONFIG_PATH+ifile,'r') as f:
|
||||
try:
|
||||
data = json.load(f)
|
||||
except json.JSONDecodeError as exc:
|
||||
logging.error(exc)
|
||||
continue
|
||||
|
||||
group_name = data['package']
|
||||
#读取组的yaml 文件的changelog的信息
|
||||
with open(INPUT_CONFIG_PATH + group_name + ".yaml", "r") as stream:
|
||||
try:
|
||||
data_yaml = yaml.safe_load(stream)
|
||||
except yaml.YAMLError as exc:
|
||||
logging.error(exc)
|
||||
continue
|
||||
|
||||
#过滤没有推送的配置文件
|
||||
if not group_name in group_list:
|
||||
continue
|
||||
upgrade_pkgs_list = data['upgrade_list']
|
||||
# hold_pkgs_list = data['hold_list']
|
||||
#这个安装升级列表中包含当前系统的cache中没有的包 需要过滤
|
||||
# remove_pkgs_list = data['remove_list']
|
||||
|
||||
#检查包是否在cache中 以及是否已经安装 没有安装的话才添加到列表
|
||||
new_install_pkgs_list = self._check_pkg_in_cache(cache,data['install_list'])
|
||||
|
||||
#此在读important 是需要新安装的标记为install,组中的重合去除
|
||||
if new_install_pkgs_list != None:
|
||||
install_pkg_obj = [cache[pkg] for pkg in new_install_pkgs_list]
|
||||
#进行安装列表的过滤
|
||||
install_pkg_obj,adjust_pkgs = self.fu.check_in_allowed_origin(install_pkg_obj)
|
||||
self.local_upgrade_data.adjust_pkgs += adjust_pkgs
|
||||
new_install_pkgs_list = []
|
||||
for pkg in install_pkg_obj:
|
||||
if pkg.marked_install:
|
||||
continue
|
||||
new_install_pkgs_list.append(pkg.name)
|
||||
|
||||
#进行交集 升级列表
|
||||
upgrade_intersection_pkgs = list(set(pkgs_upgrade) & set(upgrade_pkgs_list))
|
||||
#判断当前是否可升级或者新装的包
|
||||
if len(new_install_pkgs_list) == 0 and len(upgrade_intersection_pkgs) == 0:
|
||||
continue
|
||||
#在总升级列表中移除这些包
|
||||
for pkg in upgrade_intersection_pkgs:
|
||||
pkgs_upgrade.remove(pkg)
|
||||
#3、生成升级的包列表JSON
|
||||
upgrade_pkgs_json = self._make_pkg_info_json(cache,upgrade_intersection_pkgs)
|
||||
#2、生成安装的软件列表
|
||||
install_pkgs_json = self._make_pkg_info_json(cache,new_install_pkgs_list)
|
||||
#输出JSON配置文件
|
||||
self._make_group_output_json(data,data_yaml,upgrade_pkgs_json,install_pkgs_json)
|
||||
|
||||
#添加到字典维护的升级列表
|
||||
self.local_upgrade_data.upgrade_groups.append(group_name)
|
||||
self.local_upgrade_data.upgrade_groups_pkgs.update({group_name:{"pkgs_upgrade":upgrade_intersection_pkgs,"pkgs_install":new_install_pkgs_list}})
|
||||
logging.info("group(%s) upgrade:%d install:%d",group_name,len(upgrade_intersection_pkgs),len(new_install_pkgs_list))
|
||||
else:
|
||||
pass
|
||||
except Exception as e:
|
||||
logging.warning("Generate Jsonfile to failed... ")
|
||||
logging.error(e)
|
||||
|
||||
def _rate_application_for_package(self, application, pkg):
|
||||
score = 0
|
||||
desktop_file = os.path.basename(application.get_filename())
|
||||
application_id = os.path.splitext(desktop_file)[0]
|
||||
|
||||
if application.should_show():
|
||||
score += 1
|
||||
|
||||
if application_id == pkg.name:
|
||||
score += 5
|
||||
|
||||
return score
|
||||
|
||||
def _file_is_application(self, file_path):
|
||||
# WARNING: This is called often if there's a lot of updates. A poor
|
||||
# performing call here has a huge impact on the overall performance!
|
||||
if not file_path.endswith(".desktop"):
|
||||
# First the obvious case: If the path doesn't end in a .desktop
|
||||
# extension, this isn't a desktop file.
|
||||
return False
|
||||
|
||||
file_path = os.path.abspath(file_path)
|
||||
for app_dir in self.application_dirs:
|
||||
if file_path.startswith(app_dir):
|
||||
return True
|
||||
return False
|
||||
|
||||
def _get_application_for_package(self, pkg):
|
||||
desktop_files = []
|
||||
rated_applications = []
|
||||
|
||||
for installed_file in pkg.installed_files:
|
||||
if self._file_is_application(installed_file):
|
||||
desktop_files.append(installed_file)
|
||||
|
||||
for desktop_file in desktop_files:
|
||||
try:
|
||||
application = Gio.DesktopAppInfo.new_from_filename(
|
||||
desktop_file)
|
||||
application.set_desktop_env(self.current_desktop)
|
||||
except Exception as e:
|
||||
logging.warning("Error loading .desktop file %s: %s" %
|
||||
(desktop_file, e))
|
||||
continue
|
||||
score = self._rate_application_for_package(application, pkg)
|
||||
if score > 0:
|
||||
rated_applications.append((score, application))
|
||||
|
||||
rated_applications.sort(key=lambda app: app[0], reverse=True)
|
||||
if len(rated_applications) > 0:
|
||||
return rated_applications[0][1]
|
||||
else:
|
||||
return None
|
||||
|
||||
def _make_single_upgrade(self,cache,pkg_list):
|
||||
try:
|
||||
for pkg in pkg_list:
|
||||
zh_name = ''
|
||||
base_info = {}
|
||||
output_json = {}
|
||||
output_config_name = OUTPUT_CONFIG_PATH + pkg + '.json'
|
||||
|
||||
pkg_cache = cache[pkg]
|
||||
|
||||
#获取包的软件名称,从主题中读取,只有可升级,是软件的包才可以读取
|
||||
if pkg_cache.is_installed:
|
||||
app = self._get_application_for_package(pkg_cache)
|
||||
if app is not None:
|
||||
zh_name = app.get_display_name()
|
||||
|
||||
pkgs_json = self._make_pkg_info_json(cache,[pkg])
|
||||
en_name = getattr(pkg_cache.candidate, "summary", '')
|
||||
description_str = getattr(pkg_cache.candidate, "description", '')
|
||||
|
||||
#4、添加一些基础信息
|
||||
base_info.update({"package":pkg})
|
||||
|
||||
base_info.update({"cur_version":getattr(pkg_cache.installed, "version", '')})
|
||||
base_info.update({"new_version":getattr(pkg_cache.candidate, "version", '')})
|
||||
base_info.update({"name":{"zh_CN":zh_name,"en_US":en_name}})
|
||||
base_info.update({"description":{"zh_CN":description_str,"en_US":description_str}})
|
||||
base_info.update({"icon":''})
|
||||
|
||||
#5、添加升级的内容
|
||||
output_json.update(base_info)
|
||||
if pkg_cache.is_installed:
|
||||
output_json.update({"upgrade_list":pkgs_json})
|
||||
output_json.update({"install_list":{}})
|
||||
else:
|
||||
output_json.update({"upgrade_list":{}})
|
||||
output_json.update({"install_list":pkgs_json})
|
||||
|
||||
#产生JSON文件
|
||||
with open(output_config_name, 'w', encoding='utf-8') as f:
|
||||
json.dump(output_json, f, ensure_ascii=False, indent=4)
|
||||
logging.info("Generate Jsonfile(%s) to complete... ",output_config_name)
|
||||
except Exception as e:
|
||||
logging.warning("Generate Jsonfile to failed... ")
|
||||
logging.error(str(e))
|
||||
|
||||
def update(self,cache):
|
||||
pkgs_upgrade = []
|
||||
header = ''
|
||||
desc = ''
|
||||
|
||||
#查找所有可升级的包
|
||||
for pkg in cache:
|
||||
try:
|
||||
if pkg.is_upgradable and pkg.is_installed:
|
||||
if getattr(pkg.candidate, "origins", None) is None:
|
||||
logging.error("WARNING: upgradable but no candidate.origins?!?: ",
|
||||
pkg.name)
|
||||
continue
|
||||
pkgs_upgrade.append(pkg)
|
||||
except Exception as e:
|
||||
logging.error(e)
|
||||
|
||||
logging.info("System all upgradeable packages:upgrade:%d ",len(pkgs_upgrade))
|
||||
|
||||
#源过滤 对升级列表
|
||||
pkgs_upgrade,self.local_upgrade_data.adjust_pkgs = self.fu.check_in_allowed_origin(pkgs_upgrade)
|
||||
|
||||
success,group_important_list,self.local_upgrade_data.single_pkgs,header,desc = self._read_important_list(cache,pkgs_upgrade)
|
||||
|
||||
#important_list 为空时此次不需要升级
|
||||
if success == True and not group_important_list and not self.local_upgrade_data.single_pkgs:
|
||||
header = _("The software on this computer is up to date.")
|
||||
desc = ""
|
||||
return success,header,desc
|
||||
elif success == False:
|
||||
return success,header,desc
|
||||
|
||||
#清空输出的目录
|
||||
self._empty_output_dir()
|
||||
|
||||
#产生单包的JSON
|
||||
self._make_single_upgrade(cache,self.local_upgrade_data.single_pkgs)
|
||||
|
||||
#分组的包的JSON
|
||||
self._make_groups_upgrade(cache,group_important_list,[pkg.name for pkg in pkgs_upgrade])
|
||||
|
||||
#是否存在可升级的组
|
||||
if self.local_upgrade_data.upgrade_groups or self.local_upgrade_data.single_pkgs:
|
||||
return True,header,desc
|
||||
else:
|
||||
header = _("The software on this computer is up to date.")
|
||||
desc = ''
|
||||
return True,header,desc
|
||||
|
|
@ -1,373 +0,0 @@
|
|||
#!/usr/bin/python3
|
||||
|
||||
import apt
|
||||
import apt_pkg
|
||||
import fnmatch
|
||||
import logging
|
||||
import logging.handlers
|
||||
import re
|
||||
import os
|
||||
import string
|
||||
import subprocess
|
||||
import json
|
||||
try:
|
||||
from typing import AbstractSet, DefaultDict, Dict, Iterable, List
|
||||
AbstractSet # pyflakes
|
||||
DefaultDict # pyflakes
|
||||
Dict # pyflakes
|
||||
Iterable # pyflakes
|
||||
List # pyflakes
|
||||
from typing import Set, Tuple, Union
|
||||
Set # pyflakes
|
||||
Tuple # pyflakes
|
||||
except ImportError:
|
||||
pass
|
||||
|
||||
from gettext import gettext as _
|
||||
|
||||
import apt
|
||||
import apt_pkg
|
||||
|
||||
ImportantListPath="/var/lib/kylin-software-properties/template/important.list"
|
||||
DesktopSystemPath="/usr/share/kylin-update-desktop-config/data/"
|
||||
|
||||
# no py3 lsb_release in debian :/
|
||||
DISTRO_CODENAME = subprocess.check_output(
|
||||
["lsb_release", "-c", "-s"], universal_newlines=True).strip() # type: str
|
||||
DISTRO_DESC = subprocess.check_output(
|
||||
["lsb_release", "-d", "-s"], universal_newlines=True).strip() # type: str
|
||||
DISTRO_ID = subprocess.check_output(
|
||||
["lsb_release", "-i", "-s"], universal_newlines=True).strip() # type: str
|
||||
|
||||
class UpdateListFilterCache(apt.Cache):
|
||||
|
||||
def __init__(self, window_main):
|
||||
self.window_main = window_main
|
||||
# whitelist
|
||||
self.upgradeList = []
|
||||
# 必须升级的包
|
||||
self.installList = []
|
||||
|
||||
self.allowed_origins = get_allowed_origins()
|
||||
self.allowed_origins = deleteDuplicatedElementFromList(self.allowed_origins)
|
||||
logging.info(_("Allowed origins are: %s"),
|
||||
self.allowed_origins)
|
||||
|
||||
self.blacklist = apt_pkg.config.value_list(
|
||||
"Kylin-system-updater::Package-Blacklist")
|
||||
self.blacklist = deleteDuplicatedElementFromList(self.blacklist)
|
||||
|
||||
self.whitelist = apt_pkg.config.value_list(
|
||||
"Kylin-system-updater::Package-Whitelist")
|
||||
self.whitelist = deleteDuplicatedElementFromList(self.whitelist)
|
||||
|
||||
self.strict_whitelist = apt_pkg.config.find_b(
|
||||
"Kylin-system-updater::Package-Whitelist-Strict", False)
|
||||
|
||||
def checkInCache(self):
|
||||
logging.info("start Check in cache")
|
||||
tmplist = []
|
||||
cache = apt.Cache()
|
||||
for i in self.upgradeList:
|
||||
try:
|
||||
cache[i]
|
||||
tmplist.append(i)
|
||||
except Exception as e:
|
||||
pass
|
||||
self.upgradeList = tmplist
|
||||
|
||||
def initLocalPackagesList(self):
|
||||
jsonfiles = []
|
||||
tmplist = []
|
||||
|
||||
# 获取importantlist 本次更新推送
|
||||
with open(ImportantListPath, 'r') as f:
|
||||
text = f.read()
|
||||
importantList = text.split()
|
||||
logging.info("importantList: %s",importantList)
|
||||
f.close()
|
||||
|
||||
if not importantList:
|
||||
logging.error("importantList is empty")
|
||||
exit(-1)
|
||||
|
||||
# 获取/usr/share/kylin-update-desktop-config/data/下所有json文件
|
||||
for root,dirs,files in os.walk(DesktopSystemPath):
|
||||
pass
|
||||
for i in files:
|
||||
if ".json" in i:
|
||||
jsonfiles.append(i.split('.')[0])
|
||||
# logging.info("all files: %s", jsonfiles)
|
||||
|
||||
# 找到importantlist中对应的json文件
|
||||
for i in importantList:
|
||||
if i not in jsonfiles:
|
||||
# 说明这个是单独的包,不在分组中
|
||||
# 加入更新列表
|
||||
if i not in self.upgradeList:
|
||||
self.upgradeList.append(i)
|
||||
else:
|
||||
# 在分组中
|
||||
# 获取每个对应json文件中的upgrade_list
|
||||
if i in jsonfiles:
|
||||
filepath = os.path.join(DesktopSystemPath, i)
|
||||
filepath = filepath+".json"
|
||||
with open(filepath, 'r') as f:
|
||||
pkgdict = f.read()
|
||||
jsonfile = json.loads(pkgdict)
|
||||
tmplist = jsonfile['install_list']
|
||||
# print("\ntmplist: ", tmplist)
|
||||
for j in tmplist:
|
||||
if j not in self.upgradeList:
|
||||
self.upgradeList.append(j)
|
||||
f.close()
|
||||
# logging.info("self.upgradeList: %s", self.upgradeList)
|
||||
|
||||
# 更改:传入包列表,经过源过滤,返回的pkg中进行版本调整
|
||||
def check_in_allowed_origin(self, pkg_lists):
|
||||
new_upgrade_pkgs = []
|
||||
adjust_candidate_pkgs = []
|
||||
for pkg in pkg_lists:
|
||||
try:
|
||||
new_ver = ver_in_allowed_origin(pkg, self.allowed_origins)
|
||||
if not pkg.installed: # 判断安装列表
|
||||
if pkg.candidate == new_ver and pkg not in new_upgrade_pkgs:
|
||||
new_upgrade_pkgs.append(pkg)
|
||||
elif new_ver < pkg.candidate and pkg not in new_upgrade_pkgs:
|
||||
logging.info("adjusting candidate version: %s" % new_ver)
|
||||
pkg.candidate = new_ver
|
||||
adjust_candidate_pkgs.append(pkg.name+"="+pkg.candidate.version)
|
||||
new_upgrade_pkgs.append(pkg)
|
||||
else: # 判断升级列表
|
||||
if new_ver < pkg.candidate:
|
||||
logging.info("adjusting candidate version: %s" % new_ver)
|
||||
pkg.candidate = new_ver
|
||||
adjust_candidate_pkgs.append(pkg.name+"="+pkg.candidate.version)
|
||||
if pkg.is_upgradable:
|
||||
new_upgrade_pkgs.append(pkg)
|
||||
else:
|
||||
continue
|
||||
else:
|
||||
if pkg.installed < pkg.candidate:
|
||||
new_upgrade_pkgs.append(pkg)
|
||||
except NoAllowedOriginError:
|
||||
logging.error("Cannot found allowed version: %s", pkg.name)
|
||||
continue
|
||||
|
||||
return (new_upgrade_pkgs, adjust_candidate_pkgs)
|
||||
|
||||
def is_pkgname_in_blacklist(self, pkgs):
|
||||
blacklist_filter_pkgs = []
|
||||
for pkg in pkgs:
|
||||
if pkg.name in self.blacklist:
|
||||
pass
|
||||
else :
|
||||
blacklist_filter_pkgs.append(pkg)
|
||||
|
||||
return blacklist_filter_pkgs
|
||||
|
||||
def is_pkgname_in_whitelist(self, pkgs):
|
||||
whitelist_filter_upgrade_pkgs = []
|
||||
for pkg in pkgs:
|
||||
if pkg.name in self.upgradeList:
|
||||
whitelist_filter_upgrade_pkgs.append(pkg)
|
||||
else :
|
||||
pkg.mark_keep()
|
||||
pass
|
||||
# print("skipping whitelist package %s" % pkg.name)
|
||||
|
||||
return whitelist_filter_upgrade_pkgs
|
||||
|
||||
# def try_to_upgrade(pkg, # type: apt.Package
|
||||
# pkgs_to_upgrade, # type: List[apt.Package]
|
||||
# pkgs_kept_back, # type: KeptPkgs
|
||||
# allowed_origins, # type: List[str]
|
||||
# ):
|
||||
# # type: (...) -> None
|
||||
# try:
|
||||
# try:
|
||||
# # try to adjust pkg itself first, if that throws an exception it
|
||||
# # can't be upgraded on its own
|
||||
# cache.adjust_candidate(pkg)
|
||||
# if not pkg.is_upgradable:
|
||||
# return
|
||||
# except NoAllowedOriginError:
|
||||
# return
|
||||
# cache._cached_candidate_pkgnames.add(pkg.name)
|
||||
# cache.mark_upgrade_adjusted(pkg, from_user=not pkg.is_auto_installed)
|
||||
# if check_changes_for_sanity(cache, allowed_origins,
|
||||
# blacklisted_pkgs, whitelisted_pkgs,
|
||||
# pkg):
|
||||
# # add to packages to upgrade
|
||||
# pkgs_to_upgrade.append(pkg)
|
||||
# # re-eval pkgs_kept_back as the resolver may fail to
|
||||
# # directly upgrade a pkg, but that may work during
|
||||
# # a subsequent operation, see debian bug #639840
|
||||
# pkgs_to_upgrade.extend(pkgs_kept_back.pop_upgradable(cache))
|
||||
# else:
|
||||
# logging.debug("sanity check failed for: %s"
|
||||
# % str({str(p.candidate)
|
||||
# for p in cache.get_changes()}))
|
||||
# rewind_cache(cache, pkgs_to_upgrade)
|
||||
# pkgs_kept_back.add(pkg, cache)
|
||||
# except (SystemError, NoAllowedOriginError) as e:
|
||||
# # can't upgrade
|
||||
# logging.warning(
|
||||
# _("package %s upgradable but fails to "
|
||||
# "be marked for upgrade (%s)"), pkg.name, e)
|
||||
# rewind_cache(cache, pkgs_to_upgrade)
|
||||
# pkgs_kept_back.add(pkg, cache)
|
||||
|
||||
def ver_in_allowed_origin(pkg, allow_origin):
|
||||
# type: (apt.Package, List[str]) -> apt.package.Version
|
||||
for ver in pkg.versions:
|
||||
# ignore versions that the user marked with priority < 100
|
||||
# (and ensure we have a python-apt that supports this)
|
||||
try:
|
||||
if ver.policy_priority < 100:
|
||||
logging.debug("ignoring ver %s with priority < 0" % ver)
|
||||
continue
|
||||
except AttributeError:
|
||||
pass
|
||||
if is_in_allowed_origin(ver, allow_origin):
|
||||
# leave as soon as we have the highest new candidate
|
||||
return ver
|
||||
raise NoAllowedOriginError()
|
||||
|
||||
|
||||
def get_allowed_origins():
|
||||
# type: () -> List[str]
|
||||
""" return a list of allowed origins from apt.conf
|
||||
|
||||
This will take substitutions (like distro_id) into account.
|
||||
"""
|
||||
allowed_origins = get_allowed_origins_legacy()
|
||||
key = "Kylin-system-updater::Origins-Pattern"
|
||||
try:
|
||||
for s in apt_pkg.config.value_list(key):
|
||||
allowed_origins.append(substitute(s))
|
||||
except ValueError:
|
||||
print("Unable to parse %s." % key)
|
||||
raise
|
||||
return allowed_origins
|
||||
|
||||
def get_allowed_origins_legacy():
|
||||
# type: () -> List[str]
|
||||
""" legacy support for old Allowed-Origins var """
|
||||
allowed_origins = [] # type: List[str]
|
||||
key = "Kylin-system-updater::Allowed-Origins"
|
||||
try:
|
||||
for s in apt_pkg.config.value_list(key):
|
||||
# if there is a ":" use that as seperator, else use spaces
|
||||
if re.findall(r'(?<!\\):', s):
|
||||
(distro_id, distro_codename) = re.split(r'(?<!\\):', s)
|
||||
else:
|
||||
(distro_id, distro_codename) = s.split()
|
||||
# unescape "\:" back to ":"
|
||||
distro_id = re.sub(r'\\:', ':', distro_id)
|
||||
# escape "," (see LP: #824856) - can this be simpler?
|
||||
distro_id = re.sub(r'([^\\]),', r'\1\\,', distro_id)
|
||||
distro_codename = re.sub(r'([^\\]),', r'\1\\,', distro_codename)
|
||||
# convert to new format
|
||||
allowed_origins.append("o=%s,a=%s" % (substitute(distro_id),
|
||||
substitute(distro_codename)))
|
||||
except ValueError:
|
||||
logging.error(_("Unable to parse %s." % key))
|
||||
raise
|
||||
return allowed_origins
|
||||
|
||||
def substitute(line):
|
||||
# type: (str) -> str
|
||||
""" substitude known mappings and return a new string
|
||||
|
||||
Currently supported ${distro-release}
|
||||
"""
|
||||
mapping = {"distro_codename": get_distro_codename(),
|
||||
"distro_id": get_distro_id()}
|
||||
return string.Template(line).substitute(mapping)
|
||||
|
||||
|
||||
def get_distro_codename():
|
||||
# type: () -> str
|
||||
return DISTRO_CODENAME
|
||||
|
||||
|
||||
def get_distro_id():
|
||||
# type: () -> str
|
||||
return DISTRO_ID
|
||||
|
||||
def is_in_allowed_origin(ver, allowed_origins):
|
||||
# type: (apt.package.Version, List[str]) -> bool
|
||||
if not ver:
|
||||
return False
|
||||
for origin in ver.origins:
|
||||
if is_allowed_origin(origin, allowed_origins):
|
||||
return True
|
||||
return False
|
||||
|
||||
def is_allowed_origin(origin, allowed_origins):
|
||||
# type: (Union[apt.package.Origin, apt_pkg.PackageFile], List[str]) -> bool
|
||||
for allowed in allowed_origins:
|
||||
if match_whitelist_string(allowed, origin):
|
||||
return True
|
||||
return False
|
||||
|
||||
def match_whitelist_string(whitelist, origin):
|
||||
# type: (str, Union[apt.package.Origin, apt_pkg.PackageFile]) -> bool
|
||||
"""
|
||||
take a whitelist string in the form "origin=Debian,label=Debian-Security"
|
||||
and match against the given python-apt origin. A empty whitelist string
|
||||
never matches anything.
|
||||
"""
|
||||
whitelist = whitelist.strip()
|
||||
if whitelist == "":
|
||||
logging.warning("empty match string matches nothing")
|
||||
return False
|
||||
res = True
|
||||
# make "\," the html quote equivalent
|
||||
whitelist = whitelist.replace("\\,", "%2C")
|
||||
for token in whitelist.split(","):
|
||||
# strip and unquote the "," back
|
||||
(what, value) = [s.strip().replace("%2C", ",")
|
||||
for s in token.split("=")]
|
||||
# logging.debug("matching %s=%s against %s" % (
|
||||
# what, value, origin))
|
||||
# support substitution here as well
|
||||
value = substitute(value)
|
||||
# first char is apt-cache policy output, send is the name
|
||||
# in the Release file
|
||||
if what in ("o", "origin"):
|
||||
match = fnmatch.fnmatch(origin.origin, value)
|
||||
elif what in ("l", "label"):
|
||||
match = fnmatch.fnmatch(origin.label, value)
|
||||
elif what in ("a", "suite", "archive"):
|
||||
match = fnmatch.fnmatch(origin.archive, value)
|
||||
elif what in ("c", "component"):
|
||||
match = fnmatch.fnmatch(origin.component, value)
|
||||
elif what in ("site",):
|
||||
match = fnmatch.fnmatch(origin.site, value)
|
||||
elif what in ("n", "codename",):
|
||||
match = fnmatch.fnmatch(origin.codename, value)
|
||||
else:
|
||||
raise UnknownMatcherError(
|
||||
"Unknown whitelist entry for matcher %s (token %s)" % (
|
||||
what, token))
|
||||
# update res
|
||||
res = res and match
|
||||
# logging.debug("matching %s=%s against %s" % (
|
||||
# what, value, origin))
|
||||
return res
|
||||
|
||||
def deleteDuplicatedElementFromList(list):
|
||||
resultList = []
|
||||
for item in list:
|
||||
if not item in resultList:
|
||||
resultList.append(item)
|
||||
return resultList
|
||||
|
||||
|
||||
class UnknownMatcherError(ValueError):
|
||||
pass
|
||||
|
||||
class NoAllowedOriginError(ValueError):
|
||||
pass
|
|
@ -1,13 +0,0 @@
|
|||
#!/usr/bin/python3
|
||||
# -*- coding: utf-8 -*-
|
||||
"""Main loop for aptdaemon."""
|
||||
|
||||
__all__ = ("mainloop", "get_main_loop")
|
||||
|
||||
from gi.repository import GLib
|
||||
|
||||
mainloop = GLib.MainLoop()
|
||||
|
||||
def get_main_loop():
|
||||
"""Return the glib main loop as a singleton."""
|
||||
return mainloop
|
|
@ -1,212 +0,0 @@
|
|||
# utils.py
|
||||
# -*- Mode: Python; indent-tabs-mode: nil; tab-width: 4; coding: utf-8 -*-
|
||||
#
|
||||
# Copyright (c) 2011 Canonical
|
||||
#
|
||||
# Author: Alex Chiang <achiang@canonical.com>
|
||||
# Michael Vogt <michael.vogt@ubuntu.com>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License as
|
||||
# published by the Free Software Foundation; either version 2 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
||||
# USA
|
||||
|
||||
|
||||
from __future__ import print_function
|
||||
|
||||
import dbus
|
||||
import sys
|
||||
|
||||
|
||||
class ModemManagerHelper(object):
|
||||
|
||||
# data taken from
|
||||
# http://projects.gnome.org/NetworkManager/developers/mm-spec-04.html
|
||||
MM_DBUS_IFACE = "org.freedesktop.ModemManager"
|
||||
MM_DBUS_IFACE_MODEM = MM_DBUS_IFACE + ".Modem"
|
||||
|
||||
# MM_MODEM_TYPE
|
||||
MM_MODEM_TYPE_GSM = 1
|
||||
MM_MODEM_TYPE_CDMA = 2
|
||||
|
||||
# GSM
|
||||
# Not registered, not searching for new operator to register.
|
||||
MM_MODEM_GSM_NETWORK_REG_STATUS_IDLE = 0
|
||||
# Registered on home network.
|
||||
MM_MODEM_GSM_NETWORK_REG_STATUS_HOME = 1
|
||||
# Not registered, searching for new operator to register with.
|
||||
MM_MODEM_GSM_NETWORK_REG_STATUS_SEARCHING = 2
|
||||
# Registration denied.
|
||||
MM_MODEM_GSM_NETWORK_REG_STATUS_DENIED = 3
|
||||
# Unknown registration status.
|
||||
MM_MODEM_GSM_NETWORK_REG_STATUS_UNKNOWN = 4
|
||||
# Registered on a roaming network.
|
||||
MM_MODEM_GSM_NETWORK_REG_STATUS_ROAMING = 5
|
||||
|
||||
# CDMA
|
||||
# Registration status is unknown or the device is not registered.
|
||||
MM_MODEM_CDMA_REGISTRATION_STATE_UNKNOWN = 0
|
||||
# Registered, but roaming status is unknown or cannot be provided
|
||||
# by the device. The device may or may not be roaming.
|
||||
MM_MODEM_CDMA_REGISTRATION_STATE_REGISTERED = 1
|
||||
# Currently registered on the home network.
|
||||
MM_MODEM_CDMA_REGISTRATION_STATE_HOME = 2
|
||||
# Currently registered on a roaming network.
|
||||
MM_MODEM_CDMA_REGISTRATION_STATE_ROAMING = 3
|
||||
|
||||
def __init__(self):
|
||||
self.bus = dbus.SystemBus()
|
||||
self.proxy = self.bus.get_object("org.freedesktop.ModemManager",
|
||||
"/org/freedesktop/ModemManager")
|
||||
modem_manager = dbus.Interface(self.proxy, self.MM_DBUS_IFACE)
|
||||
self.modems = modem_manager.EnumerateDevices()
|
||||
|
||||
@staticmethod
|
||||
def get_dbus_property(proxy, interface, property):
|
||||
props = dbus.Interface(proxy, "org.freedesktop.DBus.Properties")
|
||||
property = props.Get(interface, property)
|
||||
return property
|
||||
|
||||
def is_gsm_roaming(self):
|
||||
for m in self.modems:
|
||||
dev = self.bus.get_object(self.MM_DBUS_IFACE, m)
|
||||
type = self.get_dbus_property(dev, self.MM_DBUS_IFACE_MODEM,
|
||||
"Type")
|
||||
if type != self.MM_MODEM_TYPE_GSM:
|
||||
continue
|
||||
net = dbus.Interface(dev,
|
||||
self.MM_DBUS_IFACE_MODEM + ".Gsm.Network")
|
||||
reg = net.GetRegistrationInfo()
|
||||
# Be conservative about roaming. If registration unknown,
|
||||
# assume yes.
|
||||
# MM_MODEM_GSM_NETWORK_REG_STATUS
|
||||
if reg[0] in (self.MM_MODEM_GSM_NETWORK_REG_STATUS_UNKNOWN,
|
||||
self.MM_MODEM_GSM_NETWORK_REG_STATUS_ROAMING):
|
||||
return True
|
||||
return False
|
||||
|
||||
def is_cdma_roaming(self):
|
||||
for m in self.modems:
|
||||
dev = self.bus.get_object(self.MM_DBUS_IFACE, m)
|
||||
type = self.get_dbus_property(dev, self.MM_DBUS_IFACE_MODEM,
|
||||
"Type")
|
||||
if type != self.MM_MODEM_TYPE_CDMA:
|
||||
continue
|
||||
cdma = dbus.Interface(dev, self.MM_DBUS_IFACE_MODEM + ".Cdma")
|
||||
(cmda_1x, evdo) = cdma.GetRegistrationState()
|
||||
# Be conservative about roaming. If registration unknown,
|
||||
# assume yes.
|
||||
# MM_MODEM_CDMA_REGISTRATION_STATE
|
||||
roaming_states = (self.MM_MODEM_CDMA_REGISTRATION_STATE_REGISTERED,
|
||||
self.MM_MODEM_CDMA_REGISTRATION_STATE_ROAMING)
|
||||
# evdo trumps cmda_1x (thanks to Mathieu Trudel-Lapierre)
|
||||
if evdo in roaming_states:
|
||||
return True
|
||||
elif cmda_1x in roaming_states:
|
||||
return True
|
||||
return False
|
||||
|
||||
|
||||
class NetworkManagerHelper(object):
|
||||
NM_DBUS_IFACE = "org.freedesktop.NetworkManager"
|
||||
|
||||
# connection states
|
||||
# Old enum values are for NM 0.7
|
||||
|
||||
# The NetworkManager daemon is in an unknown state.
|
||||
NM_STATE_UNKNOWN = 0
|
||||
# The NetworkManager daemon is connecting a device.
|
||||
NM_STATE_CONNECTING_OLD = 2
|
||||
NM_STATE_CONNECTING = 40
|
||||
NM_STATE_CONNECTING_LIST = [NM_STATE_CONNECTING_OLD,
|
||||
NM_STATE_CONNECTING]
|
||||
# The NetworkManager daemon is connected.
|
||||
NM_STATE_CONNECTED_OLD = 3
|
||||
NM_STATE_CONNECTED_LOCAL = 50
|
||||
NM_STATE_CONNECTED_SITE = 60
|
||||
NM_STATE_CONNECTED_GLOBAL = 70
|
||||
NM_STATE_CONNECTED_LIST = [NM_STATE_CONNECTED_OLD,
|
||||
NM_STATE_CONNECTED_LOCAL,
|
||||
NM_STATE_CONNECTED_SITE,
|
||||
NM_STATE_CONNECTED_GLOBAL]
|
||||
|
||||
# The device type is unknown.
|
||||
NM_DEVICE_TYPE_UNKNOWN = 0
|
||||
# The device is wired Ethernet device.
|
||||
NM_DEVICE_TYPE_ETHERNET = 1
|
||||
# The device is an 802.11 WiFi device.
|
||||
NM_DEVICE_TYPE_WIFI = 2
|
||||
# The device is a GSM-based cellular WAN device.
|
||||
NM_DEVICE_TYPE_GSM = 3
|
||||
# The device is a CDMA/IS-95-based cellular WAN device.
|
||||
NM_DEVICE_TYPE_CDMA = 4
|
||||
|
||||
def __init__(self):
|
||||
self.bus = dbus.SystemBus()
|
||||
self.proxy = self.bus.get_object("org.freedesktop.NetworkManager",
|
||||
"/org/freedesktop/NetworkManager")
|
||||
|
||||
@staticmethod
|
||||
def get_dbus_property(proxy, interface, property):
|
||||
props = dbus.Interface(proxy, "org.freedesktop.DBus.Properties")
|
||||
property = props.Get(interface, property)
|
||||
return property
|
||||
|
||||
def is_active_connection_gsm_or_cdma(self):
|
||||
res = False
|
||||
actives = self.get_dbus_property(
|
||||
self.proxy, self.NM_DBUS_IFACE, 'ActiveConnections')
|
||||
for a in actives:
|
||||
active = self.bus.get_object(self.NM_DBUS_IFACE, a)
|
||||
default_route = self.get_dbus_property(
|
||||
active, self.NM_DBUS_IFACE + ".Connection.Active", 'Default')
|
||||
if not default_route:
|
||||
continue
|
||||
devs = self.get_dbus_property(
|
||||
active, self.NM_DBUS_IFACE + ".Connection.Active", 'Devices')
|
||||
for d in devs:
|
||||
dev = self.bus.get_object(self.NM_DBUS_IFACE, d)
|
||||
type = self.get_dbus_property(
|
||||
dev, self.NM_DBUS_IFACE + ".Device", 'DeviceType')
|
||||
if type == self.NM_DEVICE_TYPE_GSM:
|
||||
return True
|
||||
elif type == self.NM_DEVICE_TYPE_CDMA:
|
||||
return True
|
||||
else:
|
||||
continue
|
||||
return res
|
||||
|
||||
def is_active_connection_gsm_or_cdma_roaming(self):
|
||||
res = False
|
||||
if self.is_active_connection_gsm_or_cdma():
|
||||
mmhelper = ModemManagerHelper()
|
||||
res |= mmhelper.is_gsm_roaming()
|
||||
res |= mmhelper.is_cdma_roaming()
|
||||
return res
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
# test code
|
||||
if sys.argv[1:] and sys.argv[1] == "--test":
|
||||
mmhelper = ModemManagerHelper()
|
||||
print("is_gsm_roaming", mmhelper.is_gsm_roaming())
|
||||
print("is_cdma_romaing", mmhelper.is_cdma_roaming())
|
||||
|
||||
# roaming?
|
||||
nmhelper = NetworkManagerHelper()
|
||||
is_roaming = nmhelper.is_active_connection_gsm_or_cdma_roaming()
|
||||
print("roam: ", is_roaming)
|
||||
if is_roaming:
|
||||
sys.exit(1)
|
||||
sys.exit(0)
|
|
@ -1,659 +0,0 @@
|
|||
# utils.py
|
||||
# -*- Mode: Python; indent-tabs-mode: nil; tab-width: 4; coding: utf-8 -*-
|
||||
#
|
||||
# Copyright (c) 2004-2013 Canonical
|
||||
#
|
||||
# Authors: Michael Vogt <mvo@debian.org>
|
||||
# Michael Terry <michael.terry@canonical.com>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License as
|
||||
# published by the Free Software Foundation; either version 2 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
||||
# USA
|
||||
|
||||
from __future__ import print_function
|
||||
|
||||
from gettext import gettext as _
|
||||
from gettext import ngettext
|
||||
from stat import (S_IMODE, ST_MODE, S_IXUSR)
|
||||
from math import ceil
|
||||
|
||||
import apt
|
||||
import apt_pkg
|
||||
apt_pkg.init_config()
|
||||
|
||||
import locale
|
||||
import logging
|
||||
import re
|
||||
import os
|
||||
import subprocess
|
||||
import sys
|
||||
import time
|
||||
import fcntl
|
||||
from urllib.request import (
|
||||
ProxyHandler,
|
||||
Request,
|
||||
build_opener,
|
||||
install_opener,
|
||||
urlopen,
|
||||
)
|
||||
from urllib.parse import urlsplit
|
||||
|
||||
from copy import copy
|
||||
|
||||
# 禁止关机锁文件路径
|
||||
FILELOCK_PATH = "/tmp/lock/"
|
||||
SHUTDOWN_BLOCK_FILELOCK = "kylin-update.lock"
|
||||
pidfile = 0
|
||||
locked = False
|
||||
|
||||
class ExecutionTime(object):
|
||||
"""
|
||||
Helper that can be used in with statements to have a simple
|
||||
measure of the timing of a particular block of code, e.g.
|
||||
with ExecutionTime("db flush"):
|
||||
db.flush()
|
||||
"""
|
||||
def __init__(self, info=""):
|
||||
self.info = info
|
||||
|
||||
def __enter__(self):
|
||||
self.now = time.time()
|
||||
|
||||
def __exit__(self, type, value, stack):
|
||||
print("%s: %s" % (self.info, time.time() - self.now))
|
||||
|
||||
|
||||
def get_string_with_no_auth_from_source_entry(entry):
|
||||
tmp = copy(entry)
|
||||
url_parts = urlsplit(tmp.uri)
|
||||
if url_parts.username:
|
||||
tmp.uri = tmp.uri.replace(url_parts.username, "hidden-u")
|
||||
if url_parts.password:
|
||||
tmp.uri = tmp.uri.replace(url_parts.password, "hidden-p")
|
||||
return str(tmp)
|
||||
|
||||
|
||||
def is_unity_running():
|
||||
""" return True if Unity is currently running """
|
||||
unity_running = False
|
||||
try:
|
||||
import dbus
|
||||
bus = dbus.SessionBus()
|
||||
unity_running = bus.name_has_owner("com.canonical.Unity")
|
||||
except Exception:
|
||||
logging.exception("could not check for Unity dbus service")
|
||||
return unity_running
|
||||
|
||||
|
||||
def is_child_of_process_name(processname, pid=None):
|
||||
if not pid:
|
||||
pid = os.getpid()
|
||||
while pid > 0:
|
||||
stat_file = "/proc/%s/stat" % pid
|
||||
with open(stat_file) as stat_f:
|
||||
stat = stat_f.read()
|
||||
# extract command (inside ())
|
||||
command = stat.partition("(")[2].rpartition(")")[0]
|
||||
if command == processname:
|
||||
return True
|
||||
# get parent (second to the right of command) and check that next
|
||||
pid = int(stat.rpartition(")")[2].split()[1])
|
||||
return False
|
||||
|
||||
|
||||
def inside_chroot():
|
||||
""" returns True if we are inside a chroot
|
||||
"""
|
||||
# if there is no proc or no pid 1 we are very likely inside a chroot
|
||||
if not os.path.exists("/proc") or not os.path.exists("/proc/1"):
|
||||
return True
|
||||
# if the inode is differnt for pid 1 "/" and our "/"
|
||||
return os.stat("/") != os.stat("/proc/1/root")
|
||||
|
||||
|
||||
def wrap(t, width=70, subsequent_indent=""):
|
||||
""" helpers inspired after textwrap - unfortunately
|
||||
we can not use textwrap directly because it break
|
||||
packagenames with "-" in them into new lines
|
||||
"""
|
||||
out = ""
|
||||
for s in t.split():
|
||||
if (len(out) - out.rfind("\n")) + len(s) > width:
|
||||
out += "\n" + subsequent_indent
|
||||
out += s + " "
|
||||
return out
|
||||
|
||||
|
||||
def twrap(s, **kwargs):
|
||||
msg = ""
|
||||
paras = s.split("\n")
|
||||
for par in paras:
|
||||
s = wrap(par, **kwargs)
|
||||
msg += s + "\n"
|
||||
return msg
|
||||
|
||||
|
||||
def lsmod():
|
||||
" return list of loaded modules (or [] if lsmod is not found) "
|
||||
modules = []
|
||||
# FIXME raise?
|
||||
if not os.path.exists("/sbin/lsmod"):
|
||||
return []
|
||||
p = subprocess.Popen(["/sbin/lsmod"], stdout=subprocess.PIPE,
|
||||
universal_newlines=True)
|
||||
lines = p.communicate()[0].split("\n")
|
||||
# remove heading line: "Modules Size Used by"
|
||||
del lines[0]
|
||||
# add lines to list, skip empty lines
|
||||
for line in lines:
|
||||
if line:
|
||||
modules.append(line.split()[0])
|
||||
return modules
|
||||
|
||||
|
||||
def check_and_fix_xbit(path):
|
||||
" check if a given binary has the executable bit and if not, add it"
|
||||
if not os.path.exists(path):
|
||||
return
|
||||
mode = S_IMODE(os.stat(path)[ST_MODE])
|
||||
if not ((mode & S_IXUSR) == S_IXUSR):
|
||||
os.chmod(path, mode | S_IXUSR)
|
||||
|
||||
|
||||
def country_mirror():
|
||||
" helper to get the country mirror from the current locale "
|
||||
# special cases go here
|
||||
lang_mirror = {'c': ''}
|
||||
# no lang, no mirror
|
||||
if 'LANG' not in os.environ:
|
||||
return ''
|
||||
lang = os.environ['LANG'].lower()
|
||||
# check if it is a special case
|
||||
if lang[:5] in lang_mirror:
|
||||
return lang_mirror[lang[:5]]
|
||||
# now check for the most comon form (en_US.UTF-8)
|
||||
if "_" in lang:
|
||||
country = lang.split(".")[0].split("_")[1]
|
||||
if "@" in country:
|
||||
country = country.split("@")[0]
|
||||
return country + "."
|
||||
else:
|
||||
return lang[:2] + "."
|
||||
return ''
|
||||
|
||||
|
||||
def get_dist():
|
||||
" return the codename of the current runing distro "
|
||||
# support debug overwrite
|
||||
dist = os.environ.get("META_RELEASE_FAKE_CODENAME")
|
||||
if dist:
|
||||
logging.warning("using fake release name '%s' (because of "
|
||||
"META_RELEASE_FAKE_CODENAME environment) " % dist)
|
||||
return dist
|
||||
# then check the real one
|
||||
from subprocess import Popen, PIPE
|
||||
p = Popen(["lsb_release", "-c", "-s"], stdout=PIPE,
|
||||
universal_newlines=True)
|
||||
res = p.wait()
|
||||
if res != 0:
|
||||
sys.stderr.write("lsb_release returned exitcode: %i\n" % res)
|
||||
return "unknown distribution"
|
||||
dist = p.stdout.readline().strip()
|
||||
p.stdout.close()
|
||||
return dist
|
||||
|
||||
|
||||
def get_dist_version():
|
||||
" return the version of the current running distro "
|
||||
# support debug overwrite
|
||||
desc = os.environ.get("META_RELEASE_FAKE_VERSION")
|
||||
if desc:
|
||||
logging.warning("using fake release version '%s' (because of "
|
||||
"META_RELEASE_FAKE_VERSION environment) " % desc)
|
||||
return desc
|
||||
# then check the real one
|
||||
from subprocess import Popen, PIPE
|
||||
p = Popen(["lsb_release", "-r", "-s"], stdout=PIPE,
|
||||
universal_newlines=True)
|
||||
res = p.wait()
|
||||
if res != 0:
|
||||
sys.stderr.write("lsb_release returned exitcode: %i\n" % res)
|
||||
return "unknown distribution"
|
||||
desc = p.stdout.readline().strip()
|
||||
p.stdout.close()
|
||||
return desc
|
||||
|
||||
|
||||
class HeadRequest(Request):
|
||||
def get_method(self):
|
||||
return "HEAD"
|
||||
|
||||
|
||||
def url_downloadable(uri, debug_func=None):
|
||||
"""
|
||||
helper that checks if the given uri exists and is downloadable
|
||||
(supports optional debug_func function handler to support
|
||||
e.g. logging)
|
||||
|
||||
Supports http (via HEAD) and ftp (via size request)
|
||||
"""
|
||||
if not debug_func:
|
||||
lambda x: True
|
||||
debug_func("url_downloadable: %s" % uri)
|
||||
(scheme, netloc, path, querry, fragment) = urlsplit(uri)
|
||||
debug_func("s='%s' n='%s' p='%s' q='%s' f='%s'" % (scheme, netloc, path,
|
||||
querry, fragment))
|
||||
if scheme in ("http", "https"):
|
||||
try:
|
||||
http_file = urlopen(HeadRequest(uri))
|
||||
http_file.close()
|
||||
if http_file.code == 200:
|
||||
return True
|
||||
return False
|
||||
except Exception as e:
|
||||
debug_func("error from httplib: '%s'" % e)
|
||||
return False
|
||||
elif scheme == "ftp":
|
||||
import ftplib
|
||||
try:
|
||||
f = ftplib.FTP(netloc)
|
||||
f.login()
|
||||
f.cwd(os.path.dirname(path))
|
||||
size = f.size(os.path.basename(path))
|
||||
f.quit()
|
||||
if debug_func:
|
||||
debug_func("ftplib.size() returned: %s" % size)
|
||||
if size != 0:
|
||||
return True
|
||||
except Exception as e:
|
||||
if debug_func:
|
||||
debug_func("error from ftplib: '%s'" % e)
|
||||
return False
|
||||
return False
|
||||
|
||||
def is_chinese(string):
|
||||
"""
|
||||
检查整个字符串是否包含中文
|
||||
:param string: 需要检查的字符串
|
||||
:return: bool
|
||||
"""
|
||||
for ch in string:
|
||||
if u'\u4e00' <= ch <= u'\u9fff':
|
||||
return True
|
||||
|
||||
return False
|
||||
|
||||
def init_proxy(gsettings=None):
|
||||
""" init proxy settings
|
||||
|
||||
* use apt.conf http proxy if present,
|
||||
* otherwise look into synaptics config file,
|
||||
* otherwise the default behavior will use http_proxy environment
|
||||
if present
|
||||
"""
|
||||
SYNAPTIC_CONF_FILE = "/root/.synaptic/synaptic.conf"
|
||||
proxies = {}
|
||||
# generic apt config wins
|
||||
if apt_pkg.config.find("Acquire::http::Proxy") != '':
|
||||
proxies["http"] = apt_pkg.config.find("Acquire::http::Proxy")
|
||||
# then synaptic
|
||||
elif os.path.exists(SYNAPTIC_CONF_FILE):
|
||||
cnf = apt_pkg.Configuration()
|
||||
apt_pkg.read_config_file(cnf, SYNAPTIC_CONF_FILE)
|
||||
use_proxy = cnf.find_b("Synaptic::useProxy", False)
|
||||
if use_proxy:
|
||||
proxy_host = cnf.find("Synaptic::httpProxy")
|
||||
proxy_port = str(cnf.find_i("Synaptic::httpProxyPort"))
|
||||
if proxy_host and proxy_port:
|
||||
proxies["http"] = "http://%s:%s/" % (proxy_host, proxy_port)
|
||||
if apt_pkg.config.find("Acquire::https::Proxy") != '':
|
||||
proxies["https"] = apt_pkg.config.find("Acquire::https::Proxy")
|
||||
elif "http" in proxies:
|
||||
proxies["https"] = proxies["http"]
|
||||
# if we have a proxy, set it
|
||||
if proxies:
|
||||
# basic verification
|
||||
for proxy in proxies.values():
|
||||
if not re.match("https?://\\w+", proxy):
|
||||
print("proxy '%s' looks invalid" % proxy, file=sys.stderr)
|
||||
return
|
||||
proxy_support = ProxyHandler(proxies)
|
||||
opener = build_opener(proxy_support)
|
||||
install_opener(opener)
|
||||
if "http" in proxies:
|
||||
os.putenv("http_proxy", proxies["http"])
|
||||
if "https" in proxies:
|
||||
os.putenv("https_proxy", proxies["https"])
|
||||
return proxies
|
||||
|
||||
|
||||
def on_battery():
|
||||
"""
|
||||
Check via dbus if the system is running on battery.
|
||||
This function is using UPower per default, if UPower is not
|
||||
available it falls-back to DeviceKit.Power.
|
||||
"""
|
||||
try:
|
||||
import dbus
|
||||
bus = dbus.Bus(dbus.Bus.TYPE_SYSTEM)
|
||||
try:
|
||||
devobj = bus.get_object('org.freedesktop.UPower',
|
||||
'/org/freedesktop/UPower')
|
||||
dev = dbus.Interface(devobj, 'org.freedesktop.DBus.Properties')
|
||||
return dev.Get('org.freedesktop.UPower', 'OnBattery')
|
||||
except dbus.exceptions.DBusException as e:
|
||||
error_unknown = 'org.freedesktop.DBus.Error.ServiceUnknown'
|
||||
if e._dbus_error_name != error_unknown:
|
||||
raise
|
||||
devobj = bus.get_object('org.freedesktop.DeviceKit.Power',
|
||||
'/org/freedesktop/DeviceKit/Power')
|
||||
dev = dbus.Interface(devobj, "org.freedesktop.DBus.Properties")
|
||||
return dev.Get("org.freedesktop.DeviceKit.Power", "on_battery")
|
||||
except Exception:
|
||||
#import sys
|
||||
#print("on_battery returned error: ", e, file=sys.stderr)
|
||||
return False
|
||||
|
||||
|
||||
def inhibit_sleep():
|
||||
"""
|
||||
Send a dbus signal to logind to not suspend the system, it will be
|
||||
released when the return value drops out of scope
|
||||
"""
|
||||
try:
|
||||
from gi.repository import Gio, GLib
|
||||
connection = Gio.bus_get_sync(Gio.BusType.SYSTEM)
|
||||
|
||||
var, fdlist = connection.call_with_unix_fd_list_sync(
|
||||
'org.freedesktop.login1', '/org/freedesktop/login1',
|
||||
'org.freedesktop.login1.Manager', 'Inhibit',
|
||||
GLib.Variant('(ssss)',
|
||||
('shutdown:sleep',
|
||||
'UpdateManager', 'Updating System',
|
||||
'block')),
|
||||
None, 0, -1, None, None)
|
||||
inhibitor = Gio.UnixInputStream(fd=fdlist.steal_fds()[var[0]])
|
||||
|
||||
return inhibitor
|
||||
except Exception:
|
||||
#print("could not send the dbus Inhibit signal: %s" % e)
|
||||
return False
|
||||
|
||||
|
||||
def str_to_bool(str):
|
||||
if str == "0" or str.upper() == "FALSE":
|
||||
return False
|
||||
return True
|
||||
|
||||
|
||||
def get_lang():
|
||||
import logging
|
||||
try:
|
||||
(locale_s, encoding) = locale.getdefaultlocale()
|
||||
return locale_s
|
||||
except Exception:
|
||||
logging.exception("gedefaultlocale() failed")
|
||||
return None
|
||||
|
||||
|
||||
def get_ubuntu_flavor(cache=None):
|
||||
""" try to guess the flavor based on the running desktop """
|
||||
# this will (of course) not work in a server environment,
|
||||
# but the main use case for this is to show the right
|
||||
# release notes.
|
||||
pkg = get_ubuntu_flavor_package(cache=cache)
|
||||
return pkg.split('-', 1)[0]
|
||||
|
||||
|
||||
def _load_meta_pkg_list():
|
||||
# This could potentially introduce a circular dependency, but the config
|
||||
# parser logic is simple, and doesn't rely on any UpdateManager code.
|
||||
from DistUpgrade.DistUpgradeConfigParser import DistUpgradeConfig
|
||||
parser = DistUpgradeConfig('/usr/share/ubuntu-release-upgrader')
|
||||
return parser.getlist('Distro', 'MetaPkgs')
|
||||
|
||||
|
||||
def get_ubuntu_flavor_package(cache=None):
|
||||
""" try to guess the flavor metapackage based on the running desktop """
|
||||
# From spec, first if ubuntu-desktop is installed, use that.
|
||||
# Second, grab first installed one from DistUpgrade.cfg.
|
||||
# Lastly, fallback to ubuntu-desktop again.
|
||||
meta_pkgs = ['ubuntu-desktop']
|
||||
|
||||
try:
|
||||
meta_pkgs.extend(sorted(_load_meta_pkg_list()))
|
||||
except Exception as e:
|
||||
print('Could not load list of meta packages:', e)
|
||||
|
||||
if cache is None:
|
||||
cache = apt.Cache()
|
||||
for meta_pkg in meta_pkgs:
|
||||
cache_pkg = cache[meta_pkg] if meta_pkg in cache else None
|
||||
if cache_pkg and cache_pkg.is_installed:
|
||||
return meta_pkg
|
||||
return 'ubuntu-desktop'
|
||||
|
||||
|
||||
def get_ubuntu_flavor_name(cache=None):
|
||||
""" try to guess the flavor name based on the running desktop """
|
||||
pkg = get_ubuntu_flavor_package(cache=cache)
|
||||
lookup = {'ubuntustudio-desktop': 'Ubuntu Studio'}
|
||||
if pkg in lookup:
|
||||
return lookup[pkg]
|
||||
elif pkg.endswith('-desktop'):
|
||||
return capitalize_first_word(pkg.rsplit('-desktop', 1)[0])
|
||||
elif pkg.endswith('-netbook'):
|
||||
return capitalize_first_word(pkg.rsplit('-netbook', 1)[0])
|
||||
else:
|
||||
return 'Ubuntu'
|
||||
|
||||
|
||||
# Unused by update-manager, but still used by ubuntu-release-upgrader
|
||||
def error(parent, summary, message):
|
||||
import gi
|
||||
gi.require_version("Gtk", "3.0")
|
||||
from gi.repository import Gtk, Gdk
|
||||
d = Gtk.MessageDialog(parent=parent,
|
||||
flags=Gtk.DialogFlags.MODAL,
|
||||
type=Gtk.MessageType.ERROR,
|
||||
buttons=Gtk.ButtonsType.CLOSE)
|
||||
d.set_markup("<big><b>%s</b></big>\n\n%s" % (summary, message))
|
||||
d.realize()
|
||||
d.get_window().set_functions(Gdk.WMFunction.MOVE)
|
||||
d.set_title("")
|
||||
d.run()
|
||||
d.destroy()
|
||||
return False
|
||||
|
||||
def check_free_space(cache):
|
||||
from .DistUpgradeCache import NotEnoughFreeSpaceError
|
||||
err_sum = _("Not enough free disk space")
|
||||
err_msg = _("The upgrade needs a total of %s free space on "
|
||||
"disk '%s'. "
|
||||
"Please free at least an additional %s of disk "
|
||||
"space on '%s'. %s")
|
||||
# specific ways to resolve lack of free space
|
||||
remedy_archivedir = _("Remove temporary packages of former "
|
||||
"installations using 'sudo apt clean'.")
|
||||
remedy_boot = _("You can remove old kernels using "
|
||||
"'sudo apt autoremove', and you could also "
|
||||
"set COMPRESS=xz in "
|
||||
"/etc/initramfs-tools/initramfs.conf to "
|
||||
"reduce the size of your initramfs.")
|
||||
remedy_root = _("Empty your trash and remove temporary "
|
||||
"packages of former installations using "
|
||||
"'sudo apt clean'.")
|
||||
remedy_tmp = _("Reboot to clean up files in /tmp.")
|
||||
remedy_usr = _("")
|
||||
# check free space and error if its not enough
|
||||
try:
|
||||
cache.checkFreeSpace()
|
||||
except NotEnoughFreeSpaceError as e:
|
||||
# CheckFreeSpace examines where packages are cached
|
||||
archivedir = apt_pkg.config.find_dir("Dir::Cache::archives")
|
||||
err_long = ""
|
||||
for req in e.free_space_required_list:
|
||||
if err_long != "":
|
||||
err_long += " "
|
||||
if req.dir == archivedir:
|
||||
err_long += err_msg % (req.size_total, req.dir,
|
||||
req.size_needed, req.dir,
|
||||
remedy_archivedir)
|
||||
elif req.dir == "/boot":
|
||||
err_long += err_msg % (req.size_total, req.dir,
|
||||
req.size_needed, req.dir,
|
||||
remedy_boot)
|
||||
elif req.dir == "/":
|
||||
err_long += err_msg % (req.size_total, req.dir,
|
||||
req.size_needed, req.dir,
|
||||
remedy_root)
|
||||
elif req.dir == "/tmp":
|
||||
err_long += err_msg % (req.size_total, req.dir,
|
||||
req.size_needed, req.dir,
|
||||
remedy_tmp)
|
||||
elif req.dir == "/usr":
|
||||
err_long += err_msg % (req.size_total, req.dir,
|
||||
req.size_needed, req.dir,
|
||||
remedy_usr)
|
||||
#在此抛出异常
|
||||
return False,err_long
|
||||
except SystemError:
|
||||
logging.exception("free space check failed")
|
||||
return True,None
|
||||
|
||||
|
||||
def humanize_size(bytes):
|
||||
"""
|
||||
Convert a given size in bytes to a nicer better readable unit
|
||||
"""
|
||||
|
||||
if bytes < 1000 * 1000:
|
||||
# to have 0 for 0 bytes, 1 for 0-1000 bytes and for 1 and above
|
||||
# round up
|
||||
size_in_kb = int(ceil(bytes / float(1000)))
|
||||
# TRANSLATORS: download size of small updates, e.g. "250 kB"
|
||||
return ngettext("%(size).0f kB", "%(size).0f kB", size_in_kb) % {
|
||||
"size": size_in_kb}
|
||||
else:
|
||||
# TRANSLATORS: download size of updates, e.g. "2.3 MB"
|
||||
return locale.format_string(_("%.1f MB"), bytes / 1000.0 / 1000.0)
|
||||
|
||||
|
||||
def get_arch():
|
||||
return apt_pkg.config.find("APT::Architecture")
|
||||
|
||||
|
||||
def is_port_already_listening(port):
|
||||
""" check if the current system is listening on the given tcp port """
|
||||
# index in the line
|
||||
INDEX_LOCAL_ADDR = 1
|
||||
#INDEX_REMOTE_ADDR = 2
|
||||
INDEX_STATE = 3
|
||||
# state (st) that we care about
|
||||
STATE_LISTENING = '0A'
|
||||
# read the data
|
||||
with open("/proc/net/tcp") as net_tcp:
|
||||
for line in net_tcp.readlines():
|
||||
line = line.strip()
|
||||
if not line:
|
||||
continue
|
||||
# split, values are:
|
||||
# sl local_address rem_address st tx_queue rx_queue tr
|
||||
# tm->when retrnsmt uid timeout inode
|
||||
values = line.split()
|
||||
state = values[INDEX_STATE]
|
||||
if state != STATE_LISTENING:
|
||||
continue
|
||||
local_port_str = values[INDEX_LOCAL_ADDR].split(":")[1]
|
||||
local_port = int(local_port_str, 16)
|
||||
if local_port == port:
|
||||
return True
|
||||
return False
|
||||
|
||||
|
||||
def iptables_active():
|
||||
""" Return True if iptables is active """
|
||||
# FIXME: is there a better way?
|
||||
iptables_empty = """Chain INPUT (policy ACCEPT)
|
||||
target prot opt source destination
|
||||
|
||||
Chain FORWARD (policy ACCEPT)
|
||||
target prot opt source destination
|
||||
|
||||
Chain OUTPUT (policy ACCEPT)
|
||||
target prot opt source destination
|
||||
"""
|
||||
if os.getuid() != 0:
|
||||
raise OSError("Need root to check the iptables state")
|
||||
if not os.path.exists("/sbin/iptables"):
|
||||
return False
|
||||
out = subprocess.Popen(["iptables", "-nL"],
|
||||
stdout=subprocess.PIPE,
|
||||
universal_newlines=True).communicate()[0]
|
||||
if out == iptables_empty:
|
||||
return False
|
||||
return True
|
||||
|
||||
|
||||
def capitalize_first_word(string):
|
||||
""" this uppercases the first word's first letter
|
||||
"""
|
||||
if len(string) > 1 and string[0].isalpha() and not string[0].isupper():
|
||||
return string[0].capitalize() + string[1:]
|
||||
return string
|
||||
|
||||
|
||||
def get_package_label(pkg):
|
||||
""" this takes a package synopsis and uppercases the first word's
|
||||
first letter
|
||||
"""
|
||||
name = getattr(pkg.candidate, "summary", "")
|
||||
return capitalize_first_word(name)
|
||||
|
||||
def LockedPreventShutdown():
|
||||
global pidfile
|
||||
global locked
|
||||
if not os.path.exists(FILELOCK_PATH):
|
||||
os.makedirs(FILELOCK_PATH)
|
||||
pidfile = open(os.path.join(FILELOCK_PATH, SHUTDOWN_BLOCK_FILELOCK), "w+")
|
||||
try:
|
||||
if not locked:
|
||||
fcntl.flock(pidfile, fcntl.LOCK_EX | fcntl.LOCK_NB)
|
||||
logging.info("Has been locked.")
|
||||
locked = True
|
||||
except:
|
||||
locked = False
|
||||
logging.error("file cannot be locked.")
|
||||
return False
|
||||
|
||||
def unLockedEnableShutdown():
|
||||
global pidfile
|
||||
global locked
|
||||
if not pidfile:
|
||||
return False
|
||||
try:
|
||||
fcntl.flock(pidfile, fcntl.LOCK_UN)
|
||||
pidfile.close()
|
||||
locked = False
|
||||
logging.info("Has been unlocked.")
|
||||
except:
|
||||
logging.error("unlock failed.")
|
||||
return False
|
||||
|
||||
if __name__ == "__main__":
|
||||
#print(mirror_from_sources_list())
|
||||
#print(on_battery())
|
||||
#print(inside_chroot())
|
||||
#print(iptables_active())
|
||||
error(None, "bar", "baz")
|
|
@ -1,253 +0,0 @@
|
|||
# UpdateManager.py
|
||||
# -*- Mode: Python; indent-tabs-mode: nil; tab-width: 4; coding: utf-8 -*-
|
||||
|
||||
import os
|
||||
import sys
|
||||
import dbus
|
||||
import logging
|
||||
import dbus.service
|
||||
from dbus.mainloop.glib import DBusGMainLoop
|
||||
DBusGMainLoop(set_as_default=True)
|
||||
|
||||
from .Core.MyCache import MyCache
|
||||
from .UpdateManagerDbus import UpdateManagerDbusController,UPDATER_DBUS_INTERFACE,UPDATER_DBUS_PATH,UPDATER_DBUS_SERVICE
|
||||
from .Core.UpdateList import UpdateList,INPUT_CONFIG_PATH
|
||||
from .backend import (InstallBackend,
|
||||
get_backend)
|
||||
from .Core.Database import Sqlite3Server
|
||||
from .Core.loop import mainloop
|
||||
|
||||
import time
|
||||
from gettext import gettext as _
|
||||
from SystemUpdater.backend import DownloadBackend as downb
|
||||
from SystemUpdater.Core.Database import MODE_UPGRADE_SINGLE
|
||||
import apt_pkg
|
||||
|
||||
GROUPS_PKG_NAME = 'kylin-update-desktop-config'
|
||||
INSTALL_ALONE_PROGRESS = "alone"
|
||||
|
||||
class UpdateManager():
|
||||
|
||||
def __init__(self,options):
|
||||
self.options = options
|
||||
self.cache = None
|
||||
self.update_list = None
|
||||
|
||||
#表示是否处于更新和安装的状态
|
||||
self.is_updating = False
|
||||
self.is_upgrading = False
|
||||
|
||||
#建立dbus
|
||||
self.dbusController = self._setup_dbus()
|
||||
|
||||
#连接数据库
|
||||
self.sqlite3_server = Sqlite3Server(self)
|
||||
|
||||
def run(self):
|
||||
"""Start the daemon and listen for calls."""
|
||||
logging.debug("Waiting for calls")
|
||||
try:
|
||||
mainloop.run()
|
||||
except KeyboardInterrupt:
|
||||
self.dbusController.Quit(None)
|
||||
|
||||
|
||||
#download only
|
||||
def download_backend(self, pkgs):
|
||||
try:
|
||||
download_backend = downb.DownloadBackend(self)
|
||||
download_backend.downloadpkgs(pkgs)
|
||||
except Exception as e:
|
||||
logging.error(str(e))
|
||||
|
||||
#download only 2.0
|
||||
def start_download(self, pkgs):
|
||||
try:
|
||||
if self.options.no_update_source is False:
|
||||
self.dbusController._on_update_important_list()
|
||||
|
||||
update_backend = get_backend(self, InstallBackend.ACTION_DOWNLOADONLY)
|
||||
update_backend.start(partial_upgrade_list = pkgs)
|
||||
except Exception as e:
|
||||
logging.error(str(e))
|
||||
|
||||
#进行更新的操作
|
||||
def start_update(self):
|
||||
try:
|
||||
#FIXME: 进行两次更新,在更新cache之前获取source.list 更新完成之后再进行一次 为了区别服务器错误和网络错误
|
||||
if self.options.no_update_source is False:
|
||||
self.dbusController._on_update_important_list()
|
||||
|
||||
update_backend = get_backend(self, InstallBackend.ACTION_UPDATE)
|
||||
update_backend.start()
|
||||
except Exception as e:
|
||||
logging.error(e)
|
||||
|
||||
#进行升级的操作
|
||||
def start_install(self,upgrade_mode,is_install = False,partial_upgrade_list = []):
|
||||
try:
|
||||
if is_install == True:
|
||||
install_backend = get_backend(self, InstallBackend.ACTION_INSTALL)
|
||||
install_backend.start(upgrade_mode,partial_upgrade_list)
|
||||
else:
|
||||
install_backend = get_backend(self, InstallBackend.ACTION_CHECK_RESOLVER)
|
||||
install_backend.start(upgrade_mode,partial_upgrade_list)
|
||||
except Exception as e:
|
||||
logging.error(e)
|
||||
|
||||
#更新结束之后会调到此获取要升级的列表 and 更新cache 生成升级组列表JSON
|
||||
def start_available(self):
|
||||
_success,header,desc = self.refresh_cache()
|
||||
|
||||
#特殊情况的处理 单独安装包需要直接退出 安装or卸载执行完毕后 还会调到start_available
|
||||
if _success == False and header == INSTALL_ALONE_PROGRESS:
|
||||
return
|
||||
else:
|
||||
upgrade_list = []
|
||||
if self.update_list != None:
|
||||
upgrade_list = self.update_list.local_upgrade_data.upgrade_groups + self.update_list.local_upgrade_data.single_pkgs
|
||||
#发送更新升级列表完成的标志
|
||||
self.dbusController.UpdateDetectFinished(_success,upgrade_list,header,desc)
|
||||
#检查安装完成之后需要重启吗
|
||||
self.is_reboot_required()
|
||||
#清空cache
|
||||
if self.cache != None and self.cache.get_changes():
|
||||
self.cache.clear()
|
||||
|
||||
def check_group_config(self,cache):
|
||||
_success = True
|
||||
header = None
|
||||
desc = None
|
||||
#2、 安装JSON分组配置文件包 安装完毕会重新调start_available --> here 安装失败就直接退出不会进行下面的操作
|
||||
try:
|
||||
pkg_json = cache[GROUPS_PKG_NAME]
|
||||
#是否安装
|
||||
if pkg_json.is_installed:
|
||||
#是否可升级
|
||||
if pkg_json.is_upgradable:
|
||||
logging.info("groups JSON ConfigPkgs(%s) start upgrading...",self.GROUPS_PKG_NAME)
|
||||
pkg_json.mark_upgrade()
|
||||
|
||||
self.start_install(MODE_UPGRADE_SINGLE,True)
|
||||
#直接退出
|
||||
_success = False
|
||||
header = INSTALL_ALONE_PROGRESS
|
||||
return _success,header,desc
|
||||
else:
|
||||
logging.info("ConfigPkgs(%s) No need to upgrade...",GROUPS_PKG_NAME)
|
||||
else:
|
||||
logging.info("groups JSON ConfigPkgs(%s) start new installing...",GROUPS_PKG_NAME)
|
||||
pkg_json.mark_install()
|
||||
self.start_install(MODE_UPGRADE_SINGLE,True)
|
||||
#直接退出
|
||||
_success = False
|
||||
header = INSTALL_ALONE_PROGRESS
|
||||
return _success,header,desc
|
||||
|
||||
#FIXME: 错误处理未做 报告到控制面板
|
||||
except Exception as e:
|
||||
header = _("Preparing the upgrade failed")
|
||||
desc = _("groups JSON ConfigPkgs install failed")
|
||||
logging.warning("groups JSON ConfigPkgs(%s) install failed...",GROUPS_PKG_NAME)
|
||||
logging.error(e)
|
||||
_success = False
|
||||
return _success,header,desc
|
||||
|
||||
#FIXME:
|
||||
#3、 判断目录是JSON配置文件夹是否缺失 缺失后进行修复 卸载重新安装步骤
|
||||
# if not os.path.exists(INPUT_CONFIG_PATH):
|
||||
# logging.info("groups JSON Config Path(%s) Missing and Trying to fix...",INPUT_CONFIG_PATH)
|
||||
# #将软件包卸载 之后进行重新安装here --> purge --> start_available 进行判断是否安装未安装重新安装
|
||||
# # self.start_install_alone(pkgs_purge = [GROUPS_PKG_NAME])
|
||||
# #直接退出
|
||||
# _success = False
|
||||
# header = INSTALL_ALONE_PROGRESS
|
||||
# return _success,header,desc
|
||||
|
||||
return _success,header,desc
|
||||
|
||||
def refresh_cache(self):
|
||||
_success = True
|
||||
header = ''
|
||||
desc = ''
|
||||
try:
|
||||
#第一次进入 之后update不进入
|
||||
if self.cache is None:
|
||||
self.cache = MyCache(None)
|
||||
else:
|
||||
self.cache.open(None)
|
||||
self.cache._initDepCache()
|
||||
except AssertionError:
|
||||
header = _("Software index is broken")
|
||||
desc = _("It is impossible to install or remove any software. "
|
||||
"Please use the package manager \"Synaptic\" or run "
|
||||
"\"sudo apt-get install -f\" in a terminal to fix "
|
||||
"this issue at first.")
|
||||
_success = False
|
||||
return _success,header,desc
|
||||
|
||||
except SystemError as e:
|
||||
header = _("Could not initialize the package information")
|
||||
desc = _("An unresolvable problem occurred while "
|
||||
"initializing the package information.\n\n"
|
||||
"Please report this bug against the 'kylin-system-updater' "
|
||||
"package and include the following error "
|
||||
"message:\n") + str(e)
|
||||
_success = False
|
||||
return _success,header,desc
|
||||
|
||||
#更新important.list
|
||||
if self.options.no_update_source is False:
|
||||
_success,header,desc = self.dbusController._on_update_important_list()
|
||||
if _success == False:
|
||||
return _success,header,desc
|
||||
|
||||
#检查更新分组配置表
|
||||
_success,header,desc = self.check_group_config(self.cache)
|
||||
if _success == False:
|
||||
return _success,header,desc
|
||||
|
||||
self.update_list = UpdateList(self)
|
||||
try:
|
||||
_success,header,desc = self.update_list.update(self.cache)
|
||||
except SystemError as e:
|
||||
pass
|
||||
return _success,header,desc
|
||||
def is_reboot_required(self):
|
||||
"""If a reboot is required to get all changes into effect."""
|
||||
return os.path.exists(os.path.join(apt_pkg.config.find_dir("Dir"),
|
||||
"var/run/reboot-required"))
|
||||
|
||||
def _setup_dbus(self):
|
||||
# check if there is another g-a-i already and if not setup one
|
||||
# listening on dbus
|
||||
try:
|
||||
bus = dbus.SystemBus()
|
||||
except Exception:
|
||||
logging.error("warning: could not initiate dbus")
|
||||
return
|
||||
try:
|
||||
proxy_obj = bus.get_object(UPDATER_DBUS_SERVICE,
|
||||
UPDATER_DBUS_PATH)
|
||||
|
||||
#替换后台
|
||||
if self.options.replace is False:
|
||||
logging.critical("Another daemon is already running")
|
||||
sys.exit(1)
|
||||
else:
|
||||
logging.warning("Replacing already running daemon")
|
||||
proxy_obj.Quit(dbus_interface=UPDATER_DBUS_INTERFACE,
|
||||
timeout=300)
|
||||
time.sleep(1)
|
||||
bus_name = dbus.service.BusName(UPDATER_DBUS_SERVICE,
|
||||
bus,
|
||||
do_not_queue=True)
|
||||
return UpdateManagerDbusController(self, bus_name)
|
||||
|
||||
except dbus.DBusException:
|
||||
bus_name = dbus.service.BusName(UPDATER_DBUS_SERVICE,
|
||||
bus)
|
||||
logging.info(_("initiate dbus success ..."))
|
||||
return UpdateManagerDbusController(self, bus_name)
|
||||
|
||||
|
|
@ -1,284 +0,0 @@
|
|||
#!/usr/bin/python3
|
||||
import dbus
|
||||
import dbus.service
|
||||
import logging
|
||||
import threading
|
||||
|
||||
from gettext import gettext as _
|
||||
from .Core.AlertWatcher import AlertWatcher
|
||||
from .Core.roam import NetworkManagerHelper
|
||||
from .Core.loop import mainloop
|
||||
from .Core.utils import humanize_size
|
||||
from SystemUpdater.Core.utils import (
|
||||
unLockedEnableShutdown,
|
||||
)
|
||||
from SystemUpdater.Core.Database import MODE_UPGRADE_PARTIAL,MODE_UPGRADE_ALL,MODE_UPGRADE_SYSTEM,MODE_UPGRADE_SINGLE
|
||||
|
||||
UPDATER_DBUS_INTERFACE = 'com.kylin.systemupgrade.interface'
|
||||
UPDATER_DBUS_PATH = '/com/kylin/systemupgrade'
|
||||
UPDATER_DBUS_SERVICE = 'com.kylin.systemupgrade'
|
||||
|
||||
#颜色设置
|
||||
COLORLOG_SUFFIX = "\033[0m"
|
||||
|
||||
# NO_PRE = "\033[0m"
|
||||
# RED_PRE = "\033[31;1m"
|
||||
# GREEN_PRE = "\033[32;1m"
|
||||
# YELLOW_PRE = "\033[33;1m"
|
||||
# BULE_PRE = "\033[34;1m"
|
||||
# BACK_BLACK_PER = "\033[40;1m"
|
||||
# BACK_RED_PER = "\033[41;1m"
|
||||
# BACK_GREEN_PER = "\033[42;1m"
|
||||
BACK_YELLOW_PER = "\033[43;1m"
|
||||
# BACK_BLUE_PER = "\033[44;1m"
|
||||
# BACK_WHITE_YELLOW_PRE = "\033[1;31;43m"
|
||||
|
||||
COLORLOG_PREFIX = BACK_YELLOW_PER
|
||||
|
||||
#dbus 建立
|
||||
class UpdateManagerDbusController(dbus.service.Object):
|
||||
""" this is a helper to provide the UpdateManagerIFace """
|
||||
|
||||
UPDATER_DBUS_INTERFACE = 'com.kylin.systemupgrade.interface'
|
||||
|
||||
def __init__(self, parent, bus_name,
|
||||
object_path=UPDATER_DBUS_PATH):
|
||||
dbus.service.Object.__init__(self, bus_name, object_path)
|
||||
self.parent = parent
|
||||
|
||||
#网络检测 电池检测等等的启动检查
|
||||
# self.alert_watcher = AlertWatcher()
|
||||
# self.alert_watcher.check_alert_state()
|
||||
# self.alert_watcher.connect("network-alert", self._on_network_alert)
|
||||
# self.connected = False
|
||||
self.transaction = None
|
||||
|
||||
#更新important.list的本次升级的列表
|
||||
def _on_update_important_list(self):
|
||||
header = None
|
||||
desc = None
|
||||
|
||||
lock = threading.Lock()
|
||||
bus = dbus.SystemBus()
|
||||
try:
|
||||
obj = bus.get_object('com.kylin.software.properties', '/com/kylin/software/properties')
|
||||
interface = dbus.Interface(obj, dbus_interface='com.kylin.software.properties.interface')
|
||||
lock.acquire()
|
||||
retval = interface.updateSourceTemplate()
|
||||
lock.release()
|
||||
except Exception as e:
|
||||
header = _("update important list occur Exception")
|
||||
desc = str(e)
|
||||
logging.error("update sourceTemplate Failed and Error mes:%s"%str(e))
|
||||
return False,header,desc
|
||||
|
||||
if retval == False:
|
||||
header = _("Failed to get update software push, please try to update again later")
|
||||
desc = _("Connection exception with push server")
|
||||
logging.warning(header + desc)
|
||||
return retval,header,desc
|
||||
else:
|
||||
logging.info("update sourceTemplate successed...")
|
||||
return retval,header,desc
|
||||
|
||||
#检测网络的状态
|
||||
def _on_network_alert(self, watcher, state):
|
||||
if state in NetworkManagerHelper.NM_STATE_CONNECTED_LIST:
|
||||
self.connected = True
|
||||
logging.info('Network Connected ...')
|
||||
else:
|
||||
self.connected = False
|
||||
logging.info('Network Disconnected ...')
|
||||
|
||||
@dbus.service.method(UPDATER_DBUS_INTERFACE,
|
||||
in_signature="", out_signature="",
|
||||
sender_keyword="caller_name")
|
||||
def Quit(self, caller_name):
|
||||
"""Request a shutdown of the daemon."""
|
||||
self.CancelDownload()
|
||||
try:
|
||||
logging.info("file unlocked")
|
||||
unLockedEnableShutdown()
|
||||
except:
|
||||
logging.error("File lock release failure")
|
||||
logging.info("Quitting was requested")
|
||||
logging.debug("Quitting main loop...")
|
||||
mainloop.quit()
|
||||
logging.debug("Exit")
|
||||
|
||||
#更新的dbus
|
||||
@dbus.service.method(UPDATER_DBUS_INTERFACE,out_signature='b')
|
||||
def UpdateDetect(self):
|
||||
try:
|
||||
#处于更新和升级中的话 不进行更新
|
||||
if self.parent.is_updating or self.parent.is_upgrading:
|
||||
logging.info('In the process of updating or Upgrading...')
|
||||
return False,'In the process of updating or Upgrading...'
|
||||
else:
|
||||
self.parent.start_update()
|
||||
logging.info('method UpdateDetect ...')
|
||||
return True
|
||||
except Exception:
|
||||
return False
|
||||
|
||||
#全部升级
|
||||
@dbus.service.method(UPDATER_DBUS_INTERFACE,in_signature='b',out_signature='bs')
|
||||
def DistUpgradeAll(self,_is_install):
|
||||
try:
|
||||
is_install = bool(_is_install)
|
||||
if not self.parent.update_list:
|
||||
logging.info('Perform \"UpdateDetect\" first')
|
||||
return False,'Perform \"UpdateDetect\" first'
|
||||
#处于更新和升级中的话 不进行升级
|
||||
if self.parent.is_updating or self.parent.is_upgrading:
|
||||
logging.info('In the process of updating or Upgrading...')
|
||||
return False,'In the process of updating or Upgrading...'
|
||||
else:
|
||||
logging.info('method DistUpgradeSystem and is_install:%r...',is_install)
|
||||
self.parent.start_install(MODE_UPGRADE_ALL,is_install)
|
||||
return True,'success'
|
||||
except Exception as e:
|
||||
return False,str(e)
|
||||
|
||||
#部分升级
|
||||
@dbus.service.method(UPDATER_DBUS_INTERFACE,in_signature='bas',out_signature='bs')
|
||||
def DistUpgradePartial(self,_is_install,_partial_upgrade_list):
|
||||
try:
|
||||
is_install = bool(_is_install)
|
||||
if not self.parent.update_list:
|
||||
logging.info('Perform \"UpdateDetect\" first')
|
||||
return False,'Perform \"UpdateDetect\" first'
|
||||
#处于更新和升级中的话 不进行升级
|
||||
if self.parent.is_updating or self.parent.is_upgrading:
|
||||
logging.info('In the process of updating or Upgrading...')
|
||||
return False,'In the process of updating or Upgrading...'
|
||||
else:
|
||||
partial_upgrade_list = [str(i) for i in _partial_upgrade_list]
|
||||
local_upgrade_groups = self.parent.update_list.local_upgrade_data.upgrade_groups
|
||||
local_single_pkgs = self.parent.update_list.local_upgrade_data.single_pkgs
|
||||
|
||||
upgrade_intersection_pkgs = list(set(partial_upgrade_list) & set(local_upgrade_groups + local_single_pkgs))
|
||||
|
||||
if upgrade_intersection_pkgs:
|
||||
logging.info('dbus partial_upgrade(%s),is_install:%r',partial_upgrade_list,is_install)
|
||||
self.parent.start_install(MODE_UPGRADE_PARTIAL,is_install,partial_upgrade_list)
|
||||
return True,'dbus upgrading'
|
||||
else:
|
||||
logging.warning('input upgrade list(%s) not in local upgrade_list(%s)',partial_upgrade_list,local_upgrade_groups+local_single_pkgs)
|
||||
return False,'upgrade_list is empty'
|
||||
except Exception as e:
|
||||
return False,e
|
||||
|
||||
# 取消transaction
|
||||
@dbus.service.method(UPDATER_DBUS_INTERFACE, out_signature='bs')
|
||||
def CancelDownload(self):
|
||||
status = False
|
||||
message = ""
|
||||
try:
|
||||
if self.transaction.cancellable == True:
|
||||
self.transaction.cancel()
|
||||
status = True
|
||||
message = "Success"
|
||||
logging.info("dbus-mothod cancel task Success")
|
||||
elif self.transaction == None or self.transaction.cancellable == False:
|
||||
message = "Can not Cancel"
|
||||
except Exception as e:
|
||||
return (status,str(e))
|
||||
return (status, message)
|
||||
|
||||
# 依赖错误时调用的接口
|
||||
@dbus.service.method(UPDATER_DBUS_INTERFACE,in_signature='b',out_signature='bs')
|
||||
def DistUpgradeSystem(self,_is_install):
|
||||
try:
|
||||
is_install = bool(_is_install)
|
||||
#处于更新和升级中的话 不进行升级
|
||||
if self.parent.is_updating or self.parent.is_upgrading:
|
||||
logging.info('In the process of updating or Upgrading...')
|
||||
return False,'In the process of updating or Upgrading...'
|
||||
else:
|
||||
logging.info('method DistUpgradeSystem and is_install:%r...',is_install)
|
||||
self.parent.start_install(MODE_UPGRADE_SYSTEM,is_install)
|
||||
return True,'success'
|
||||
except Exception as e:
|
||||
logging.error(False, str(e))
|
||||
return (False, str(e))
|
||||
|
||||
# 操作数据库的接口
|
||||
@dbus.service.method(UPDATER_DBUS_INTERFACE, out_signature='b')
|
||||
def DataBaseOpt(self, action='check',table='', cid=19):
|
||||
if action == 'check':
|
||||
try:
|
||||
self.parent.sqlite3_server.find_msg_from_datebase(action, table, cid)
|
||||
except Exception as e:
|
||||
logging.error(str(e))
|
||||
return False
|
||||
return True
|
||||
|
||||
# # download certain package and its dependencies
|
||||
@dbus.service.method(UPDATER_DBUS_INTERFACE, in_signature='asi', out_signature='b')
|
||||
def DownloadPackages(self, pkgs=[], try_times=1):
|
||||
logging.info("Download Packages ...")
|
||||
if try_times > 0:
|
||||
pass
|
||||
else:
|
||||
try_times = 1
|
||||
times = try_times
|
||||
while times > 0:
|
||||
self.parent.start_download(pkgs)
|
||||
times -= 1
|
||||
return True
|
||||
|
||||
#更新进度信息 0~100 进度信息 101为非预期的信号
|
||||
@dbus.service.signal(UPDATER_DBUS_INTERFACE,signature='is')
|
||||
def UpdateDetectStatusChanged(self,progress,status):
|
||||
logging.info(COLORLOG_PREFIX+"emit"+COLORLOG_SUFFIX+" UpdateDetectStatusChanged progress = %d , status = %s",progress,status)
|
||||
|
||||
#更新完成的信号
|
||||
@dbus.service.signal(UPDATER_DBUS_INTERFACE,signature='basss')
|
||||
def UpdateDetectFinished(self, success, upgrade_group,error_string='',error_desc='',):
|
||||
logging.info(COLORLOG_PREFIX + "emit"+ COLORLOG_SUFFIX + " UpdateDetectFinished success = %r , upgrade_group = %a, error_string = %s , error_desc = %s ",\
|
||||
success,upgrade_group,error_string,error_desc)
|
||||
|
||||
#升级的进度信息 0~100 进度信息 101为非预期的信号
|
||||
@dbus.service.signal(UPDATER_DBUS_INTERFACE,signature='asiss')
|
||||
def UpdateDloadAndInstStaChanged(self,groups_list,progress,status,current_details):
|
||||
logging.info(COLORLOG_PREFIX + "emit" + COLORLOG_SUFFIX +" UpdateDloadAndInstStaChanged upgrade groups_list = %s progress = %d , status = %s ,\
|
||||
current_details = %s\033[0m",groups_list,progress,status,current_details)
|
||||
|
||||
#升级完成的信号
|
||||
@dbus.service.signal(UPDATER_DBUS_INTERFACE,signature='basss')
|
||||
def UpdateInstallFinished(self, success, upgrade_group,error_string='',error_desc='',):
|
||||
logging.info(COLORLOG_PREFIX + "emit" + COLORLOG_SUFFIX +" UpdateInstallFinished success = %r , upgrade_group = %a, error_string = %s , error_desc = %s ",\
|
||||
success,upgrade_group, error_string,error_desc)
|
||||
|
||||
#发送下载包信息
|
||||
@dbus.service.signal(UPDATER_DBUS_INTERFACE, signature='iiiii')
|
||||
def UpdateDownloadInfo(self, current_items, total_items, currenty_bytes, total_bytes, current_cps):
|
||||
logging.info(COLORLOG_PREFIX + "emit" + COLORLOG_SUFFIX +" UpdateDownloadInfo current_items = %d, total_items = %d, currenty_bytes = %s, total_bytes = %s, current_cps = %s/s",\
|
||||
current_items, total_items, \
|
||||
humanize_size(currenty_bytes), humanize_size(total_bytes),\
|
||||
humanize_size(current_cps))
|
||||
|
||||
#查询解决依赖 信号
|
||||
@dbus.service.signal(UPDATER_DBUS_INTERFACE,signature='bbasasasss')
|
||||
def UpdateDependResloveStatus(self, resolver_status, remove_status,remove_pkgs,pkg_raw_description,delete_desc,error_string='',error_desc='',):
|
||||
logging.info(COLORLOG_PREFIX + "emit" + COLORLOG_SUFFIX +" UpdateDependResloveStatus:resolver_status = %r , resolver_status = %r , remove_pkgs = %a,pkg_raw_description = %a ,delete_desc = %s,error_string = %s , error_desc = %s ",\
|
||||
resolver_status,remove_status,remove_pkgs,pkg_raw_description,delete_desc,error_string,error_desc)
|
||||
|
||||
#查询dist-upgrade解决依赖
|
||||
@dbus.service.signal(UPDATER_DBUS_INTERFACE,signature='bbasasss')
|
||||
def DistupgradeDependResloveStatus(self, resolver_status, remove_status,remove_pkgs,pkg_raw_description,error_string='',error_desc='',):
|
||||
logging.info(COLORLOG_PREFIX + "emit" + COLORLOG_SUFFIX +" DistupgradeDependResloveStatus:resolver_status = %r , resolver_status = %r , remove_pkgs = %a,pkg_raw_description = %a ,error_string = %s , error_desc = %s ",\
|
||||
resolver_status,remove_status,remove_pkgs,pkg_raw_description,error_string,error_desc)
|
||||
|
||||
# 信号是否可取消
|
||||
@dbus.service.signal(UPDATER_DBUS_INTERFACE, signature='b')
|
||||
def Cancelable(self, Cancelable):
|
||||
logging.info(COLORLOG_PREFIX + "emit" + COLORLOG_SUFFIX +" Cancelable: %r",\
|
||||
Cancelable)
|
||||
|
||||
# 插入数据库完成后发送
|
||||
@dbus.service.signal(UPDATER_DBUS_INTERFACE, signature='ss')
|
||||
def UpdateSqlitSingle(self, appname, date):
|
||||
logging.info(COLORLOG_PREFIX + "emit" + COLORLOG_SUFFIX +" UpdateSqlitSingle: [ %s ]: date: %s .",\
|
||||
appname, date)
|
|
@ -1 +0,0 @@
|
|||
VERSION = '1.1.9kord'
|
|
@ -1,140 +0,0 @@
|
|||
#!/usr/bin/python3
|
||||
|
||||
import os
|
||||
import apt
|
||||
import logging
|
||||
import apt_pkg
|
||||
from defer import inline_callbacks
|
||||
from apt.progress.base import AcquireProgress
|
||||
from gettext import gettext as _
|
||||
|
||||
#python-apt download only
|
||||
class FetchProgress(AcquireProgress):
|
||||
def __init__(self, downdeamon) -> None:
|
||||
super().__init__()
|
||||
self.downd = downdeamon
|
||||
self.dbusDeamon = downdeamon.window_main.dbusController
|
||||
self.kargs = {"desc":"", "err_text":"","status":"", "type":""}
|
||||
self.time = 0
|
||||
|
||||
|
||||
def pulse(self, owner):
|
||||
progress = int((self.current_bytes / self.total_bytes) * 100)
|
||||
total_size = self.total_bytes
|
||||
pkgname = ''
|
||||
tmplist = []
|
||||
current_cps =0
|
||||
if owner.workers[0].current_item != None:
|
||||
pkgname=str(owner.workers[0].current_item.shortdesc)
|
||||
for i in owner.items:
|
||||
allpkgs=os.path.basename(i.destfile)
|
||||
allpkgs = allpkgs.split("_")[0]
|
||||
tmplist.append(allpkgs)
|
||||
current_items = tmplist.index(pkgname)
|
||||
else:
|
||||
current_items = 0
|
||||
current_cps = self.calculatcps()
|
||||
if current_cps == None:
|
||||
current_cps = 0
|
||||
self.dbusDeamon.UpdateDownloadInfo(\
|
||||
current_items, len(owner.items), \
|
||||
self.current_bytes, owner.total_needed, \
|
||||
current_cps)
|
||||
return
|
||||
|
||||
def stop(self):
|
||||
logging.info("fetch progess finished")
|
||||
finish_status = False
|
||||
if self.current_items == self.total_items:
|
||||
finish_status = True
|
||||
else:
|
||||
finish_status = False
|
||||
error_string = "Download " + self.kargs['desc'] + self.kargs['type']
|
||||
error_desc = self.kargs['err_text']
|
||||
self.dbusDeamon.UpdateInstallFinished(finish_status, self.downd.pkglists, error_string, error_desc)
|
||||
return
|
||||
|
||||
def fail(self, acquireitemdesc):
|
||||
desc = acquireitemdesc.shortdesc
|
||||
err_text = acquireitemdesc.owner.error_text
|
||||
status = acquireitemdesc.owner.status
|
||||
type = ""
|
||||
if status == apt_pkg.AcquireItem.STAT_AUTH_ERROR:
|
||||
type = "authentication error"
|
||||
elif status == apt_pkg.AcquireItem.STAT_ERROR:
|
||||
type = "fetch error"
|
||||
elif status == apt_pkg.AcquireItem.STAT_TRANSIENT_NETWORK_ERROR:
|
||||
type = "network error"
|
||||
elif status == apt_pkg.AcquireItem.STAT_IDLE:
|
||||
type = "to be fetched"
|
||||
elif status == apt_pkg.AcquireItem.STAT_FETCHING:
|
||||
type = "fetching"
|
||||
elif status == apt_pkg.AcquireItem.STAT_DONE:
|
||||
type = "finished"
|
||||
else:
|
||||
type = "normal"
|
||||
self.kargs = {"desc":desc, \
|
||||
"err_text":err_text, \
|
||||
"status":status, \
|
||||
"type":type}
|
||||
# self.deamon.DownloadErrorSignal(desc, type, err_text)
|
||||
return
|
||||
|
||||
def start(self):
|
||||
# type: () -> None
|
||||
"""Invoked when the Acquire process starts running."""
|
||||
# Reset all our values.
|
||||
self.current_bytes = 0.0
|
||||
self.current_cps = 0.0
|
||||
self.current_items = 0
|
||||
self.elapsed_time = 0
|
||||
self.fetched_bytes = 0.0
|
||||
self.last_bytes = 0.0
|
||||
self.total_bytes = 0.0
|
||||
self.total_items = 0
|
||||
logging.info("start download ...")
|
||||
|
||||
def calculatcps(self):
|
||||
import datetime
|
||||
if self.time == 0:
|
||||
self.time = datetime.datetime.now()
|
||||
self.currentbyte = self.current_bytes
|
||||
return 0
|
||||
else:
|
||||
time = datetime.datetime.now()
|
||||
if self.current_bytes == self.currentbyte:
|
||||
cps = 0
|
||||
else:
|
||||
cps = (self.current_bytes-self.currentbyte) / (time-self.time).microseconds * 1000000
|
||||
# print((time-self.time).microseconds)
|
||||
# print(self.current_bytes-self.currentbyte)
|
||||
self.currentbyte = self.current_bytes
|
||||
self.time = time
|
||||
return cps
|
||||
|
||||
class DownloadBackend():
|
||||
def __init__(self, window_main):
|
||||
self.window_main = window_main
|
||||
self.pkglists = []
|
||||
|
||||
def downloadpkgs(self, pkgs = []):
|
||||
logging.info("Pkgs: %s", pkgs)
|
||||
self.pkglists = pkgs
|
||||
apt_pkg.init()
|
||||
cache = apt_pkg.Cache()
|
||||
depcache = apt_pkg.DepCache(cache)
|
||||
packagerecords = apt_pkg.PackageRecords(cache)
|
||||
pm = apt_pkg.PackageManager(depcache)
|
||||
sourcelist = apt_pkg.SourceList()
|
||||
sourcelist.read_main_list()
|
||||
try:
|
||||
for pkgname in pkgs:
|
||||
pkg = cache[pkgname]
|
||||
depcache.mark_install(pkg)
|
||||
except Exception as e:
|
||||
logging.error(str(e))
|
||||
return False
|
||||
fetcher = apt_pkg.Acquire(FetchProgress(self))
|
||||
pm.get_archives(fetcher, sourcelist, packagerecords)
|
||||
ret = fetcher.run()
|
||||
|
|
@ -1,252 +0,0 @@
|
|||
#!/usr/bin/env python
|
||||
|
||||
from aptdaemon import client, errors
|
||||
from defer import inline_callbacks
|
||||
from aptdaemon.enums import (EXIT_SUCCESS,
|
||||
EXIT_FAILED,
|
||||
EXIT_CANCELLED,
|
||||
get_error_description_from_enum,
|
||||
get_error_string_from_enum,
|
||||
get_status_string_from_enum
|
||||
)
|
||||
from SystemUpdater.backend import InstallBackend
|
||||
import logging
|
||||
from gettext import gettext as _
|
||||
|
||||
import dbus,time
|
||||
from gi.repository import GLib
|
||||
|
||||
# 超时检测 秒单位
|
||||
UPDATER_IDLE_CHECK_INTERVAL = 30
|
||||
UPDATER_IDLE_TIMEOUT = 10 * 60
|
||||
|
||||
import dbus
|
||||
from SystemUpdater.Core.utils import (LockedPreventShutdown)
|
||||
|
||||
class InstallBackendAptdaemon(InstallBackend):
|
||||
"""Makes use of aptdaemon to refresh the cache and to install updates."""
|
||||
|
||||
def __init__(self, window_main, action):
|
||||
InstallBackend.__init__(self, window_main, action)
|
||||
self.window_main = window_main
|
||||
#客户端连接aptdeamon的dbus接口
|
||||
self.client = client.AptClient()
|
||||
self.trans_failed_msg = None
|
||||
|
||||
self.trans_progress = 0
|
||||
self.static_progress = 0
|
||||
self.trans_status = ''
|
||||
self.details = ''
|
||||
|
||||
self.last_action_timestamp = time.time()
|
||||
|
||||
if self.action == self.ACTION_INSTALL:
|
||||
#超时检查轮询
|
||||
logging.info("timeout_add_seconds init...")
|
||||
GLib.timeout_add_seconds(UPDATER_IDLE_CHECK_INTERVAL,
|
||||
self._check_for_inactivity)
|
||||
|
||||
def _check_for_inactivity(self):
|
||||
"""Shutdown the daemon if it has been inactive for time specified
|
||||
in UPDATER_IDLE_TIMEOUT.
|
||||
"""
|
||||
logging.info("Checking for inactivity...")
|
||||
|
||||
if self.window_main.is_upgrading == False:
|
||||
logging.info("Installing to exit and timeout check quit...")
|
||||
return False
|
||||
#进度不同时 更新时间戳
|
||||
if self.trans_progress != self.static_progress:
|
||||
self.static_progress = self.trans_progress
|
||||
self.last_action_timestamp = time.time()
|
||||
|
||||
#只有安装的时候启用 下载时候不使用
|
||||
timestamp = self.last_action_timestamp
|
||||
if (time.time() - timestamp > UPDATER_IDLE_TIMEOUT
|
||||
and self.static_progress > 50):
|
||||
logging.error("Quitting due to inactivity(%s)",self.details)
|
||||
self._action_done(self.ACTION_INSTALL,
|
||||
authorized=True, success=False,
|
||||
#FIXME: 安装超时退出
|
||||
error_string=_("Could not install the upgrades"),
|
||||
error_desc=_("Installtion timeout to exit Due to inactivity") + self.details)
|
||||
|
||||
self.window_main.dbusController.Quit(None)
|
||||
return False
|
||||
return True
|
||||
|
||||
@inline_callbacks
|
||||
def update(self):
|
||||
"""刷新包cache"""
|
||||
try:
|
||||
trans = yield self.client.update_cache(defer=True)
|
||||
self.window_main.dbusController.transaction = trans
|
||||
# 注册回调函数 接收更新的状态
|
||||
yield self._show_transaction(trans, self.ACTION_UPDATE,
|
||||
_("Checking for updates…"), False)
|
||||
except errors.NotAuthorizedError:
|
||||
self._action_done(self.ACTION_UPDATE,
|
||||
authorized=False, success=False,
|
||||
error_string=None, error_desc=None)
|
||||
except Exception:
|
||||
self._action_done(self.ACTION_UPDATE,
|
||||
authorized=True, success=False,
|
||||
error_string=None, error_desc=None)
|
||||
raise
|
||||
|
||||
@inline_callbacks
|
||||
def commit(self, pkgs_install, pkgs_upgrade, pkgs_remove,pkgs_purge = []):
|
||||
"""Commit a list of package adds and removes"""
|
||||
try:
|
||||
reinstall = downgrade = []
|
||||
trans = yield self.client.commit_packages(
|
||||
pkgs_install, reinstall, pkgs_remove, purge = pkgs_purge, upgrade = pkgs_upgrade,
|
||||
downgrade = downgrade, defer=True)
|
||||
self.window_main.dbusController.transaction = trans
|
||||
|
||||
yield self._show_transaction(trans, self.ACTION_INSTALL,
|
||||
_("Installing updates…"), True)
|
||||
except errors.NotAuthorizedError:
|
||||
self._action_done(self.ACTION_INSTALL,
|
||||
authorized=False, success=False,
|
||||
error_string=None, error_desc=None)
|
||||
except errors.TransactionFailed as e:
|
||||
self.trans_failed_msg = str(e)
|
||||
except dbus.DBusException as e:
|
||||
if e.get_dbus_name() != "org.freedesktop.DBus.Error.NoReply":
|
||||
raise
|
||||
self._action_done(self.ACTION_INSTALL,
|
||||
authorized=False, success=False,
|
||||
error_string=None, error_desc=None)
|
||||
except Exception:
|
||||
self._action_done(self.ACTION_INSTALL,
|
||||
authorized=True, success=False,
|
||||
error_string=None, error_desc=None)
|
||||
raise
|
||||
|
||||
@inline_callbacks
|
||||
def install_deb(self,install_path,install_force):
|
||||
"""安装deb包 """
|
||||
try:
|
||||
trans = yield self.client.install_file(path = install_path,force = install_force,defer=True)
|
||||
self.window_main.dbusController.transaction = trans
|
||||
# 注册回调函数 接收更新的状态
|
||||
yield self._show_transaction(trans, self.ACTION_INSTALL_DEB,
|
||||
_("Installing deb packages…"), False)
|
||||
except errors.NotAuthorizedError:
|
||||
self._action_done(self.ACTION_INSTALL_DEB,
|
||||
authorized=False, success=False,
|
||||
error_string=None, error_desc=None)
|
||||
except Exception:
|
||||
self._action_done(self.ACTION_INSTALL_DEB,
|
||||
authorized=True, success=False,
|
||||
error_string=None, error_desc=None)
|
||||
raise
|
||||
|
||||
@inline_callbacks
|
||||
def download_deb(self, pkg_lists):
|
||||
"""download deb only"""
|
||||
try:
|
||||
trans = yield self.client.download_packages(pkg_names = pkg_lists, defer=True)
|
||||
self.window_main.dbusController.transaction = trans
|
||||
# 注册回调函数 接收更新的状态
|
||||
yield self._show_transaction(trans, self.ACTION_DOWNLOADONLY,
|
||||
_("Downloading deb packages…"), False)
|
||||
except errors.NotAuthorizedError:
|
||||
self._action_done(self.ACTION_DOWNLOADONLY,
|
||||
authorized=False, success=False,
|
||||
error_string=None, error_desc=None)
|
||||
except Exception:
|
||||
self._action_done(self.ACTION_DOWNLOADONLY,
|
||||
authorized=True, success=False,
|
||||
error_string=None, error_desc=None)
|
||||
raise
|
||||
|
||||
#进度回调
|
||||
def _on_progress_changed(self, trans,progress,action):
|
||||
if progress == 101:
|
||||
return
|
||||
self.trans_progress = progress
|
||||
if action == self.ACTION_UPDATE:
|
||||
self.window_main.dbusController.UpdateDetectStatusChanged(self.trans_progress,self.trans_status)
|
||||
else:
|
||||
if progress >= 50 and action != self.ACTION_DOWNLOADONLY:
|
||||
LockedPreventShutdown()
|
||||
upgrade_content = self.now_upgrade.upgrade_groups+self.now_upgrade.single_pkgs
|
||||
self.window_main.dbusController.UpdateDloadAndInstStaChanged(upgrade_content,self.trans_progress,self.trans_status,self.details)
|
||||
|
||||
|
||||
#同步状态回调
|
||||
def _on_status_changed(self, trans, status,action):
|
||||
#转化词条
|
||||
self.trans_status = get_status_string_from_enum(status)
|
||||
|
||||
if action == self.ACTION_UPDATE:
|
||||
self.window_main.dbusController.UpdateDetectStatusChanged(self.trans_progress,self.trans_status)
|
||||
elif action == self.ACTION_INSTALL and action == self.ACTION_INSTALL_DEB:
|
||||
#升级的时候发送状态信号时需要上传更新组信息self.upgrade_groups_list
|
||||
upgrade_content = self.now_upgrade.upgrade_groups+self.now_upgrade.single_pkgs
|
||||
self.window_main.dbusController.UpdateDloadAndInstStaChanged(upgrade_content,self.trans_progress,self.trans_status,self.details)
|
||||
elif action == self.ACTION_DOWNLOADONLY:
|
||||
pass
|
||||
|
||||
def _on_details_changed(self, trans, details):
|
||||
self.details = details
|
||||
|
||||
def _on_download_changed(self, trans, details):
|
||||
logging.info(details)
|
||||
|
||||
# eta 剩余时间不正确,取消掉
|
||||
def _on_progress_download_changed(self,trans,current_items, total_items, currenty_bytes, total_bytes, current_cps, eta):
|
||||
if self.action == self.ACTION_INSTALL:
|
||||
self.window_main.dbusController.UpdateDownloadInfo(\
|
||||
current_items, total_items, \
|
||||
currenty_bytes, total_bytes, \
|
||||
current_cps)
|
||||
|
||||
def _on_cancellable_changed(self, trans, Cancelable):
|
||||
self.window_main.dbusController.Cancelable(Cancelable)
|
||||
|
||||
@inline_callbacks
|
||||
def _show_transaction(self, trans, action, header, show_details):
|
||||
#更新和升级最后完成和失败都会走此在此进行完成之后的处理
|
||||
trans.connect("finished", self._on_finished, action)
|
||||
#升级和更新的状态信息和进度
|
||||
trans.connect("status-changed", self._on_status_changed,action)
|
||||
trans.connect("progress-changed", self._on_progress_changed,action)
|
||||
#取消升级
|
||||
trans.connect("cancellable-changed", self._on_cancellable_changed)
|
||||
#下载的进度信息
|
||||
trans.connect("progress-details-changed", self._on_progress_download_changed)
|
||||
trans.connect("status-details-changed", self._on_details_changed)
|
||||
# yield trans.set_debconf_frontend("ukui")
|
||||
yield trans.run()
|
||||
|
||||
def _on_finished(self, trans, status, action):
|
||||
error_string = ''
|
||||
error_desc = ''
|
||||
|
||||
if status == EXIT_FAILED:
|
||||
error_string = get_error_string_from_enum(trans.error.code)
|
||||
error_desc = get_error_description_from_enum(trans.error.code)
|
||||
if self.trans_failed_msg:
|
||||
error_desc = error_desc + "\n" + self.trans_failed_msg
|
||||
#取消下载
|
||||
elif status == EXIT_CANCELLED:
|
||||
error_string = _("Failed to fetch")
|
||||
error_desc = _("_Cancel Upgrade")
|
||||
elif status == EXIT_SUCCESS:
|
||||
error_string = _("System upgrade is complete.")
|
||||
|
||||
is_success = (status == EXIT_SUCCESS)
|
||||
try:
|
||||
self._action_done(action,
|
||||
authorized=True, success=is_success,
|
||||
error_string=error_string, error_desc=error_desc)
|
||||
except TypeError:
|
||||
# this module used to be be lazily imported and in older code
|
||||
# trans_failed= is not accepted
|
||||
# TODO: this workaround can be dropped in Ubuntu 20.10
|
||||
self._action_done(action,
|
||||
authorized=True, success=is_success,
|
||||
error_string=error_string, error_desc=error_desc)
|
|
@ -1,366 +0,0 @@
|
|||
#!/usr/bin/env python
|
||||
# -*- Mode: Python; indent-tabs-mode: nil; tab-width: 4; coding: utf-8 -*-
|
||||
|
||||
"""Integration of package managers into SystemUpdater"""
|
||||
# (c) 2005-2009 Canonical, GPL
|
||||
|
||||
from __future__ import absolute_import
|
||||
|
||||
import logging
|
||||
import os
|
||||
from gettext import gettext as _
|
||||
|
||||
import apt_pkg
|
||||
from SystemUpdater.Core.utils import (
|
||||
unLockedEnableShutdown,
|
||||
check_free_space
|
||||
)
|
||||
from ..Core.Database import MODE_DEFAULT_STATUS,MODE_UPGRADE_PARTIAL,MODE_UPGRADE_ALL,MODE_UPGRADE_SYSTEM,MODE_UPGRADE_SINGLE
|
||||
|
||||
class NowUpgradePara:
|
||||
"""
|
||||
Represent the (potentially partial) results of an unattended-upgrades
|
||||
run
|
||||
"""
|
||||
def __init__(self,
|
||||
upgrade_groups=[],
|
||||
upgrade_mode=MODE_DEFAULT_STATUS,
|
||||
single_pkgs=[],
|
||||
):
|
||||
#组列表中包含的包
|
||||
self.upgrade_groups = upgrade_groups
|
||||
|
||||
#升级的模式
|
||||
self.upgrade_mode = upgrade_mode
|
||||
#推送的可升级的单包
|
||||
self.single_pkgs = single_pkgs
|
||||
|
||||
class InstallBackend():
|
||||
ACTION_UPDATE = 0
|
||||
ACTION_INSTALL = 1
|
||||
ACTION_INSTALL_DEB = 2
|
||||
ACTION_CHECK_RESOLVER = 3
|
||||
ACTION_DOWNLOADONLY = 4
|
||||
|
||||
def __init__(self, window_main, action):
|
||||
self.window_main = window_main
|
||||
self.cache = window_main.cache
|
||||
self.action = action
|
||||
|
||||
if self.window_main.update_list != None:
|
||||
self.local_upgrade_data = window_main.update_list.local_upgrade_data
|
||||
|
||||
self.now_upgrade = NowUpgradePara([],MODE_DEFAULT_STATUS,[])
|
||||
|
||||
def start(self,_upgrade_mode = MODE_DEFAULT_STATUS,partial_upgrade_list = []):
|
||||
#安装升级包 首先必须调用ACTION_CHECK_RESOLVER 计算依赖解决方便 标记cache 进行升级
|
||||
if self.action == self.ACTION_INSTALL:
|
||||
self.now_upgrade.upgrade_mode = _upgrade_mode
|
||||
|
||||
if _upgrade_mode != MODE_UPGRADE_SINGLE:
|
||||
self._make_upgrade_list(_upgrade_mode,partial_upgrade_list)
|
||||
#检查磁盘的状态
|
||||
_success,desc = check_free_space(self.cache)
|
||||
if _success == False and desc != None:
|
||||
header = _("Can not upgrade")
|
||||
self._action_done(self.action,True,False,header,desc)
|
||||
return
|
||||
logging.info("Disk Check finished...")
|
||||
|
||||
pkgs_install,pkgs_upgrade,pkgs_remove = self._get_mark_from_cache(self.cache)
|
||||
|
||||
logging.info("INSTALL install:%d , upgrade:%d remove:%d",len(pkgs_install),len(pkgs_upgrade),len(pkgs_remove))
|
||||
|
||||
if len(pkgs_install) == 0 and len(pkgs_upgrade) == 0 and len(pkgs_remove) == 0:
|
||||
#FIXME: 没有需要升级和安装的包 检查升级包是否不存在本次升级
|
||||
header = _("There are no packages that need to be upgraded and installed")
|
||||
desc = _("Check if the upgrade package does not exist for this upgrade")
|
||||
self._action_done(self.action,True,False,header,desc)
|
||||
return
|
||||
try:
|
||||
self.window_main.is_upgrading = True
|
||||
self.commit(pkgs_install, pkgs_upgrade, pkgs_remove)
|
||||
except Exception as e:
|
||||
logging.error(e)
|
||||
#计算依赖解决方案
|
||||
elif self.action == self.ACTION_CHECK_RESOLVER:
|
||||
_success = True
|
||||
header = ''
|
||||
desc = ''
|
||||
if _upgrade_mode != MODE_UPGRADE_SYSTEM:
|
||||
#获取要升级的列表
|
||||
pkgs_install,pkgs_upgrade = self._make_upgrade_list(_upgrade_mode,partial_upgrade_list)
|
||||
#计算解决依赖关系
|
||||
_success,delete_pkgs,delete_desc,header,desc = self._make_problem_resolver(pkgs_install,pkgs_upgrade)
|
||||
pkgs_install,pkgs_upgrade,pkgs_remove = self._get_mark_from_cache(self.cache)
|
||||
pkgs_remove = delete_pkgs
|
||||
else:
|
||||
# 使用全盘升级 全盘使用dist-upgrade
|
||||
try:
|
||||
if self.cache.get_changes():
|
||||
self.cache.clear()
|
||||
_success = self.cache._depcache.upgrade(True)
|
||||
pkgs_install,pkgs_upgrade,pkgs_remove = self._get_mark_from_cache(self.cache)
|
||||
except Exception as e:
|
||||
_success = False
|
||||
desc = str(e)
|
||||
logging.error(desc)
|
||||
|
||||
logging.info("RESOLVER install:%d , upgrade:%d remove:%d",len(pkgs_install),len(pkgs_upgrade),len(pkgs_remove))
|
||||
is_remove_pkgs = len(pkgs_remove) != 0
|
||||
|
||||
#属于检测查询依赖解决是否成功 是否存在删包
|
||||
raw_description = []
|
||||
#添加关于删除包的描述信息
|
||||
for pkg in pkgs_remove:
|
||||
pkg_obj = self.cache[pkg]
|
||||
app = self.window_main.update_list._get_application_for_package(pkg_obj)
|
||||
if app is not None:
|
||||
raw_description.append(app.get_display_name())
|
||||
else:
|
||||
raw_description.append(getattr(pkg_obj.candidate, "summary", ''))
|
||||
if _upgrade_mode != MODE_UPGRADE_SYSTEM:
|
||||
self.window_main.dbusController.UpdateDependResloveStatus(_success,is_remove_pkgs,pkgs_remove,raw_description,delete_desc,header,desc)
|
||||
else:
|
||||
self.window_main.dbusController.DistupgradeDependResloveStatus(_success,is_remove_pkgs,pkgs_remove,raw_description,header,desc)
|
||||
elif self.action == self.ACTION_DOWNLOADONLY:
|
||||
try:
|
||||
self.window_main.is_upgrading = True
|
||||
self.download_deb(partial_upgrade_list)
|
||||
except Exception as e:
|
||||
logging.error(str(e))
|
||||
elif self.action == self.ACTION_UPDATE:
|
||||
self.is_updating = True
|
||||
self.update()
|
||||
|
||||
def update(self):
|
||||
"""Run a update to refresh the package list"""
|
||||
raise NotImplementedError
|
||||
|
||||
def commit(self, pkgs_install, pkgs_upgrade, pkgs_remove,pkgs_purge = []):
|
||||
"""Commit the cache changes """
|
||||
raise NotImplementedError
|
||||
|
||||
def install_deb(self,install_path,install_force):
|
||||
"""install_deb the cache changes """
|
||||
raise NotImplementedError
|
||||
|
||||
#从cache中拿到标记的列表
|
||||
def _get_mark_from_cache(self,cache):
|
||||
pkgs_install = []
|
||||
pkgs_upgrade = []
|
||||
pkgs_remove = []
|
||||
adjust_pkgs = [i.split("=")[0] for i in self.local_upgrade_data.adjust_pkgs]
|
||||
for pkg in cache:
|
||||
try:
|
||||
if pkg.marked_install:
|
||||
pkgname = pkg.name
|
||||
if pkg.is_auto_installed:
|
||||
pkgname += "#auto"
|
||||
if pkg.name in adjust_pkgs:
|
||||
pkgs_install.append(self.local_upgrade_data.adjust_pkgs[adjust_pkgs.index(pkg.name)])
|
||||
else:
|
||||
pkgs_install.append(pkgname)
|
||||
elif pkg.marked_upgrade:
|
||||
if pkg.name in adjust_pkgs:
|
||||
pkgs_upgrade.append(self.local_upgrade_data.adjust_pkgs[adjust_pkgs.index(pkg.name)])
|
||||
else:
|
||||
pkgs_upgrade.append(pkg.name)
|
||||
elif pkg.marked_delete:
|
||||
pkgs_remove.append(pkg.name)
|
||||
except KeyError:
|
||||
pass
|
||||
return pkgs_install,pkgs_upgrade,pkgs_remove
|
||||
|
||||
#从本地中获取本次升级需要升级的包 部分升级和全部升级使用 全盘升级不适用
|
||||
def _make_upgrade_list(self,_upgrade_mode,partial_upgrade_list):
|
||||
pkgs_install = []
|
||||
pkgs_upgrade = []
|
||||
|
||||
local_groups_list = []
|
||||
local_pkg_list = []
|
||||
|
||||
try:
|
||||
#可选升级
|
||||
if _upgrade_mode == MODE_UPGRADE_PARTIAL:
|
||||
for i in partial_upgrade_list:
|
||||
#组升级方式
|
||||
if i in self.local_upgrade_data.upgrade_groups:
|
||||
local_groups_list.append(i)
|
||||
#单包升级方式
|
||||
elif i in self.local_upgrade_data.single_pkgs:
|
||||
local_pkg_list.append(i)
|
||||
else:
|
||||
logging.warning("this package(%s) not in selected list",i)
|
||||
|
||||
#全部升级列表
|
||||
elif _upgrade_mode == MODE_UPGRADE_ALL:
|
||||
local_groups_list = self.local_upgrade_data.upgrade_groups
|
||||
local_pkg_list = self.local_upgrade_data.single_pkgs
|
||||
|
||||
#单包的升级方式
|
||||
if local_pkg_list:
|
||||
self.now_upgrade.single_pkgs += local_pkg_list
|
||||
for pkg in local_pkg_list:
|
||||
if self.cache[pkg].is_installed:
|
||||
pkgs_upgrade.append(pkg)
|
||||
else:
|
||||
pkgs_install.append(pkg)
|
||||
|
||||
#遍历升级组列表
|
||||
if local_groups_list:
|
||||
self.now_upgrade.upgrade_groups += local_groups_list
|
||||
for group_name in local_groups_list:
|
||||
pkgs_install += self.local_upgrade_data.upgrade_groups_pkgs.get(group_name,[]).get('pkgs_install',[])
|
||||
pkgs_upgrade += self.local_upgrade_data.upgrade_groups_pkgs.get(group_name,[]).get('pkgs_upgrade',[])
|
||||
|
||||
return pkgs_install,pkgs_upgrade
|
||||
except Exception as e:
|
||||
logging.error(str(e))
|
||||
return [],[]
|
||||
|
||||
#计算升级或者安装这个包 是否存在需要卸载某个包
|
||||
def _make_delete_pkgs(self,cache,all_delete_pkgs):
|
||||
wouldDelete = cache._depcache.del_count
|
||||
deleted_pkgs = []
|
||||
if wouldDelete > len(all_delete_pkgs):
|
||||
for pkg_obj in cache:
|
||||
if pkg_obj.marked_delete:
|
||||
if pkg_obj.name in all_delete_pkgs:
|
||||
continue
|
||||
else:
|
||||
deleted_pkgs.append(pkg_obj.name)
|
||||
if deleted_pkgs:
|
||||
all_delete_pkgs += deleted_pkgs
|
||||
return deleted_pkgs
|
||||
|
||||
#将获取本次升级的包 进行计算依赖关系 解决依赖问题
|
||||
def _make_problem_resolver(self,pkgs_install,pkgs_upgrade):
|
||||
_success = True
|
||||
header = ''
|
||||
desc = ''
|
||||
try:
|
||||
logging.info("ProblemResolver install:%d , upgrade:%d",len(pkgs_install),len(pkgs_upgrade))
|
||||
logging.info("Start calculating dependencies...")
|
||||
|
||||
#actiongroup 可以加速计算依赖关系 计算花费的时间将大幅度缩减
|
||||
with self.cache.actiongroup():
|
||||
if self.cache.get_changes():
|
||||
self.cache.clear()
|
||||
Fix = apt_pkg.ProblemResolver(self.cache._depcache)
|
||||
|
||||
all_delete_pkgs = []
|
||||
all_delete_desc = []
|
||||
#标记计算所有需要升级的包
|
||||
for pkg in pkgs_upgrade:
|
||||
self.cache[pkg].mark_upgrade()
|
||||
deleted_pkgs = self._make_delete_pkgs(self.cache,all_delete_pkgs)
|
||||
for d_pkg in deleted_pkgs:
|
||||
delete_desc = str(d_pkg) + _(" Will be deleted Due to Upgrade ") + str(pkg)
|
||||
all_delete_desc.append(delete_desc)
|
||||
logging.warning(delete_desc)
|
||||
|
||||
#标记计算所有需要安装的
|
||||
for pkg in pkgs_install:
|
||||
self.cache[pkg].mark_install()
|
||||
deleted_pkgs = self._make_delete_pkgs(self.cache,all_delete_pkgs)
|
||||
for d_pkg in deleted_pkgs:
|
||||
delete_desc = str(d_pkg) + _(" Will be deleted Due to Install ") + str(pkg)
|
||||
all_delete_desc.append(delete_desc)
|
||||
logging.warning(delete_desc)
|
||||
#会安装新包和卸载包
|
||||
Fix.resolve(True)
|
||||
#不会安装和卸载 只升级
|
||||
return _success,all_delete_pkgs,all_delete_desc,header,desc
|
||||
except Exception as e:
|
||||
_success = False
|
||||
header = _("Could not calculate the upgrade")
|
||||
desc = _("An unresolvable problem occurred while "
|
||||
"calculating the upgrade.\n\n"
|
||||
"Please report this bug against the 'kylin-system-updater' "
|
||||
"package and include the following error "
|
||||
"message:\n") + str(e)
|
||||
logging.error(header + desc)
|
||||
return _success,[],[],header,desc
|
||||
|
||||
#出现错误和更新升级完成都会调到此方法 进行处理
|
||||
def _action_done(self, action, authorized, success, error_string,error_desc):
|
||||
#升级完成后走的分支
|
||||
if action == self.ACTION_INSTALL:
|
||||
upgrade_content = self.now_upgrade.upgrade_groups + self.now_upgrade.single_pkgs
|
||||
self.window_main.is_upgrading = False
|
||||
unLockedEnableShutdown()
|
||||
#完成后清空cache
|
||||
if self.cache.get_changes():
|
||||
self.cache.clear()
|
||||
if success:
|
||||
#当组列表为空时 表示现在的单独进行安装某些包或卸载,不发信号到控制面板
|
||||
if self.now_upgrade.upgrade_mode != MODE_UPGRADE_SINGLE:
|
||||
#升级完成后从升级列表删除
|
||||
for groups in self.now_upgrade.upgrade_groups:
|
||||
self.local_upgrade_data.upgrade_groups.remove(groups)
|
||||
|
||||
for pkg in self.now_upgrade.single_pkgs:
|
||||
self.local_upgrade_data.single_pkgs.remove(pkg)
|
||||
else:
|
||||
self.window_main.start_available()
|
||||
return
|
||||
if error_string == None:
|
||||
error_string = ''
|
||||
if error_desc == None:
|
||||
error_desc = ''
|
||||
|
||||
# 信息插入数据库 and 发送信号
|
||||
if error_string != '' or error_desc != '':
|
||||
logging.info(error_string + error_desc)
|
||||
|
||||
self.window_main.sqlite3_server.insert_info(self.now_upgrade.upgrade_mode,self.now_upgrade.single_pkgs,self.now_upgrade.upgrade_groups,success,error_string,error_desc)
|
||||
self.window_main.dbusController.UpdateInstallFinished(success,upgrade_content,error_string,error_desc)
|
||||
elif action == self.ACTION_UPDATE:
|
||||
self.window_main.is_updating = False
|
||||
if success:
|
||||
#开始生成列表
|
||||
self.window_main.start_available()
|
||||
elif error_string or error_desc:
|
||||
logging.warning(error_string + error_desc)
|
||||
self.window_main.dbusController.UpdateDetectFinished(success,[],error_string,error_desc)
|
||||
else:
|
||||
self.window_main.dbusController.UpdateDetectFinished(success,[],'','')
|
||||
elif action == self.ACTION_DOWNLOADONLY:
|
||||
self.window_main.is_upgrading = False
|
||||
if success:
|
||||
#开始生成列表
|
||||
self.window_main.start_available()
|
||||
elif error_string or error_desc:
|
||||
logging.warning(error_string + error_desc)
|
||||
self.window_main.dbusController.UpdateDetectFinished(success,[],error_string,error_desc)
|
||||
else:
|
||||
self.window_main.dbusController.UpdateDetectFinished(success,[],'','')
|
||||
elif action == self.ACTION_INSTALL_DEB:
|
||||
pass
|
||||
unLockedEnableShutdown()
|
||||
|
||||
# try aptdaemon
|
||||
if os.path.exists("/usr/sbin/aptd") \
|
||||
and "UPDATE_MANAGER_FORCE_BACKEND_SYNAPTIC" not in os.environ:
|
||||
# check if the gtkwidgets are installed as well
|
||||
try:
|
||||
from .InstallBackendAptdaemon import InstallBackendAptdaemon
|
||||
except ImportError:
|
||||
logging.exception("importing aptdaemon")
|
||||
|
||||
|
||||
def get_backend(*args, **kwargs):
|
||||
"""Select and return a package manager backend."""
|
||||
# try aptdaemon
|
||||
if (os.path.exists("/usr/sbin/aptd")
|
||||
and "UPDATE_MANAGER_FORCE_BACKEND_SYNAPTIC" not in os.environ):
|
||||
# check if the gtkwidgets are installed as well
|
||||
try:
|
||||
return InstallBackendAptdaemon(*args, **kwargs)
|
||||
except NameError:
|
||||
logging.exception("using aptdaemon failed")
|
||||
|
||||
# nothing found, raise
|
||||
raise Exception("No working backend found, please try installing "
|
||||
"aptdaemon or synaptic")
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-10-28 20:02+0800\n"
|
||||
"POT-Creation-Date: 2021-10-29 10:23+0800\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
linux-generic
|
||||
kylin-update-desktop-kernel
|
||||
kylin-update-desktop-kernel-3a4000
|
||||
kylin-update-desktop-ukui
|
||||
kylin-update-desktop-support
|
||||
linux-meta
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
//reference 50uu
|
||||
Kylin-system-updater::Allowed-Origins {
|
||||
//"Ubuntu:trusty";
|
||||
"Kylin:10.1";
|
||||
":default";
|
||||
};
|
||||
|
||||
Kylin-system-updater::Package-Blacklist {
|
||||
};
|
||||
|
||||
Kylin-system-updater::Package-Whitelist {
|
||||
};
|
||||
|
||||
Kylin-system-updater::Package-Whitelist-Strict {
|
||||
};
|
||||
|
||||
Kylin-system-updater::DevRelease "auto";
|
||||
|
||||
Kylin-system-updater::LogDir "/var/log/kylin-system-updater/";
|
||||
|
||||
Kylin-system-updater::InputConfigDir "/usr/share/kylin-update-desktop-config/data";
|
||||
|
||||
Kylin-system-updater::OutputConfigDir "/var/lib/kylin-system-updater";
|
||||
|
||||
Kylin-system-updater::ImportantListDir "/var/lib/kylin-software-properties/template/important.list";
|
|
@ -1,9 +0,0 @@
|
|||
|
||||
DOMAIN=kylin-system-updater
|
||||
DESKTOP_IN_FILES := $(wildcard *.desktop.in)
|
||||
DESKTOP_FILES := $(patsubst %.desktop.in,%.desktop,$(wildcard *.desktop.in))
|
||||
|
||||
all: $(DESKTOP_FILES)
|
||||
|
||||
%.desktop: %.desktop.in ../po/$(DOMAIN).pot
|
||||
intltool-merge -d ../po $< $@
|
|
@ -1,23 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?> <!-- -*- XML -*- -->
|
||||
|
||||
<!DOCTYPE busconfig PUBLIC
|
||||
"-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
|
||||
"http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
|
||||
<busconfig>
|
||||
<!-- Only root can own the service -->
|
||||
<policy user="root">
|
||||
<allow own="com.kylin.systemupgrade"/>
|
||||
<allow send_interface="com.kylin.systemupgrade.interface"/>
|
||||
</policy>
|
||||
|
||||
<!-- Allow anyone to invoke methods on the interfaces -->
|
||||
<policy context="default">
|
||||
<allow send_destination="com.kylin.systemupgrade"
|
||||
send_interface="com.kylin.systemupgrade.interface"/>
|
||||
<allow send_destination="com.kylin.systemupgrade"
|
||||
send_interface="org.freedesktop.DBus.Introspectable"/>
|
||||
<allow send_destination="com.kylin.systemupgrade"
|
||||
send_interface="org.freedesktop.DBus.Properties"/>
|
||||
|
||||
</policy>
|
||||
</busconfig>
|
|
@ -1,58 +0,0 @@
|
|||
.\" Title : kylin-system-updater
|
||||
.\" Author : Kylin Development Team
|
||||
.\" September 22, 2021
|
||||
.\"
|
||||
.\" First parameter, NAME, should be all caps
|
||||
.\" other parameters are allowed: see man(7), man(1)
|
||||
.TH KYLIN_SYSTEM_UPDATER 8 "September 22, 2021"
|
||||
.\" Please adjust this date whenever revising the manpage.
|
||||
.\"
|
||||
.\" for manpage-specific macros, see man(7)
|
||||
.SH NAME
|
||||
kylin-system-updater \- DBUS daemon of software packages updates
|
||||
.SH SYNOPSIS
|
||||
\fBkylin-system-updater\fP [options]
|
||||
.br
|
||||
.SH DESCRIPTION
|
||||
kylin-system-updater is a daemon for the apt package management system.
|
||||
.PP
|
||||
kylin-system-updater is especially designed for upgrading your system.
|
||||
|
||||
.SH OPTIONS
|
||||
For a daily use, you may launch update-manager with no options so that your system is just upgraded.
|
||||
.PP
|
||||
For migration purposes, update-manager accepts some options:
|
||||
|
||||
.TP
|
||||
\fB-h\fR, \fB\-\-help\fR
|
||||
Show a similar help message
|
||||
.TP
|
||||
\fB-V\fR, \fB\-\-version\fR
|
||||
Show version
|
||||
|
||||
|
||||
.SH ACTIONS PERFORMED DURING AN UPGRADE TO A NEW VERSION
|
||||
* eventually reinstall the package ubuntu-desktop
|
||||
|
||||
* switch to an updated sources.list entries
|
||||
|
||||
* adds the default user to new groups if needed
|
||||
|
||||
|
||||
.SH SEE ALSO
|
||||
\fBSynaptic\fR, \fBsources.list\fR, \fBaptitude\fR
|
||||
|
||||
.SH AUTHORS
|
||||
update-manager was developed by Michael Vogt <mvo@ubuntu.com>
|
||||
with various contributors (see AUTHORS file)
|
||||
.PP
|
||||
This manual page was originally written by Bruno Mangin and
|
||||
Michael Vogt <mvo@ubuntu.com>.
|
||||
|
||||
.SH COPYRIGHT
|
||||
Copyright (C) 2006-2007 Canonical
|
||||
.PP
|
||||
There is NO warranty.
|
||||
You may redistribute this software under the terms of the GNU
|
||||
General Public License. For more information about these matters, see
|
||||
the files named COPYING.
|
Binary file not shown.
|
@ -1,13 +0,0 @@
|
|||
[Unit]
|
||||
Description=kylin-system-updater dbus daemon
|
||||
StartLimitIntervalSec=0
|
||||
|
||||
[Service]
|
||||
Type=dbus
|
||||
Restart=always
|
||||
RestartSec=3
|
||||
BusName=com.kylin.systemupgrade
|
||||
ExecStart=/usr/bin/kylin-system-updater
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
|
@ -1,12 +0,0 @@
|
|||
./debian/kylin-system-updater/usr/bin/kylin-system-updater
|
||||
./debian/kylin-system-updater/usr/lib/python3.8/dist-packages/SystemUpdater/UpdateManager.py
|
||||
./debian/kylin-system-updater/usr/lib/python3.8/dist-packages/SystemUpdater/UpdateManagerDbus.py
|
||||
./data/com.kylin.systemupgrade.conf
|
||||
./debian/kylin-system-updater/usr/share/locale
|
||||
./debian/kylin-system-updater/usr/lib/python3.8/dist-packages/SystemUpdater/Core
|
||||
./debian/kylin-system-updater/usr/lib/python3.8/dist-packages/SystemUpdater/UpdateManagerVersion.py
|
||||
./debian/kylin-system-updater/usr/lib/python3.8/dist-packages/SystemUpdater/__init__.py
|
||||
./debian/kylin-system-updater/usr/lib/python3.8/dist-packages/SystemUpdater/backend
|
||||
./data/kylin-system-updater.service
|
||||
./data/30kylin-system-updater
|
||||
./data/kylin-system-updater.db
|
|
@ -1,4 +0,0 @@
|
|||
./README.MD
|
||||
./interface.md
|
||||
./TODO
|
||||
./AUTHORS
|
|
@ -1,3 +1,12 @@
|
|||
kylin-system-updater (1.2.0.3kord) v101; urgency=medium
|
||||
|
||||
* BUG: 无
|
||||
* 需求号: 无
|
||||
* 其他改动说明: 完善升级功能,源过滤优化,合并系统升级控制面板插件
|
||||
* 影响域: 系统升级
|
||||
|
||||
-- luoxueyi <luoxueyi@kylinos.cn> Thu, 28 Oct 2021 21:43:39 +0800
|
||||
|
||||
kylin-system-updater (1.1.9kord) v101; urgency=medium
|
||||
|
||||
* BUG: 无
|
||||
|
|
|
@ -11,7 +11,50 @@ Build-Depends: debhelper (>= 9),
|
|||
python3-gi (>= 3.8),
|
||||
python3-yaml,
|
||||
lsb-release,
|
||||
apt-clone (>= 0.2.3~ubuntu1)
|
||||
apt-clone (>= 0.2.3~ubuntu1),
|
||||
libqt5svg5-dev,
|
||||
libgsettings-qt-dev,
|
||||
libglib2.0-dev,
|
||||
libmatekbd-dev,
|
||||
libqt5x11extras5-dev,
|
||||
libxklavier-dev,
|
||||
libkf5widgetsaddons-dev,
|
||||
libkf5config-dev,
|
||||
libkf5configwidgets-dev,
|
||||
libkf5screen-dev,
|
||||
libkf5screen-bin,
|
||||
libkf5i18n-dev,
|
||||
libkf5windowsystem-dev,
|
||||
libkf5guiaddons-dev,
|
||||
libkf5coreaddons-dev,
|
||||
libkf5xmlgui-dev,
|
||||
libkf5globalaccel-dev,
|
||||
qtdeclarative5-dev,
|
||||
libopencv-dev,
|
||||
libdconf-dev,
|
||||
libmatemixer-dev,
|
||||
qtmultimedia5-dev,
|
||||
libxml2-dev,
|
||||
qtbase5-dev,
|
||||
libcanberra-dev,
|
||||
libx11-dev,
|
||||
libxkbfile-dev,
|
||||
libboost-dev,
|
||||
qttools5-dev-tools,
|
||||
libxcb-xkb-dev,
|
||||
libpolkit-qt5-1-dev,
|
||||
libpulse-dev,
|
||||
libkf5bluezqt-dev,
|
||||
libkysec-dev,
|
||||
libpwquality-dev,
|
||||
libudev-dev,
|
||||
xserver-xorg-dev,
|
||||
libupower-glib-dev,
|
||||
libpam0g-dev,
|
||||
yhkylin-backup-tools-dev(>=4.0.13-kylin19)[!sw64],
|
||||
libukui-log4qt-dev[!sw64],
|
||||
libmate-desktop-dev,
|
||||
ukui-control-center(>=3.1.1+2021-1026separate9),
|
||||
Build-Depends-Indep: libxml-parser-perl,
|
||||
intltool
|
||||
Standards-Version: 3.8.0
|
||||
|
@ -20,7 +63,7 @@ Vcs-Browser: https://www.kylinos.cn
|
|||
X-Python3-Version: >= 3.2
|
||||
|
||||
Package: kylin-system-updater
|
||||
Architecture: all
|
||||
Architecture: any
|
||||
Depends: ${python3:Depends},
|
||||
${misc:Depends},
|
||||
policykit-1,
|
||||
|
|
|
@ -1,21 +0,0 @@
|
|||
dh_update_autotools_config
|
||||
dh_auto_configure
|
||||
dh_auto_build
|
||||
dh_auto_test
|
||||
dh_prep
|
||||
dh_auto_install
|
||||
dh_install
|
||||
dh_installdocs
|
||||
dh_installchangelogs
|
||||
dh_installman
|
||||
dh_installinit
|
||||
dh_perl
|
||||
dh_link
|
||||
dh_strip_nondeterminism
|
||||
dh_compress
|
||||
dh_fixperms
|
||||
dh_missing
|
||||
dh_installdeb
|
||||
dh_gencontrol
|
||||
dh_md5sums
|
||||
dh_builddeb
|
|
@ -1,12 +1,14 @@
|
|||
debian/kylin-system-updater/usr/bin/kylin-system-updater
|
||||
debian/kylin-system-updater/usr/lib/python3*/dist-packages/SystemUpdater/UpdateManager.py
|
||||
debian/kylin-system-updater/usr/lib/python3*/dist-packages/SystemUpdater/UpdateManagerDbus.py
|
||||
data/com.kylin.systemupgrade.conf /etc/dbus-1/system.d/
|
||||
debian/kylin-system-updater/usr/share/locale
|
||||
debian/kylin-system-updater/usr/lib/python3*/dist-packages/SystemUpdater/Core
|
||||
debian/kylin-system-updater/usr/lib/python3*/dist-packages/SystemUpdater/UpdateManagerVersion.py
|
||||
debian/kylin-system-updater/usr/lib/python3*/dist-packages/SystemUpdater/__init__.py
|
||||
debian/kylin-system-updater/usr/lib/python3*/dist-packages/SystemUpdater/backend
|
||||
data/kylin-system-updater.service /usr/lib/systemd/system/
|
||||
data/30kylin-system-updater /etc/apt/apt.conf.d/
|
||||
data/kylin-system-updater.db /usr/share/kylin-system-updater/
|
||||
backend/data/kylin-system-updater.db /usr/share/kylin-system-updater/
|
||||
backend/data/30kylin-system-updater /etc/apt/apt.conf.d/
|
||||
backend/data/kylin-system-updater.service /usr/lib/systemd/system/
|
||||
backend/data/com.kylin.systemupgrade.conf /etc/dbus-1/system.d/
|
||||
backend/build/scripts-3.8/kylin-system-updater /usr/bin/
|
||||
backend/build/lib/SystemUpdater/Core/*
|
||||
backend/build/mo/* /usr/share/locale
|
||||
backend/build/lib/SystemUpdater/UpdateManager.py /usr/lib/python3.8/dist-packages/SystemUpdater/
|
||||
backend/build/lib/SystemUpdater/UpdateManagerDbus.py /usr/lib/python3.8/dist-packages/SystemUpdater/
|
||||
backend/build/lib/SystemUpdater/UpdateManager.py /usr/lib/python3.8/dist-packages/SystemUpdater/
|
||||
backend/build/lib/SystemUpdater/backend /usr/lib/python3.8/dist-packages/SystemUpdater/
|
||||
backend/build/lib/SystemUpdater/UpdateManagerVersion.py /usr/lib/python3.8/dist-packages/SystemUpdater/
|
||||
backend/build/lib/SystemUpdater/__init__.py /usr/lib/python3.8/dist-packages/SystemUpdater/
|
||||
backend/build/lib/SystemUpdater/Core /usr/lib/python3.8/dist-packages/SystemUpdater/
|
||||
|
|
|
@ -1,10 +0,0 @@
|
|||
|
||||
# Automatically added by dh_python3:
|
||||
if which py3compile >/dev/null 2>&1; then
|
||||
py3compile -p kylin-system-updater -V 3.2-
|
||||
fi
|
||||
if which pypy3compile >/dev/null 2>&1; then
|
||||
pypy3compile -p kylin-system-updater -V 3.2- || true
|
||||
fi
|
||||
|
||||
# End automatically added section
|
|
@ -1,10 +0,0 @@
|
|||
|
||||
# Automatically added by dh_python3:
|
||||
if which py3clean >/dev/null 2>&1; then
|
||||
py3clean -p kylin-system-updater
|
||||
else
|
||||
dpkg -L kylin-system-updater | perl -ne 's,/([^/]*)\.py$,/__pycache__/\1.*, or next; unlink $_ or die $! foreach glob($_)'
|
||||
find /usr/lib/python3/dist-packages/ -type d -name __pycache__ -empty -print0 | xargs --null --no-run-if-empty rmdir
|
||||
fi
|
||||
|
||||
# End automatically added section
|
|
@ -1,3 +0,0 @@
|
|||
python3:Depends=python3:any, python3:any (>= 3.2~)
|
||||
misc:Depends=
|
||||
misc:Pre-Depends=
|
|
@ -1,6 +1,7 @@
|
|||
#!/usr/bin/make -f
|
||||
|
||||
export PYBUILD_INTERPRETERS=python3
|
||||
#export PYBUILD_INTERPRETERS=python3
|
||||
|
||||
%:
|
||||
dh $@ --with=python3 --buildsystem=pybuild
|
||||
dh $@
|
||||
#--with=python3 --buildsystem=pybuild
|
||||
|
|
BIN
image/close.png
BIN
image/close.png
Binary file not shown.
Before Width: | Height: | Size: 399 B |
Binary file not shown.
Before Width: | Height: | Size: 20 KiB |
BIN
image/search.png
BIN
image/search.png
Binary file not shown.
Before Width: | Height: | Size: 310 B |
|
@ -1,71 +0,0 @@
|
|||
#!/usr/bin/python3
|
||||
|
||||
from SystemUpdater.UpdateManager import UpdateManager
|
||||
from gettext import gettext as _
|
||||
import logging
|
||||
from optparse import OptionParser
|
||||
import dbus
|
||||
dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
|
||||
import signal
|
||||
import os
|
||||
import sys
|
||||
import gettext
|
||||
|
||||
from SystemUpdater.Core.LogManager import get_logfile as logfile
|
||||
|
||||
gettext.bindtextdomain('kylin-system-updater', '/usr/share/locale')
|
||||
gettext.textdomain('kylin-system-updater')
|
||||
_ = gettext.gettext
|
||||
|
||||
#定义日志的格式
|
||||
FORMAT = '%(asctime)-15s %(levelname)s:%(message)s'
|
||||
|
||||
FORMAT_DEBUG = '%(asctime)-15s %(levelname)s(%(filename)s:%(lineno)d):%(message)s'
|
||||
|
||||
def signal_handler_term(signal, frame):
|
||||
# type: (int, object) -> None
|
||||
logging.warning("SIGTERM received, will stop")
|
||||
app.dbusController.Quit(None)
|
||||
|
||||
if __name__ == "__main__":
|
||||
# Begin parsing of options
|
||||
parser = OptionParser()
|
||||
parser.add_option ("-d", "--debug", action="store_true", default=False,
|
||||
help=_("Show debug messages"))
|
||||
parser.add_option("-r", "--replace",
|
||||
default=False,
|
||||
action="store_true", dest="replace",
|
||||
help=_("Quit and replace an already running "
|
||||
"daemon"))
|
||||
parser.add_option ("--no-update-source", action="store_true",
|
||||
dest="no_update_source", default=False,
|
||||
help=_("Do not check for updates source when updating"))
|
||||
|
||||
(options, args) = parser.parse_args()
|
||||
|
||||
if os.getuid() != 0:
|
||||
print(_("You need to be root to run this application"))
|
||||
|
||||
sys.exit(1)
|
||||
|
||||
# set debconf to NON_INTERACTIVE
|
||||
os.environ["DEBIAN_FRONTEND"] = "noninteractive"
|
||||
os.environ["TERM"] = "xterm"
|
||||
os.environ["PATH"] = "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
|
||||
|
||||
# ensure that we are not killed when the terminal goes away e.g. on
|
||||
# shutdown
|
||||
signal.signal(signal.SIGHUP, signal.SIG_IGN)
|
||||
signal.signal(signal.SIGINT,signal_handler_term)
|
||||
|
||||
if options.debug:
|
||||
logging.basicConfig(format=FORMAT,level=logging.DEBUG)
|
||||
else:
|
||||
logging.basicConfig(format=FORMAT,level=logging.DEBUG,filename = logfile(),filemode = 'a')
|
||||
|
||||
logging.info('kylin-system-updater starting ...')
|
||||
|
||||
app = UpdateManager(options)
|
||||
app.start_update()
|
||||
|
||||
app.run()
|
111
mkinstalldirs
111
mkinstalldirs
|
@ -1,111 +0,0 @@
|
|||
#! /bin/sh
|
||||
# mkinstalldirs --- make directory hierarchy
|
||||
# Author: Noah Friedman <friedman@prep.ai.mit.edu>
|
||||
# Created: 1993-05-16
|
||||
# Public domain
|
||||
|
||||
errstatus=0
|
||||
dirmode=""
|
||||
|
||||
usage="\
|
||||
Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..."
|
||||
|
||||
# process command line arguments
|
||||
while test $# -gt 0 ; do
|
||||
case $1 in
|
||||
-h | --help | --h*) # -h for help
|
||||
echo "$usage" 1>&2
|
||||
exit 0
|
||||
;;
|
||||
-m) # -m PERM arg
|
||||
shift
|
||||
test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
|
||||
dirmode=$1
|
||||
shift
|
||||
;;
|
||||
--) # stop option processing
|
||||
shift
|
||||
break
|
||||
;;
|
||||
-*) # unknown option
|
||||
echo "$usage" 1>&2
|
||||
exit 1
|
||||
;;
|
||||
*) # first non-opt arg
|
||||
break
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
for file
|
||||
do
|
||||
if test -d "$file"; then
|
||||
shift
|
||||
else
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
case $# in
|
||||
0) exit 0 ;;
|
||||
esac
|
||||
|
||||
case $dirmode in
|
||||
'')
|
||||
if mkdir -p -- . 2>/dev/null; then
|
||||
echo "mkdir -p -- $*"
|
||||
exec mkdir -p -- "$@"
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
if mkdir -m "$dirmode" -p -- . 2>/dev/null; then
|
||||
echo "mkdir -m $dirmode -p -- $*"
|
||||
exec mkdir -m "$dirmode" -p -- "$@"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
for file
|
||||
do
|
||||
set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
|
||||
shift
|
||||
|
||||
pathcomp=
|
||||
for d
|
||||
do
|
||||
pathcomp="$pathcomp$d"
|
||||
case $pathcomp in
|
||||
-*) pathcomp=./$pathcomp ;;
|
||||
esac
|
||||
|
||||
if test ! -d "$pathcomp"; then
|
||||
echo "mkdir $pathcomp"
|
||||
|
||||
mkdir "$pathcomp" || lasterr=$?
|
||||
|
||||
if test ! -d "$pathcomp"; then
|
||||
errstatus=$lasterr
|
||||
else
|
||||
if test ! -z "$dirmode"; then
|
||||
echo "chmod $dirmode $pathcomp"
|
||||
lasterr=""
|
||||
chmod "$dirmode" "$pathcomp" || lasterr=$?
|
||||
|
||||
if test ! -z "$lasterr"; then
|
||||
errstatus=$lasterr
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
pathcomp="$pathcomp/"
|
||||
done
|
||||
done
|
||||
|
||||
exit $errstatus
|
||||
|
||||
# Local Variables:
|
||||
# mode: shell-script
|
||||
# sh-indentation: 2
|
||||
# End:
|
||||
# mkinstalldirs ends here
|
|
@ -37,7 +37,7 @@ MOVE = mv -f
|
|||
TAR = tar -cf
|
||||
COMPRESS = gzip -9f
|
||||
DISTNAME = upgrade1.0.0
|
||||
DISTDIR = /home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/.tmp/upgrade1.0.0
|
||||
DISTDIR = /home/lxy/tmp/kylin-system-updater/plugin/.tmp/upgrade1.0.0
|
||||
LINK = g++
|
||||
LFLAGS = -Wl,-O1 -Wl,-rpath-link,/usr/lib/x86_64-linux-gnu -shared
|
||||
LIBS = $(SUBLIBS) -lX11 -lukcc -lgsettings-qt /usr/lib/x86_64-linux-gnu/libQt5Widgets.so /usr/lib/x86_64-linux-gnu/libKF5WindowSystem.so /usr/lib/x86_64-linux-gnu/libQt5X11Extras.so /usr/lib/x86_64-linux-gnu/libQt5Gui.so /usr/lib/x86_64-linux-gnu/libQt5Network.so /usr/lib/x86_64-linux-gnu/libQt5DBus.so /usr/lib/x86_64-linux-gnu/libQt5Sql.so /usr/lib/x86_64-linux-gnu/libQt5Core.so /usr/lib/x86_64-linux-gnu/libGL.so -lpthread
|
||||
|
@ -582,12 +582,12 @@ compiler_moc_header_clean:
|
|||
moc_deletepkglistwig.cpp: src/deletepkglistwig.h \
|
||||
moc_predefs.h \
|
||||
/usr/lib/qt5/bin/moc
|
||||
/usr/lib/qt5/bin/moc $(DEFINES) --include /home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/DEFINES -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/+= -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/QT_DEPRECATED_WARNINGS -I/usr/include/x86_64-linux-gnu/qt5/QGSettings -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/KF5/KWindowSystem -I/usr/include/x86_64-linux-gnu/qt5/QtX11Extras -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtDBus -I/usr/include/x86_64-linux-gnu/qt5/QtSql -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/9 -I/usr/include/x86_64-linux-gnu/c++/9 -I/usr/include/c++/9/backward -I/usr/lib/gcc/x86_64-linux-gnu/9/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include src/deletepkglistwig.h -o moc_deletepkglistwig.cpp
|
||||
/usr/lib/qt5/bin/moc $(DEFINES) --include /home/lxy/tmp/kylin-system-updater/plugin/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/lxy/tmp/kylin-system-updater/plugin -I/home/lxy/tmp/kylin-system-updater/plugin/DEFINES -I/home/lxy/tmp/kylin-system-updater/plugin/+= -I/home/lxy/tmp/kylin-system-updater/plugin/QT_DEPRECATED_WARNINGS -I/usr/include/x86_64-linux-gnu/qt5/QGSettings -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/KF5/KWindowSystem -I/usr/include/x86_64-linux-gnu/qt5/QtX11Extras -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtDBus -I/usr/include/x86_64-linux-gnu/qt5/QtSql -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/9 -I/usr/include/x86_64-linux-gnu/c++/9 -I/usr/include/c++/9/backward -I/usr/lib/gcc/x86_64-linux-gnu/9/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include src/deletepkglistwig.h -o moc_deletepkglistwig.cpp
|
||||
|
||||
moc_picturetowhite.cpp: src/picturetowhite.h \
|
||||
moc_predefs.h \
|
||||
/usr/lib/qt5/bin/moc
|
||||
/usr/lib/qt5/bin/moc $(DEFINES) --include /home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/DEFINES -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/+= -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/QT_DEPRECATED_WARNINGS -I/usr/include/x86_64-linux-gnu/qt5/QGSettings -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/KF5/KWindowSystem -I/usr/include/x86_64-linux-gnu/qt5/QtX11Extras -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtDBus -I/usr/include/x86_64-linux-gnu/qt5/QtSql -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/9 -I/usr/include/x86_64-linux-gnu/c++/9 -I/usr/include/c++/9/backward -I/usr/lib/gcc/x86_64-linux-gnu/9/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include src/picturetowhite.h -o moc_picturetowhite.cpp
|
||||
/usr/lib/qt5/bin/moc $(DEFINES) --include /home/lxy/tmp/kylin-system-updater/plugin/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/lxy/tmp/kylin-system-updater/plugin -I/home/lxy/tmp/kylin-system-updater/plugin/DEFINES -I/home/lxy/tmp/kylin-system-updater/plugin/+= -I/home/lxy/tmp/kylin-system-updater/plugin/QT_DEPRECATED_WARNINGS -I/usr/include/x86_64-linux-gnu/qt5/QGSettings -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/KF5/KWindowSystem -I/usr/include/x86_64-linux-gnu/qt5/QtX11Extras -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtDBus -I/usr/include/x86_64-linux-gnu/qt5/QtSql -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/9 -I/usr/include/x86_64-linux-gnu/c++/9 -I/usr/include/c++/9/backward -I/usr/lib/gcc/x86_64-linux-gnu/9/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include src/picturetowhite.h -o moc_picturetowhite.cpp
|
||||
|
||||
moc_updatedeleteprompt.cpp: src/updatedeleteprompt.h \
|
||||
src/deletepkglistwig.h \
|
||||
|
@ -597,12 +597,12 @@ moc_updatedeleteprompt.cpp: src/updatedeleteprompt.h \
|
|||
src/utils.h \
|
||||
moc_predefs.h \
|
||||
/usr/lib/qt5/bin/moc
|
||||
/usr/lib/qt5/bin/moc $(DEFINES) --include /home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/DEFINES -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/+= -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/QT_DEPRECATED_WARNINGS -I/usr/include/x86_64-linux-gnu/qt5/QGSettings -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/KF5/KWindowSystem -I/usr/include/x86_64-linux-gnu/qt5/QtX11Extras -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtDBus -I/usr/include/x86_64-linux-gnu/qt5/QtSql -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/9 -I/usr/include/x86_64-linux-gnu/c++/9 -I/usr/include/c++/9/backward -I/usr/lib/gcc/x86_64-linux-gnu/9/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include src/updatedeleteprompt.h -o moc_updatedeleteprompt.cpp
|
||||
/usr/lib/qt5/bin/moc $(DEFINES) --include /home/lxy/tmp/kylin-system-updater/plugin/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/lxy/tmp/kylin-system-updater/plugin -I/home/lxy/tmp/kylin-system-updater/plugin/DEFINES -I/home/lxy/tmp/kylin-system-updater/plugin/+= -I/home/lxy/tmp/kylin-system-updater/plugin/QT_DEPRECATED_WARNINGS -I/usr/include/x86_64-linux-gnu/qt5/QGSettings -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/KF5/KWindowSystem -I/usr/include/x86_64-linux-gnu/qt5/QtX11Extras -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtDBus -I/usr/include/x86_64-linux-gnu/qt5/QtSql -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/9 -I/usr/include/x86_64-linux-gnu/c++/9 -I/usr/include/c++/9/backward -I/usr/lib/gcc/x86_64-linux-gnu/9/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include src/updatedeleteprompt.h -o moc_updatedeleteprompt.cpp
|
||||
|
||||
moc_xatom-helper.cpp: src/xatom-helper.h \
|
||||
moc_predefs.h \
|
||||
/usr/lib/qt5/bin/moc
|
||||
/usr/lib/qt5/bin/moc $(DEFINES) --include /home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/DEFINES -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/+= -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/QT_DEPRECATED_WARNINGS -I/usr/include/x86_64-linux-gnu/qt5/QGSettings -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/KF5/KWindowSystem -I/usr/include/x86_64-linux-gnu/qt5/QtX11Extras -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtDBus -I/usr/include/x86_64-linux-gnu/qt5/QtSql -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/9 -I/usr/include/x86_64-linux-gnu/c++/9 -I/usr/include/c++/9/backward -I/usr/lib/gcc/x86_64-linux-gnu/9/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include src/xatom-helper.h -o moc_xatom-helper.cpp
|
||||
/usr/lib/qt5/bin/moc $(DEFINES) --include /home/lxy/tmp/kylin-system-updater/plugin/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/lxy/tmp/kylin-system-updater/plugin -I/home/lxy/tmp/kylin-system-updater/plugin/DEFINES -I/home/lxy/tmp/kylin-system-updater/plugin/+= -I/home/lxy/tmp/kylin-system-updater/plugin/QT_DEPRECATED_WARNINGS -I/usr/include/x86_64-linux-gnu/qt5/QGSettings -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/KF5/KWindowSystem -I/usr/include/x86_64-linux-gnu/qt5/QtX11Extras -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtDBus -I/usr/include/x86_64-linux-gnu/qt5/QtSql -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/9 -I/usr/include/x86_64-linux-gnu/c++/9 -I/usr/include/c++/9/backward -I/usr/lib/gcc/x86_64-linux-gnu/9/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include src/xatom-helper.h -o moc_xatom-helper.cpp
|
||||
|
||||
moc_appupdate.cpp: src/appupdate.h \
|
||||
src/utils.h \
|
||||
|
@ -616,27 +616,27 @@ moc_appupdate.cpp: src/appupdate.h \
|
|||
src/mylabel.h \
|
||||
moc_predefs.h \
|
||||
/usr/lib/qt5/bin/moc
|
||||
/usr/lib/qt5/bin/moc $(DEFINES) --include /home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/DEFINES -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/+= -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/QT_DEPRECATED_WARNINGS -I/usr/include/x86_64-linux-gnu/qt5/QGSettings -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/KF5/KWindowSystem -I/usr/include/x86_64-linux-gnu/qt5/QtX11Extras -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtDBus -I/usr/include/x86_64-linux-gnu/qt5/QtSql -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/9 -I/usr/include/x86_64-linux-gnu/c++/9 -I/usr/include/c++/9/backward -I/usr/lib/gcc/x86_64-linux-gnu/9/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include src/appupdate.h -o moc_appupdate.cpp
|
||||
/usr/lib/qt5/bin/moc $(DEFINES) --include /home/lxy/tmp/kylin-system-updater/plugin/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/lxy/tmp/kylin-system-updater/plugin -I/home/lxy/tmp/kylin-system-updater/plugin/DEFINES -I/home/lxy/tmp/kylin-system-updater/plugin/+= -I/home/lxy/tmp/kylin-system-updater/plugin/QT_DEPRECATED_WARNINGS -I/usr/include/x86_64-linux-gnu/qt5/QGSettings -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/KF5/KWindowSystem -I/usr/include/x86_64-linux-gnu/qt5/QtX11Extras -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtDBus -I/usr/include/x86_64-linux-gnu/qt5/QtSql -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/9 -I/usr/include/x86_64-linux-gnu/c++/9 -I/usr/include/c++/9/backward -I/usr/lib/gcc/x86_64-linux-gnu/9/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include src/appupdate.h -o moc_appupdate.cpp
|
||||
|
||||
moc_backup.cpp: src/backup.h \
|
||||
moc_predefs.h \
|
||||
/usr/lib/qt5/bin/moc
|
||||
/usr/lib/qt5/bin/moc $(DEFINES) --include /home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/DEFINES -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/+= -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/QT_DEPRECATED_WARNINGS -I/usr/include/x86_64-linux-gnu/qt5/QGSettings -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/KF5/KWindowSystem -I/usr/include/x86_64-linux-gnu/qt5/QtX11Extras -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtDBus -I/usr/include/x86_64-linux-gnu/qt5/QtSql -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/9 -I/usr/include/x86_64-linux-gnu/c++/9 -I/usr/include/c++/9/backward -I/usr/lib/gcc/x86_64-linux-gnu/9/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include src/backup.h -o moc_backup.cpp
|
||||
/usr/lib/qt5/bin/moc $(DEFINES) --include /home/lxy/tmp/kylin-system-updater/plugin/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/lxy/tmp/kylin-system-updater/plugin -I/home/lxy/tmp/kylin-system-updater/plugin/DEFINES -I/home/lxy/tmp/kylin-system-updater/plugin/+= -I/home/lxy/tmp/kylin-system-updater/plugin/QT_DEPRECATED_WARNINGS -I/usr/include/x86_64-linux-gnu/qt5/QGSettings -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/KF5/KWindowSystem -I/usr/include/x86_64-linux-gnu/qt5/QtX11Extras -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtDBus -I/usr/include/x86_64-linux-gnu/qt5/QtSql -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/9 -I/usr/include/x86_64-linux-gnu/c++/9 -I/usr/include/c++/9/backward -I/usr/lib/gcc/x86_64-linux-gnu/9/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include src/backup.h -o moc_backup.cpp
|
||||
|
||||
moc_checkbutton.cpp: src/checkbutton.h \
|
||||
moc_predefs.h \
|
||||
/usr/lib/qt5/bin/moc
|
||||
/usr/lib/qt5/bin/moc $(DEFINES) --include /home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/DEFINES -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/+= -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/QT_DEPRECATED_WARNINGS -I/usr/include/x86_64-linux-gnu/qt5/QGSettings -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/KF5/KWindowSystem -I/usr/include/x86_64-linux-gnu/qt5/QtX11Extras -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtDBus -I/usr/include/x86_64-linux-gnu/qt5/QtSql -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/9 -I/usr/include/x86_64-linux-gnu/c++/9 -I/usr/include/c++/9/backward -I/usr/lib/gcc/x86_64-linux-gnu/9/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include src/checkbutton.h -o moc_checkbutton.cpp
|
||||
/usr/lib/qt5/bin/moc $(DEFINES) --include /home/lxy/tmp/kylin-system-updater/plugin/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/lxy/tmp/kylin-system-updater/plugin -I/home/lxy/tmp/kylin-system-updater/plugin/DEFINES -I/home/lxy/tmp/kylin-system-updater/plugin/+= -I/home/lxy/tmp/kylin-system-updater/plugin/QT_DEPRECATED_WARNINGS -I/usr/include/x86_64-linux-gnu/qt5/QGSettings -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/KF5/KWindowSystem -I/usr/include/x86_64-linux-gnu/qt5/QtX11Extras -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtDBus -I/usr/include/x86_64-linux-gnu/qt5/QtSql -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/9 -I/usr/include/x86_64-linux-gnu/c++/9 -I/usr/include/c++/9/backward -I/usr/lib/gcc/x86_64-linux-gnu/9/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include src/checkbutton.h -o moc_checkbutton.cpp
|
||||
|
||||
moc_daemonipcdbus.cpp: src/daemonipcdbus.h \
|
||||
moc_predefs.h \
|
||||
/usr/lib/qt5/bin/moc
|
||||
/usr/lib/qt5/bin/moc $(DEFINES) --include /home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/DEFINES -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/+= -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/QT_DEPRECATED_WARNINGS -I/usr/include/x86_64-linux-gnu/qt5/QGSettings -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/KF5/KWindowSystem -I/usr/include/x86_64-linux-gnu/qt5/QtX11Extras -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtDBus -I/usr/include/x86_64-linux-gnu/qt5/QtSql -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/9 -I/usr/include/x86_64-linux-gnu/c++/9 -I/usr/include/c++/9/backward -I/usr/lib/gcc/x86_64-linux-gnu/9/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include src/daemonipcdbus.h -o moc_daemonipcdbus.cpp
|
||||
/usr/lib/qt5/bin/moc $(DEFINES) --include /home/lxy/tmp/kylin-system-updater/plugin/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/lxy/tmp/kylin-system-updater/plugin -I/home/lxy/tmp/kylin-system-updater/plugin/DEFINES -I/home/lxy/tmp/kylin-system-updater/plugin/+= -I/home/lxy/tmp/kylin-system-updater/plugin/QT_DEPRECATED_WARNINGS -I/usr/include/x86_64-linux-gnu/qt5/QGSettings -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/KF5/KWindowSystem -I/usr/include/x86_64-linux-gnu/qt5/QtX11Extras -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtDBus -I/usr/include/x86_64-linux-gnu/qt5/QtSql -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/9 -I/usr/include/x86_64-linux-gnu/c++/9 -I/usr/include/c++/9/backward -I/usr/lib/gcc/x86_64-linux-gnu/9/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include src/daemonipcdbus.h -o moc_daemonipcdbus.cpp
|
||||
|
||||
moc_historyupdatelistwig.cpp: src/historyupdatelistwig.h \
|
||||
moc_predefs.h \
|
||||
/usr/lib/qt5/bin/moc
|
||||
/usr/lib/qt5/bin/moc $(DEFINES) --include /home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/DEFINES -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/+= -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/QT_DEPRECATED_WARNINGS -I/usr/include/x86_64-linux-gnu/qt5/QGSettings -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/KF5/KWindowSystem -I/usr/include/x86_64-linux-gnu/qt5/QtX11Extras -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtDBus -I/usr/include/x86_64-linux-gnu/qt5/QtSql -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/9 -I/usr/include/x86_64-linux-gnu/c++/9 -I/usr/include/c++/9/backward -I/usr/lib/gcc/x86_64-linux-gnu/9/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include src/historyupdatelistwig.h -o moc_historyupdatelistwig.cpp
|
||||
/usr/lib/qt5/bin/moc $(DEFINES) --include /home/lxy/tmp/kylin-system-updater/plugin/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/lxy/tmp/kylin-system-updater/plugin -I/home/lxy/tmp/kylin-system-updater/plugin/DEFINES -I/home/lxy/tmp/kylin-system-updater/plugin/+= -I/home/lxy/tmp/kylin-system-updater/plugin/QT_DEPRECATED_WARNINGS -I/usr/include/x86_64-linux-gnu/qt5/QGSettings -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/KF5/KWindowSystem -I/usr/include/x86_64-linux-gnu/qt5/QtX11Extras -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtDBus -I/usr/include/x86_64-linux-gnu/qt5/QtSql -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/9 -I/usr/include/x86_64-linux-gnu/c++/9 -I/usr/include/c++/9/backward -I/usr/lib/gcc/x86_64-linux-gnu/9/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include src/historyupdatelistwig.h -o moc_historyupdatelistwig.cpp
|
||||
|
||||
moc_m_updatelog.cpp: src/m_updatelog.h \
|
||||
src/historyupdatelistwig.h \
|
||||
|
@ -646,12 +646,12 @@ moc_m_updatelog.cpp: src/m_updatelog.h \
|
|||
src/utils.h \
|
||||
moc_predefs.h \
|
||||
/usr/lib/qt5/bin/moc
|
||||
/usr/lib/qt5/bin/moc $(DEFINES) --include /home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/DEFINES -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/+= -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/QT_DEPRECATED_WARNINGS -I/usr/include/x86_64-linux-gnu/qt5/QGSettings -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/KF5/KWindowSystem -I/usr/include/x86_64-linux-gnu/qt5/QtX11Extras -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtDBus -I/usr/include/x86_64-linux-gnu/qt5/QtSql -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/9 -I/usr/include/x86_64-linux-gnu/c++/9 -I/usr/include/c++/9/backward -I/usr/lib/gcc/x86_64-linux-gnu/9/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include src/m_updatelog.h -o moc_m_updatelog.cpp
|
||||
/usr/lib/qt5/bin/moc $(DEFINES) --include /home/lxy/tmp/kylin-system-updater/plugin/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/lxy/tmp/kylin-system-updater/plugin -I/home/lxy/tmp/kylin-system-updater/plugin/DEFINES -I/home/lxy/tmp/kylin-system-updater/plugin/+= -I/home/lxy/tmp/kylin-system-updater/plugin/QT_DEPRECATED_WARNINGS -I/usr/include/x86_64-linux-gnu/qt5/QGSettings -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/KF5/KWindowSystem -I/usr/include/x86_64-linux-gnu/qt5/QtX11Extras -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtDBus -I/usr/include/x86_64-linux-gnu/qt5/QtSql -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/9 -I/usr/include/x86_64-linux-gnu/c++/9 -I/usr/include/c++/9/backward -I/usr/lib/gcc/x86_64-linux-gnu/9/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include src/m_updatelog.h -o moc_m_updatelog.cpp
|
||||
|
||||
moc_mylabel.cpp: src/mylabel.h \
|
||||
moc_predefs.h \
|
||||
/usr/lib/qt5/bin/moc
|
||||
/usr/lib/qt5/bin/moc $(DEFINES) --include /home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/DEFINES -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/+= -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/QT_DEPRECATED_WARNINGS -I/usr/include/x86_64-linux-gnu/qt5/QGSettings -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/KF5/KWindowSystem -I/usr/include/x86_64-linux-gnu/qt5/QtX11Extras -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtDBus -I/usr/include/x86_64-linux-gnu/qt5/QtSql -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/9 -I/usr/include/x86_64-linux-gnu/c++/9 -I/usr/include/c++/9/backward -I/usr/lib/gcc/x86_64-linux-gnu/9/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include src/mylabel.h -o moc_mylabel.cpp
|
||||
/usr/lib/qt5/bin/moc $(DEFINES) --include /home/lxy/tmp/kylin-system-updater/plugin/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/lxy/tmp/kylin-system-updater/plugin -I/home/lxy/tmp/kylin-system-updater/plugin/DEFINES -I/home/lxy/tmp/kylin-system-updater/plugin/+= -I/home/lxy/tmp/kylin-system-updater/plugin/QT_DEPRECATED_WARNINGS -I/usr/include/x86_64-linux-gnu/qt5/QGSettings -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/KF5/KWindowSystem -I/usr/include/x86_64-linux-gnu/qt5/QtX11Extras -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtDBus -I/usr/include/x86_64-linux-gnu/qt5/QtSql -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/9 -I/usr/include/x86_64-linux-gnu/c++/9 -I/usr/include/c++/9/backward -I/usr/lib/gcc/x86_64-linux-gnu/9/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include src/mylabel.h -o moc_mylabel.cpp
|
||||
|
||||
moc_tabwidget.cpp: src/tabwidget.h \
|
||||
src/appupdate.h \
|
||||
|
@ -672,12 +672,12 @@ moc_tabwidget.cpp: src/tabwidget.h \
|
|||
src/checkbutton.h \
|
||||
moc_predefs.h \
|
||||
/usr/lib/qt5/bin/moc
|
||||
/usr/lib/qt5/bin/moc $(DEFINES) --include /home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/DEFINES -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/+= -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/QT_DEPRECATED_WARNINGS -I/usr/include/x86_64-linux-gnu/qt5/QGSettings -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/KF5/KWindowSystem -I/usr/include/x86_64-linux-gnu/qt5/QtX11Extras -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtDBus -I/usr/include/x86_64-linux-gnu/qt5/QtSql -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/9 -I/usr/include/x86_64-linux-gnu/c++/9 -I/usr/include/c++/9/backward -I/usr/lib/gcc/x86_64-linux-gnu/9/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include src/tabwidget.h -o moc_tabwidget.cpp
|
||||
/usr/lib/qt5/bin/moc $(DEFINES) --include /home/lxy/tmp/kylin-system-updater/plugin/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/lxy/tmp/kylin-system-updater/plugin -I/home/lxy/tmp/kylin-system-updater/plugin/DEFINES -I/home/lxy/tmp/kylin-system-updater/plugin/+= -I/home/lxy/tmp/kylin-system-updater/plugin/QT_DEPRECATED_WARNINGS -I/usr/include/x86_64-linux-gnu/qt5/QGSettings -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/KF5/KWindowSystem -I/usr/include/x86_64-linux-gnu/qt5/QtX11Extras -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtDBus -I/usr/include/x86_64-linux-gnu/qt5/QtSql -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/9 -I/usr/include/x86_64-linux-gnu/c++/9 -I/usr/include/c++/9/backward -I/usr/lib/gcc/x86_64-linux-gnu/9/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include src/tabwidget.h -o moc_tabwidget.cpp
|
||||
|
||||
moc_traybusthread.cpp: src/traybusthread.h \
|
||||
moc_predefs.h \
|
||||
/usr/lib/qt5/bin/moc
|
||||
/usr/lib/qt5/bin/moc $(DEFINES) --include /home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/DEFINES -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/+= -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/QT_DEPRECATED_WARNINGS -I/usr/include/x86_64-linux-gnu/qt5/QGSettings -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/KF5/KWindowSystem -I/usr/include/x86_64-linux-gnu/qt5/QtX11Extras -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtDBus -I/usr/include/x86_64-linux-gnu/qt5/QtSql -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/9 -I/usr/include/x86_64-linux-gnu/c++/9 -I/usr/include/c++/9/backward -I/usr/lib/gcc/x86_64-linux-gnu/9/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include src/traybusthread.h -o moc_traybusthread.cpp
|
||||
/usr/lib/qt5/bin/moc $(DEFINES) --include /home/lxy/tmp/kylin-system-updater/plugin/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/lxy/tmp/kylin-system-updater/plugin -I/home/lxy/tmp/kylin-system-updater/plugin/DEFINES -I/home/lxy/tmp/kylin-system-updater/plugin/+= -I/home/lxy/tmp/kylin-system-updater/plugin/QT_DEPRECATED_WARNINGS -I/usr/include/x86_64-linux-gnu/qt5/QGSettings -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/KF5/KWindowSystem -I/usr/include/x86_64-linux-gnu/qt5/QtX11Extras -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtDBus -I/usr/include/x86_64-linux-gnu/qt5/QtSql -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/9 -I/usr/include/x86_64-linux-gnu/c++/9 -I/usr/include/c++/9/backward -I/usr/lib/gcc/x86_64-linux-gnu/9/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include src/traybusthread.h -o moc_traybusthread.cpp
|
||||
|
||||
moc_updatedbus.cpp: src/updatedbus.h \
|
||||
src/traybusthread.h \
|
||||
|
@ -685,7 +685,7 @@ moc_updatedbus.cpp: src/updatedbus.h \
|
|||
src/utils.h \
|
||||
moc_predefs.h \
|
||||
/usr/lib/qt5/bin/moc
|
||||
/usr/lib/qt5/bin/moc $(DEFINES) --include /home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/DEFINES -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/+= -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/QT_DEPRECATED_WARNINGS -I/usr/include/x86_64-linux-gnu/qt5/QGSettings -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/KF5/KWindowSystem -I/usr/include/x86_64-linux-gnu/qt5/QtX11Extras -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtDBus -I/usr/include/x86_64-linux-gnu/qt5/QtSql -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/9 -I/usr/include/x86_64-linux-gnu/c++/9 -I/usr/include/c++/9/backward -I/usr/lib/gcc/x86_64-linux-gnu/9/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include src/updatedbus.h -o moc_updatedbus.cpp
|
||||
/usr/lib/qt5/bin/moc $(DEFINES) --include /home/lxy/tmp/kylin-system-updater/plugin/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/lxy/tmp/kylin-system-updater/plugin -I/home/lxy/tmp/kylin-system-updater/plugin/DEFINES -I/home/lxy/tmp/kylin-system-updater/plugin/+= -I/home/lxy/tmp/kylin-system-updater/plugin/QT_DEPRECATED_WARNINGS -I/usr/include/x86_64-linux-gnu/qt5/QGSettings -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/KF5/KWindowSystem -I/usr/include/x86_64-linux-gnu/qt5/QtX11Extras -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtDBus -I/usr/include/x86_64-linux-gnu/qt5/QtSql -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/9 -I/usr/include/x86_64-linux-gnu/c++/9 -I/usr/include/c++/9/backward -I/usr/lib/gcc/x86_64-linux-gnu/9/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include src/updatedbus.h -o moc_updatedbus.cpp
|
||||
|
||||
moc_updatelog.cpp: src/updatelog.h \
|
||||
src/widgetstyle.h \
|
||||
|
@ -695,7 +695,7 @@ moc_updatelog.cpp: src/updatelog.h \
|
|||
src/utils.h \
|
||||
moc_predefs.h \
|
||||
/usr/lib/qt5/bin/moc
|
||||
/usr/lib/qt5/bin/moc $(DEFINES) --include /home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/DEFINES -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/+= -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/QT_DEPRECATED_WARNINGS -I/usr/include/x86_64-linux-gnu/qt5/QGSettings -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/KF5/KWindowSystem -I/usr/include/x86_64-linux-gnu/qt5/QtX11Extras -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtDBus -I/usr/include/x86_64-linux-gnu/qt5/QtSql -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/9 -I/usr/include/x86_64-linux-gnu/c++/9 -I/usr/include/c++/9/backward -I/usr/lib/gcc/x86_64-linux-gnu/9/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include src/updatelog.h -o moc_updatelog.cpp
|
||||
/usr/lib/qt5/bin/moc $(DEFINES) --include /home/lxy/tmp/kylin-system-updater/plugin/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/lxy/tmp/kylin-system-updater/plugin -I/home/lxy/tmp/kylin-system-updater/plugin/DEFINES -I/home/lxy/tmp/kylin-system-updater/plugin/+= -I/home/lxy/tmp/kylin-system-updater/plugin/QT_DEPRECATED_WARNINGS -I/usr/include/x86_64-linux-gnu/qt5/QGSettings -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/KF5/KWindowSystem -I/usr/include/x86_64-linux-gnu/qt5/QtX11Extras -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtDBus -I/usr/include/x86_64-linux-gnu/qt5/QtSql -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/9 -I/usr/include/x86_64-linux-gnu/c++/9 -I/usr/include/c++/9/backward -I/usr/lib/gcc/x86_64-linux-gnu/9/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include src/updatelog.h -o moc_updatelog.cpp
|
||||
|
||||
moc_updatesource.cpp: src/updatesource.h \
|
||||
src/updatedbus.h \
|
||||
|
@ -704,7 +704,7 @@ moc_updatesource.cpp: src/updatesource.h \
|
|||
src/utils.h \
|
||||
moc_predefs.h \
|
||||
/usr/lib/qt5/bin/moc
|
||||
/usr/lib/qt5/bin/moc $(DEFINES) --include /home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/DEFINES -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/+= -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/QT_DEPRECATED_WARNINGS -I/usr/include/x86_64-linux-gnu/qt5/QGSettings -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/KF5/KWindowSystem -I/usr/include/x86_64-linux-gnu/qt5/QtX11Extras -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtDBus -I/usr/include/x86_64-linux-gnu/qt5/QtSql -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/9 -I/usr/include/x86_64-linux-gnu/c++/9 -I/usr/include/c++/9/backward -I/usr/lib/gcc/x86_64-linux-gnu/9/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include src/updatesource.h -o moc_updatesource.cpp
|
||||
/usr/lib/qt5/bin/moc $(DEFINES) --include /home/lxy/tmp/kylin-system-updater/plugin/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/lxy/tmp/kylin-system-updater/plugin -I/home/lxy/tmp/kylin-system-updater/plugin/DEFINES -I/home/lxy/tmp/kylin-system-updater/plugin/+= -I/home/lxy/tmp/kylin-system-updater/plugin/QT_DEPRECATED_WARNINGS -I/usr/include/x86_64-linux-gnu/qt5/QGSettings -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/KF5/KWindowSystem -I/usr/include/x86_64-linux-gnu/qt5/QtX11Extras -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtDBus -I/usr/include/x86_64-linux-gnu/qt5/QtSql -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/9 -I/usr/include/x86_64-linux-gnu/c++/9 -I/usr/include/c++/9/backward -I/usr/lib/gcc/x86_64-linux-gnu/9/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include src/updatesource.h -o moc_updatesource.cpp
|
||||
|
||||
moc_upgrademain.cpp: src/upgrademain.h \
|
||||
src/connection.h \
|
||||
|
@ -728,7 +728,7 @@ moc_upgrademain.cpp: src/upgrademain.h \
|
|||
src/checkbutton.h \
|
||||
moc_predefs.h \
|
||||
/usr/lib/qt5/bin/moc
|
||||
/usr/lib/qt5/bin/moc $(DEFINES) --include /home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/DEFINES -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/+= -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/QT_DEPRECATED_WARNINGS -I/usr/include/x86_64-linux-gnu/qt5/QGSettings -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/KF5/KWindowSystem -I/usr/include/x86_64-linux-gnu/qt5/QtX11Extras -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtDBus -I/usr/include/x86_64-linux-gnu/qt5/QtSql -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/9 -I/usr/include/x86_64-linux-gnu/c++/9 -I/usr/include/c++/9/backward -I/usr/lib/gcc/x86_64-linux-gnu/9/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include src/upgrademain.h -o moc_upgrademain.cpp
|
||||
/usr/lib/qt5/bin/moc $(DEFINES) --include /home/lxy/tmp/kylin-system-updater/plugin/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/lxy/tmp/kylin-system-updater/plugin -I/home/lxy/tmp/kylin-system-updater/plugin/DEFINES -I/home/lxy/tmp/kylin-system-updater/plugin/+= -I/home/lxy/tmp/kylin-system-updater/plugin/QT_DEPRECATED_WARNINGS -I/usr/include/x86_64-linux-gnu/qt5/QGSettings -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/KF5/KWindowSystem -I/usr/include/x86_64-linux-gnu/qt5/QtX11Extras -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtDBus -I/usr/include/x86_64-linux-gnu/qt5/QtSql -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/9 -I/usr/include/x86_64-linux-gnu/c++/9 -I/usr/include/c++/9/backward -I/usr/lib/gcc/x86_64-linux-gnu/9/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include src/upgrademain.h -o moc_upgrademain.cpp
|
||||
|
||||
moc_widgetstyle.cpp: src/widgetstyle.h \
|
||||
src/updatedbus.h \
|
||||
|
@ -737,7 +737,7 @@ moc_widgetstyle.cpp: src/widgetstyle.h \
|
|||
src/utils.h \
|
||||
moc_predefs.h \
|
||||
/usr/lib/qt5/bin/moc
|
||||
/usr/lib/qt5/bin/moc $(DEFINES) --include /home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/DEFINES -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/+= -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/QT_DEPRECATED_WARNINGS -I/usr/include/x86_64-linux-gnu/qt5/QGSettings -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/KF5/KWindowSystem -I/usr/include/x86_64-linux-gnu/qt5/QtX11Extras -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtDBus -I/usr/include/x86_64-linux-gnu/qt5/QtSql -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/9 -I/usr/include/x86_64-linux-gnu/c++/9 -I/usr/include/c++/9/backward -I/usr/lib/gcc/x86_64-linux-gnu/9/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include src/widgetstyle.h -o moc_widgetstyle.cpp
|
||||
/usr/lib/qt5/bin/moc $(DEFINES) --include /home/lxy/tmp/kylin-system-updater/plugin/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/lxy/tmp/kylin-system-updater/plugin -I/home/lxy/tmp/kylin-system-updater/plugin/DEFINES -I/home/lxy/tmp/kylin-system-updater/plugin/+= -I/home/lxy/tmp/kylin-system-updater/plugin/QT_DEPRECATED_WARNINGS -I/usr/include/x86_64-linux-gnu/qt5/QGSettings -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/KF5/KWindowSystem -I/usr/include/x86_64-linux-gnu/qt5/QtX11Extras -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtDBus -I/usr/include/x86_64-linux-gnu/qt5/QtSql -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/9 -I/usr/include/x86_64-linux-gnu/c++/9 -I/usr/include/c++/9/backward -I/usr/lib/gcc/x86_64-linux-gnu/9/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include src/widgetstyle.h -o moc_widgetstyle.cpp
|
||||
|
||||
moc_upgrade.cpp: upgrade.h \
|
||||
src/upgrademain.h \
|
||||
|
@ -762,7 +762,7 @@ moc_upgrade.cpp: upgrade.h \
|
|||
src/checkbutton.h \
|
||||
moc_predefs.h \
|
||||
/usr/lib/qt5/bin/moc
|
||||
/usr/lib/qt5/bin/moc $(DEFINES) --include /home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/DEFINES -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/+= -I/home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/QT_DEPRECATED_WARNINGS -I/usr/include/x86_64-linux-gnu/qt5/QGSettings -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/KF5/KWindowSystem -I/usr/include/x86_64-linux-gnu/qt5/QtX11Extras -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtDBus -I/usr/include/x86_64-linux-gnu/qt5/QtSql -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/9 -I/usr/include/x86_64-linux-gnu/c++/9 -I/usr/include/c++/9/backward -I/usr/lib/gcc/x86_64-linux-gnu/9/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include upgrade.h -o moc_upgrade.cpp
|
||||
/usr/lib/qt5/bin/moc $(DEFINES) --include /home/lxy/tmp/kylin-system-updater/plugin/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/lxy/tmp/kylin-system-updater/plugin -I/home/lxy/tmp/kylin-system-updater/plugin/DEFINES -I/home/lxy/tmp/kylin-system-updater/plugin/+= -I/home/lxy/tmp/kylin-system-updater/plugin/QT_DEPRECATED_WARNINGS -I/usr/include/x86_64-linux-gnu/qt5/QGSettings -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/KF5/KWindowSystem -I/usr/include/x86_64-linux-gnu/qt5/QtX11Extras -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtDBus -I/usr/include/x86_64-linux-gnu/qt5/QtSql -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/9 -I/usr/include/x86_64-linux-gnu/c++/9 -I/usr/include/c++/9/backward -I/usr/lib/gcc/x86_64-linux-gnu/9/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include upgrade.h -o moc_upgrade.cpp
|
||||
|
||||
compiler_moc_objc_header_make_all:
|
||||
compiler_moc_objc_header_clean:
|
||||
|
@ -1004,7 +1004,7 @@ uninstall_target: FORCE
|
|||
|
||||
install_desktop: first FORCE
|
||||
@test -d $(INSTALL_ROOT)/usr/share/applications/ || mkdir -p $(INSTALL_ROOT)/usr/share/applications/
|
||||
-$(QINSTALL) /home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/src/kylin-system-update.desktop $(INSTALL_ROOT)/usr/share/applications/kylin-system-update.desktop
|
||||
-$(QINSTALL) /home/lxy/tmp/kylin-system-updater/plugin/src/kylin-system-update.desktop $(INSTALL_ROOT)/usr/share/applications/kylin-system-update.desktop
|
||||
|
||||
uninstall_desktop: FORCE
|
||||
-$(DEL_FILE) -r $(INSTALL_ROOT)/usr/share/applications/kylin-system-update.desktop
|
||||
|
@ -1013,8 +1013,8 @@ uninstall_desktop: FORCE
|
|||
|
||||
install_config: first FORCE
|
||||
@test -d $(INSTALL_ROOT)/usr/share/ukui-control-center/upgrade/ || mkdir -p $(INSTALL_ROOT)/usr/share/ukui-control-center/upgrade/
|
||||
-$(QINSTALL) /home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/config_file/need-logout.conf $(INSTALL_ROOT)/usr/share/ukui-control-center/upgrade/need-logout.conf
|
||||
-$(QINSTALL) /home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/config_file/need-reboot.conf $(INSTALL_ROOT)/usr/share/ukui-control-center/upgrade/need-reboot.conf
|
||||
-$(QINSTALL) /home/lxy/tmp/kylin-system-updater/plugin/config_file/need-logout.conf $(INSTALL_ROOT)/usr/share/ukui-control-center/upgrade/need-logout.conf
|
||||
-$(QINSTALL) /home/lxy/tmp/kylin-system-updater/plugin/config_file/need-reboot.conf $(INSTALL_ROOT)/usr/share/ukui-control-center/upgrade/need-reboot.conf
|
||||
|
||||
uninstall_config: FORCE
|
||||
-$(DEL_FILE) -r $(INSTALL_ROOT)/usr/share/ukui-control-center/upgrade/need-reboot.conf
|
||||
|
@ -1023,26 +1023,26 @@ uninstall_config: FORCE
|
|||
|
||||
|
||||
install_qm_files: first FORCE
|
||||
@test -d $(INSTALL_ROOT)/usr/share/upgrade/translations || mkdir -p $(INSTALL_ROOT)/usr/share/upgrade/translations
|
||||
-$(QINSTALL) /home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/translations/bo.qm $(INSTALL_ROOT)/usr/share/upgrade/translations/bo.qm
|
||||
-$(QINSTALL) /home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/translations/bo.ts $(INSTALL_ROOT)/usr/share/upgrade/translations/bo.ts
|
||||
-$(QINSTALL) /home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/translations/en_US.qm $(INSTALL_ROOT)/usr/share/upgrade/translations/en_US.qm
|
||||
-$(QINSTALL) /home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/translations/en_US.ts $(INSTALL_ROOT)/usr/share/upgrade/translations/en_US.ts
|
||||
-$(QINSTALL) /home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/translations/tr.qm $(INSTALL_ROOT)/usr/share/upgrade/translations/tr.qm
|
||||
-$(QINSTALL) /home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/translations/tr.ts $(INSTALL_ROOT)/usr/share/upgrade/translations/tr.ts
|
||||
-$(QINSTALL) /home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/translations/zh_CN.qm $(INSTALL_ROOT)/usr/share/upgrade/translations/zh_CN.qm
|
||||
-$(QINSTALL) /home/kylin/zdw/git_repo/kylin-system-updater/kylin-system-updater/plugin/translations/zh_CN.ts $(INSTALL_ROOT)/usr/share/upgrade/translations/zh_CN.ts
|
||||
@test -d $(INSTALL_ROOT)/usr/share/Upgrade/translations || mkdir -p $(INSTALL_ROOT)/usr/share/Upgrade/translations
|
||||
-$(QINSTALL) /home/lxy/tmp/kylin-system-updater/plugin/translations/bo.qm $(INSTALL_ROOT)/usr/share/Upgrade/translations/bo.qm
|
||||
-$(QINSTALL) /home/lxy/tmp/kylin-system-updater/plugin/translations/bo.ts $(INSTALL_ROOT)/usr/share/Upgrade/translations/bo.ts
|
||||
-$(QINSTALL) /home/lxy/tmp/kylin-system-updater/plugin/translations/en_US.qm $(INSTALL_ROOT)/usr/share/Upgrade/translations/en_US.qm
|
||||
-$(QINSTALL) /home/lxy/tmp/kylin-system-updater/plugin/translations/en_US.ts $(INSTALL_ROOT)/usr/share/Upgrade/translations/en_US.ts
|
||||
-$(QINSTALL) /home/lxy/tmp/kylin-system-updater/plugin/translations/tr.qm $(INSTALL_ROOT)/usr/share/Upgrade/translations/tr.qm
|
||||
-$(QINSTALL) /home/lxy/tmp/kylin-system-updater/plugin/translations/tr.ts $(INSTALL_ROOT)/usr/share/Upgrade/translations/tr.ts
|
||||
-$(QINSTALL) /home/lxy/tmp/kylin-system-updater/plugin/translations/zh_CN.qm $(INSTALL_ROOT)/usr/share/Upgrade/translations/zh_CN.qm
|
||||
-$(QINSTALL) /home/lxy/tmp/kylin-system-updater/plugin/translations/zh_CN.ts $(INSTALL_ROOT)/usr/share/Upgrade/translations/zh_CN.ts
|
||||
|
||||
uninstall_qm_files: FORCE
|
||||
-$(DEL_FILE) -r $(INSTALL_ROOT)/usr/share/upgrade/translations/zh_CN.ts
|
||||
-$(DEL_FILE) -r $(INSTALL_ROOT)/usr/share/upgrade/translations/zh_CN.qm
|
||||
-$(DEL_FILE) -r $(INSTALL_ROOT)/usr/share/upgrade/translations/tr.ts
|
||||
-$(DEL_FILE) -r $(INSTALL_ROOT)/usr/share/upgrade/translations/tr.qm
|
||||
-$(DEL_FILE) -r $(INSTALL_ROOT)/usr/share/upgrade/translations/en_US.ts
|
||||
-$(DEL_FILE) -r $(INSTALL_ROOT)/usr/share/upgrade/translations/en_US.qm
|
||||
-$(DEL_FILE) -r $(INSTALL_ROOT)/usr/share/upgrade/translations/bo.ts
|
||||
-$(DEL_FILE) -r $(INSTALL_ROOT)/usr/share/upgrade/translations/bo.qm
|
||||
-$(DEL_DIR) $(INSTALL_ROOT)/usr/share/upgrade/translations/
|
||||
-$(DEL_FILE) -r $(INSTALL_ROOT)/usr/share/Upgrade/translations/zh_CN.ts
|
||||
-$(DEL_FILE) -r $(INSTALL_ROOT)/usr/share/Upgrade/translations/zh_CN.qm
|
||||
-$(DEL_FILE) -r $(INSTALL_ROOT)/usr/share/Upgrade/translations/tr.ts
|
||||
-$(DEL_FILE) -r $(INSTALL_ROOT)/usr/share/Upgrade/translations/tr.qm
|
||||
-$(DEL_FILE) -r $(INSTALL_ROOT)/usr/share/Upgrade/translations/en_US.ts
|
||||
-$(DEL_FILE) -r $(INSTALL_ROOT)/usr/share/Upgrade/translations/en_US.qm
|
||||
-$(DEL_FILE) -r $(INSTALL_ROOT)/usr/share/Upgrade/translations/bo.ts
|
||||
-$(DEL_FILE) -r $(INSTALL_ROOT)/usr/share/Upgrade/translations/bo.qm
|
||||
-$(DEL_DIR) $(INSTALL_ROOT)/usr/share/Upgrade/translations/
|
||||
|
||||
|
||||
install: install_target install_desktop install_config install_qm_files FORCE
|
||||
|
|
Binary file not shown.
BIN
plugin/backup.o
BIN
plugin/backup.o
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,384 +0,0 @@
|
|||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'appupdate.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.12.8)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include "src/appupdate.h"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'appupdate.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.12.8. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_AppUpdateWid_t {
|
||||
QByteArrayData data[46];
|
||||
char stringdata0[599];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_AppUpdateWid_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_AppUpdateWid_t qt_meta_stringdata_AppUpdateWid = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 12), // "AppUpdateWid"
|
||||
QT_MOC_LITERAL(1, 13, 9), // "startWork"
|
||||
QT_MOC_LITERAL(2, 23, 0), // ""
|
||||
QT_MOC_LITERAL(3, 24, 7), // "appName"
|
||||
QT_MOC_LITERAL(4, 32, 9), // "startMove"
|
||||
QT_MOC_LITERAL(5, 42, 4), // "list"
|
||||
QT_MOC_LITERAL(6, 47, 24), // "oneappUpdateResultSignal"
|
||||
QT_MOC_LITERAL(7, 72, 5), // "state"
|
||||
QT_MOC_LITERAL(8, 78, 7), // "pkgname"
|
||||
QT_MOC_LITERAL(9, 86, 5), // "error"
|
||||
QT_MOC_LITERAL(10, 92, 6), // "reason"
|
||||
QT_MOC_LITERAL(11, 99, 21), // "changeUpdateAllSignal"
|
||||
QT_MOC_LITERAL(12, 121, 8), // "isUpdate"
|
||||
QT_MOC_LITERAL(13, 130, 20), // "downloadFailedSignal"
|
||||
QT_MOC_LITERAL(14, 151, 8), // "exitCode"
|
||||
QT_MOC_LITERAL(15, 160, 16), // "filelockedSignal"
|
||||
QT_MOC_LITERAL(16, 177, 17), // "appupdateiscancel"
|
||||
QT_MOC_LITERAL(17, 195, 12), // "sendProgress"
|
||||
QT_MOC_LITERAL(18, 208, 7), // "pkgName"
|
||||
QT_MOC_LITERAL(19, 216, 8), // "Progress"
|
||||
QT_MOC_LITERAL(20, 225, 4), // "type"
|
||||
QT_MOC_LITERAL(21, 230, 15), // "changeupdateall"
|
||||
QT_MOC_LITERAL(22, 246, 24), // "allappupdatefinishsignal"
|
||||
QT_MOC_LITERAL(23, 271, 11), // "showDetails"
|
||||
QT_MOC_LITERAL(24, 283, 13), // "showUpdateLog"
|
||||
QT_MOC_LITERAL(25, 297, 14), // "cancelOrUpdate"
|
||||
QT_MOC_LITERAL(26, 312, 18), // "showInstallStatues"
|
||||
QT_MOC_LITERAL(27, 331, 10), // "appAptName"
|
||||
QT_MOC_LITERAL(28, 342, 8), // "progress"
|
||||
QT_MOC_LITERAL(29, 351, 6), // "status"
|
||||
QT_MOC_LITERAL(30, 358, 10), // "detailinfo"
|
||||
QT_MOC_LITERAL(31, 369, 19), // "showDownloadStatues"
|
||||
QT_MOC_LITERAL(32, 389, 13), // "currentserial"
|
||||
QT_MOC_LITERAL(33, 403, 5), // "total"
|
||||
QT_MOC_LITERAL(34, 409, 14), // "downloadedsize"
|
||||
QT_MOC_LITERAL(35, 424, 9), // "totalsize"
|
||||
QT_MOC_LITERAL(36, 434, 5), // "speed"
|
||||
QT_MOC_LITERAL(37, 440, 17), // "showInstallFinsih"
|
||||
QT_MOC_LITERAL(38, 458, 25), // "OneAppDependResloveResult"
|
||||
QT_MOC_LITERAL(39, 484, 20), // "slotDownloadPackages"
|
||||
QT_MOC_LITERAL(40, 505, 22), // "calculateSpeedProgress"
|
||||
QT_MOC_LITERAL(41, 528, 12), // "startInstall"
|
||||
QT_MOC_LITERAL(42, 541, 12), // "updateAllApp"
|
||||
QT_MOC_LITERAL(43, 554, 13), // "showUpdateBtn"
|
||||
QT_MOC_LITERAL(44, 568, 23), // "hideOrShowUpdateBtnSlot"
|
||||
QT_MOC_LITERAL(45, 592, 6) // "result"
|
||||
|
||||
},
|
||||
"AppUpdateWid\0startWork\0\0appName\0"
|
||||
"startMove\0list\0oneappUpdateResultSignal\0"
|
||||
"state\0pkgname\0error\0reason\0"
|
||||
"changeUpdateAllSignal\0isUpdate\0"
|
||||
"downloadFailedSignal\0exitCode\0"
|
||||
"filelockedSignal\0appupdateiscancel\0"
|
||||
"sendProgress\0pkgName\0Progress\0type\0"
|
||||
"changeupdateall\0allappupdatefinishsignal\0"
|
||||
"showDetails\0showUpdateLog\0cancelOrUpdate\0"
|
||||
"showInstallStatues\0appAptName\0progress\0"
|
||||
"status\0detailinfo\0showDownloadStatues\0"
|
||||
"currentserial\0total\0downloadedsize\0"
|
||||
"totalsize\0speed\0showInstallFinsih\0"
|
||||
"OneAppDependResloveResult\0"
|
||||
"slotDownloadPackages\0calculateSpeedProgress\0"
|
||||
"startInstall\0updateAllApp\0showUpdateBtn\0"
|
||||
"hideOrShowUpdateBtnSlot\0result"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_AppUpdateWid[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
23, 14, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
10, // signalCount
|
||||
|
||||
// signals: name, argc, parameters, tag, flags
|
||||
1, 1, 129, 2, 0x06 /* Public */,
|
||||
4, 2, 132, 2, 0x06 /* Public */,
|
||||
6, 4, 137, 2, 0x06 /* Public */,
|
||||
11, 1, 146, 2, 0x06 /* Public */,
|
||||
13, 1, 149, 2, 0x06 /* Public */,
|
||||
15, 0, 152, 2, 0x06 /* Public */,
|
||||
16, 0, 153, 2, 0x06 /* Public */,
|
||||
17, 3, 154, 2, 0x06 /* Public */,
|
||||
21, 0, 161, 2, 0x06 /* Public */,
|
||||
22, 0, 162, 2, 0x06 /* Public */,
|
||||
|
||||
// slots: name, argc, parameters, tag, flags
|
||||
23, 0, 163, 2, 0x0a /* Public */,
|
||||
24, 0, 164, 2, 0x0a /* Public */,
|
||||
25, 0, 165, 2, 0x0a /* Public */,
|
||||
26, 4, 166, 2, 0x0a /* Public */,
|
||||
31, 5, 175, 2, 0x0a /* Public */,
|
||||
37, 4, 186, 2, 0x0a /* Public */,
|
||||
38, 7, 195, 2, 0x0a /* Public */,
|
||||
39, 0, 210, 2, 0x0a /* Public */,
|
||||
40, 0, 211, 2, 0x0a /* Public */,
|
||||
41, 1, 212, 2, 0x0a /* Public */,
|
||||
42, 0, 215, 2, 0x0a /* Public */,
|
||||
43, 0, 216, 2, 0x0a /* Public */,
|
||||
44, 1, 217, 2, 0x0a /* Public */,
|
||||
|
||||
// signals: parameters
|
||||
QMetaType::Void, QMetaType::QString, 3,
|
||||
QMetaType::Void, QMetaType::QStringList, QMetaType::QString, 5, 3,
|
||||
QMetaType::Void, QMetaType::Bool, QMetaType::QStringList, QMetaType::QString, QMetaType::QString, 7, 8, 9, 10,
|
||||
QMetaType::Void, QMetaType::Bool, 12,
|
||||
QMetaType::Void, QMetaType::Int, 14,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void, QMetaType::QString, QMetaType::Int, QMetaType::QString, 18, 19, 20,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
|
||||
// slots: parameters
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void, QMetaType::QStringList, QMetaType::Int, QMetaType::QString, QMetaType::QString, 27, 28, 29, 30,
|
||||
QMetaType::Void, QMetaType::Int, QMetaType::Int, QMetaType::Int, QMetaType::Int, QMetaType::Int, 32, 33, 34, 35, 36,
|
||||
QMetaType::Void, QMetaType::Bool, QMetaType::QStringList, QMetaType::QString, QMetaType::QString, 7, 8, 9, 10,
|
||||
QMetaType::Void, QMetaType::Bool, QMetaType::Bool, QMetaType::QStringList, QMetaType::QStringList, QMetaType::QStringList, QMetaType::QString, QMetaType::QString, 2, 2, 2, 2, 2, 2, 2,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void, QMetaType::QString, 3,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void, QMetaType::Int, 45,
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void AppUpdateWid::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
auto *_t = static_cast<AppUpdateWid *>(_o);
|
||||
Q_UNUSED(_t)
|
||||
switch (_id) {
|
||||
case 0: _t->startWork((*reinterpret_cast< QString(*)>(_a[1]))); break;
|
||||
case 1: _t->startMove((*reinterpret_cast< QStringList(*)>(_a[1])),(*reinterpret_cast< QString(*)>(_a[2]))); break;
|
||||
case 2: _t->oneappUpdateResultSignal((*reinterpret_cast< bool(*)>(_a[1])),(*reinterpret_cast< QStringList(*)>(_a[2])),(*reinterpret_cast< QString(*)>(_a[3])),(*reinterpret_cast< QString(*)>(_a[4]))); break;
|
||||
case 3: _t->changeUpdateAllSignal((*reinterpret_cast< bool(*)>(_a[1]))); break;
|
||||
case 4: _t->downloadFailedSignal((*reinterpret_cast< int(*)>(_a[1]))); break;
|
||||
case 5: _t->filelockedSignal(); break;
|
||||
case 6: _t->appupdateiscancel(); break;
|
||||
case 7: _t->sendProgress((*reinterpret_cast< QString(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2])),(*reinterpret_cast< QString(*)>(_a[3]))); break;
|
||||
case 8: _t->changeupdateall(); break;
|
||||
case 9: _t->allappupdatefinishsignal(); break;
|
||||
case 10: _t->showDetails(); break;
|
||||
case 11: _t->showUpdateLog(); break;
|
||||
case 12: _t->cancelOrUpdate(); break;
|
||||
case 13: _t->showInstallStatues((*reinterpret_cast< QStringList(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2])),(*reinterpret_cast< QString(*)>(_a[3])),(*reinterpret_cast< QString(*)>(_a[4]))); break;
|
||||
case 14: _t->showDownloadStatues((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2])),(*reinterpret_cast< int(*)>(_a[3])),(*reinterpret_cast< int(*)>(_a[4])),(*reinterpret_cast< int(*)>(_a[5]))); break;
|
||||
case 15: _t->showInstallFinsih((*reinterpret_cast< bool(*)>(_a[1])),(*reinterpret_cast< QStringList(*)>(_a[2])),(*reinterpret_cast< QString(*)>(_a[3])),(*reinterpret_cast< QString(*)>(_a[4]))); break;
|
||||
case 16: _t->OneAppDependResloveResult((*reinterpret_cast< bool(*)>(_a[1])),(*reinterpret_cast< bool(*)>(_a[2])),(*reinterpret_cast< QStringList(*)>(_a[3])),(*reinterpret_cast< QStringList(*)>(_a[4])),(*reinterpret_cast< QStringList(*)>(_a[5])),(*reinterpret_cast< QString(*)>(_a[6])),(*reinterpret_cast< QString(*)>(_a[7]))); break;
|
||||
case 17: _t->slotDownloadPackages(); break;
|
||||
case 18: _t->calculateSpeedProgress(); break;
|
||||
case 19: _t->startInstall((*reinterpret_cast< QString(*)>(_a[1]))); break;
|
||||
case 20: _t->updateAllApp(); break;
|
||||
case 21: _t->showUpdateBtn(); break;
|
||||
case 22: _t->hideOrShowUpdateBtnSlot((*reinterpret_cast< int(*)>(_a[1]))); break;
|
||||
default: ;
|
||||
}
|
||||
} else if (_c == QMetaObject::IndexOfMethod) {
|
||||
int *result = reinterpret_cast<int *>(_a[0]);
|
||||
{
|
||||
using _t = void (AppUpdateWid::*)(QString );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&AppUpdateWid::startWork)) {
|
||||
*result = 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (AppUpdateWid::*)(QStringList , QString );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&AppUpdateWid::startMove)) {
|
||||
*result = 1;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (AppUpdateWid::*)(bool , QStringList , QString , QString );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&AppUpdateWid::oneappUpdateResultSignal)) {
|
||||
*result = 2;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (AppUpdateWid::*)(bool );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&AppUpdateWid::changeUpdateAllSignal)) {
|
||||
*result = 3;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (AppUpdateWid::*)(int );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&AppUpdateWid::downloadFailedSignal)) {
|
||||
*result = 4;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (AppUpdateWid::*)();
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&AppUpdateWid::filelockedSignal)) {
|
||||
*result = 5;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (AppUpdateWid::*)();
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&AppUpdateWid::appupdateiscancel)) {
|
||||
*result = 6;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (AppUpdateWid::*)(QString , int , QString );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&AppUpdateWid::sendProgress)) {
|
||||
*result = 7;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (AppUpdateWid::*)();
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&AppUpdateWid::changeupdateall)) {
|
||||
*result = 8;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (AppUpdateWid::*)();
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&AppUpdateWid::allappupdatefinishsignal)) {
|
||||
*result = 9;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject AppUpdateWid::staticMetaObject = { {
|
||||
&QWidget::staticMetaObject,
|
||||
qt_meta_stringdata_AppUpdateWid.data,
|
||||
qt_meta_data_AppUpdateWid,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *AppUpdateWid::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *AppUpdateWid::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_AppUpdateWid.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QWidget::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int AppUpdateWid::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QWidget::qt_metacall(_c, _id, _a);
|
||||
if (_id < 0)
|
||||
return _id;
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
if (_id < 23)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 23;
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
if (_id < 23)
|
||||
*reinterpret_cast<int*>(_a[0]) = -1;
|
||||
_id -= 23;
|
||||
}
|
||||
return _id;
|
||||
}
|
||||
|
||||
// SIGNAL 0
|
||||
void AppUpdateWid::startWork(QString _t1)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 0, _a);
|
||||
}
|
||||
|
||||
// SIGNAL 1
|
||||
void AppUpdateWid::startMove(QStringList _t1, QString _t2)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(&_t1)), const_cast<void*>(reinterpret_cast<const void*>(&_t2)) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 1, _a);
|
||||
}
|
||||
|
||||
// SIGNAL 2
|
||||
void AppUpdateWid::oneappUpdateResultSignal(bool _t1, QStringList _t2, QString _t3, QString _t4)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(&_t1)), const_cast<void*>(reinterpret_cast<const void*>(&_t2)), const_cast<void*>(reinterpret_cast<const void*>(&_t3)), const_cast<void*>(reinterpret_cast<const void*>(&_t4)) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 2, _a);
|
||||
}
|
||||
|
||||
// SIGNAL 3
|
||||
void AppUpdateWid::changeUpdateAllSignal(bool _t1)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 3, _a);
|
||||
}
|
||||
|
||||
// SIGNAL 4
|
||||
void AppUpdateWid::downloadFailedSignal(int _t1)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 4, _a);
|
||||
}
|
||||
|
||||
// SIGNAL 5
|
||||
void AppUpdateWid::filelockedSignal()
|
||||
{
|
||||
QMetaObject::activate(this, &staticMetaObject, 5, nullptr);
|
||||
}
|
||||
|
||||
// SIGNAL 6
|
||||
void AppUpdateWid::appupdateiscancel()
|
||||
{
|
||||
QMetaObject::activate(this, &staticMetaObject, 6, nullptr);
|
||||
}
|
||||
|
||||
// SIGNAL 7
|
||||
void AppUpdateWid::sendProgress(QString _t1, int _t2, QString _t3)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(&_t1)), const_cast<void*>(reinterpret_cast<const void*>(&_t2)), const_cast<void*>(reinterpret_cast<const void*>(&_t3)) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 7, _a);
|
||||
}
|
||||
|
||||
// SIGNAL 8
|
||||
void AppUpdateWid::changeupdateall()
|
||||
{
|
||||
QMetaObject::activate(this, &staticMetaObject, 8, nullptr);
|
||||
}
|
||||
|
||||
// SIGNAL 9
|
||||
void AppUpdateWid::allappupdatefinishsignal()
|
||||
{
|
||||
QMetaObject::activate(this, &staticMetaObject, 9, nullptr);
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
Binary file not shown.
|
@ -1,219 +0,0 @@
|
|||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'backup.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.12.8)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include "src/backup.h"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'backup.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.12.8. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_BackUp_t {
|
||||
QByteArrayData data[12];
|
||||
char stringdata0[146];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_BackUp_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_BackUp_t qt_meta_stringdata_BackUp = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 6), // "BackUp"
|
||||
QT_MOC_LITERAL(1, 7, 18), // "backupStartRestult"
|
||||
QT_MOC_LITERAL(2, 26, 0), // ""
|
||||
QT_MOC_LITERAL(3, 27, 11), // "calCapacity"
|
||||
QT_MOC_LITERAL(4, 39, 12), // "bakeupFinish"
|
||||
QT_MOC_LITERAL(5, 52, 14), // "backupProgress"
|
||||
QT_MOC_LITERAL(6, 67, 10), // "needBacdUp"
|
||||
QT_MOC_LITERAL(7, 78, 11), // "startBackUp"
|
||||
QT_MOC_LITERAL(8, 90, 14), // "creatInterface"
|
||||
QT_MOC_LITERAL(9, 105, 8), // "sendRate"
|
||||
QT_MOC_LITERAL(10, 114, 24), // "receiveStartBackupResult"
|
||||
QT_MOC_LITERAL(11, 139, 6) // "result"
|
||||
|
||||
},
|
||||
"BackUp\0backupStartRestult\0\0calCapacity\0"
|
||||
"bakeupFinish\0backupProgress\0needBacdUp\0"
|
||||
"startBackUp\0creatInterface\0sendRate\0"
|
||||
"receiveStartBackupResult\0result"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_BackUp[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
9, 14, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
4, // signalCount
|
||||
|
||||
// signals: name, argc, parameters, tag, flags
|
||||
1, 1, 59, 2, 0x06 /* Public */,
|
||||
3, 0, 62, 2, 0x06 /* Public */,
|
||||
4, 1, 63, 2, 0x06 /* Public */,
|
||||
5, 1, 66, 2, 0x06 /* Public */,
|
||||
|
||||
// slots: name, argc, parameters, tag, flags
|
||||
6, 0, 69, 2, 0x0a /* Public */,
|
||||
7, 1, 70, 2, 0x0a /* Public */,
|
||||
8, 0, 73, 2, 0x0a /* Public */,
|
||||
9, 2, 74, 2, 0x08 /* Private */,
|
||||
10, 1, 79, 2, 0x08 /* Private */,
|
||||
|
||||
// signals: parameters
|
||||
QMetaType::Void, QMetaType::Int, 2,
|
||||
QMetaType::Bool,
|
||||
QMetaType::Void, QMetaType::Int, 2,
|
||||
QMetaType::Void, QMetaType::Int, 2,
|
||||
|
||||
// slots: parameters
|
||||
QMetaType::Int,
|
||||
QMetaType::Void, QMetaType::Int, 2,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void, QMetaType::Int, QMetaType::Int, 2, 2,
|
||||
QMetaType::Void, QMetaType::Int, 11,
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void BackUp::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
auto *_t = static_cast<BackUp *>(_o);
|
||||
Q_UNUSED(_t)
|
||||
switch (_id) {
|
||||
case 0: _t->backupStartRestult((*reinterpret_cast< int(*)>(_a[1]))); break;
|
||||
case 1: { bool _r = _t->calCapacity();
|
||||
if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = std::move(_r); } break;
|
||||
case 2: _t->bakeupFinish((*reinterpret_cast< int(*)>(_a[1]))); break;
|
||||
case 3: _t->backupProgress((*reinterpret_cast< int(*)>(_a[1]))); break;
|
||||
case 4: { int _r = _t->needBacdUp();
|
||||
if (_a[0]) *reinterpret_cast< int*>(_a[0]) = std::move(_r); } break;
|
||||
case 5: _t->startBackUp((*reinterpret_cast< int(*)>(_a[1]))); break;
|
||||
case 6: _t->creatInterface(); break;
|
||||
case 7: _t->sendRate((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break;
|
||||
case 8: _t->receiveStartBackupResult((*reinterpret_cast< int(*)>(_a[1]))); break;
|
||||
default: ;
|
||||
}
|
||||
} else if (_c == QMetaObject::IndexOfMethod) {
|
||||
int *result = reinterpret_cast<int *>(_a[0]);
|
||||
{
|
||||
using _t = void (BackUp::*)(int );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&BackUp::backupStartRestult)) {
|
||||
*result = 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = bool (BackUp::*)();
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&BackUp::calCapacity)) {
|
||||
*result = 1;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (BackUp::*)(int );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&BackUp::bakeupFinish)) {
|
||||
*result = 2;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (BackUp::*)(int );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&BackUp::backupProgress)) {
|
||||
*result = 3;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject BackUp::staticMetaObject = { {
|
||||
&QObject::staticMetaObject,
|
||||
qt_meta_stringdata_BackUp.data,
|
||||
qt_meta_data_BackUp,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *BackUp::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *BackUp::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_BackUp.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QObject::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int BackUp::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QObject::qt_metacall(_c, _id, _a);
|
||||
if (_id < 0)
|
||||
return _id;
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
if (_id < 9)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 9;
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
if (_id < 9)
|
||||
*reinterpret_cast<int*>(_a[0]) = -1;
|
||||
_id -= 9;
|
||||
}
|
||||
return _id;
|
||||
}
|
||||
|
||||
// SIGNAL 0
|
||||
void BackUp::backupStartRestult(int _t1)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 0, _a);
|
||||
}
|
||||
|
||||
// SIGNAL 1
|
||||
bool BackUp::calCapacity()
|
||||
{
|
||||
bool _t0{};
|
||||
void *_a[] = { const_cast<void*>(reinterpret_cast<const void*>(&_t0)) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 1, _a);
|
||||
return _t0;
|
||||
}
|
||||
|
||||
// SIGNAL 2
|
||||
void BackUp::bakeupFinish(int _t1)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 2, _a);
|
||||
}
|
||||
|
||||
// SIGNAL 3
|
||||
void BackUp::backupProgress(int _t1)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 3, _a);
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
Binary file not shown.
|
@ -1,94 +0,0 @@
|
|||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'checkbutton.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.12.8)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include "src/checkbutton.h"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'checkbutton.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.12.8. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_m_button_t {
|
||||
QByteArrayData data[1];
|
||||
char stringdata0[9];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_m_button_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_m_button_t qt_meta_stringdata_m_button = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 8) // "m_button"
|
||||
|
||||
},
|
||||
"m_button"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_m_button[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
0, 0, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
0, // signalCount
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void m_button::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
Q_UNUSED(_o);
|
||||
Q_UNUSED(_id);
|
||||
Q_UNUSED(_c);
|
||||
Q_UNUSED(_a);
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject m_button::staticMetaObject = { {
|
||||
&QPushButton::staticMetaObject,
|
||||
qt_meta_stringdata_m_button.data,
|
||||
qt_meta_data_m_button,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *m_button::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *m_button::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_m_button.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QPushButton::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int m_button::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QPushButton::qt_metacall(_c, _id, _a);
|
||||
return _id;
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
Binary file not shown.
|
@ -1,124 +0,0 @@
|
|||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'daemonipcdbus.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.12.8)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include "src/daemonipcdbus.h"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'daemonipcdbus.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.12.8. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_DaemonIpcDbus_t {
|
||||
QByteArrayData data[5];
|
||||
char stringdata0[52];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_DaemonIpcDbus_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_DaemonIpcDbus_t qt_meta_stringdata_DaemonIpcDbus = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 13), // "DaemonIpcDbus"
|
||||
QT_MOC_LITERAL(1, 14, 18), // "daemonIsNotRunning"
|
||||
QT_MOC_LITERAL(2, 33, 0), // ""
|
||||
QT_MOC_LITERAL(3, 34, 9), // "showGuide"
|
||||
QT_MOC_LITERAL(4, 44, 7) // "appName"
|
||||
|
||||
},
|
||||
"DaemonIpcDbus\0daemonIsNotRunning\0\0"
|
||||
"showGuide\0appName"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_DaemonIpcDbus[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
2, 14, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
0, // signalCount
|
||||
|
||||
// slots: name, argc, parameters, tag, flags
|
||||
1, 0, 24, 2, 0x0a /* Public */,
|
||||
3, 1, 25, 2, 0x0a /* Public */,
|
||||
|
||||
// slots: parameters
|
||||
QMetaType::Int,
|
||||
QMetaType::Void, QMetaType::QString, 4,
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void DaemonIpcDbus::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
auto *_t = static_cast<DaemonIpcDbus *>(_o);
|
||||
Q_UNUSED(_t)
|
||||
switch (_id) {
|
||||
case 0: { int _r = _t->daemonIsNotRunning();
|
||||
if (_a[0]) *reinterpret_cast< int*>(_a[0]) = std::move(_r); } break;
|
||||
case 1: _t->showGuide((*reinterpret_cast< QString(*)>(_a[1]))); break;
|
||||
default: ;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject DaemonIpcDbus::staticMetaObject = { {
|
||||
&QObject::staticMetaObject,
|
||||
qt_meta_stringdata_DaemonIpcDbus.data,
|
||||
qt_meta_data_DaemonIpcDbus,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *DaemonIpcDbus::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *DaemonIpcDbus::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_DaemonIpcDbus.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QObject::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int DaemonIpcDbus::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QObject::qt_metacall(_c, _id, _a);
|
||||
if (_id < 0)
|
||||
return _id;
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
if (_id < 2)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 2;
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
if (_id < 2)
|
||||
*reinterpret_cast<int*>(_a[0]) = -1;
|
||||
_id -= 2;
|
||||
}
|
||||
return _id;
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
Binary file not shown.
|
@ -1,94 +0,0 @@
|
|||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'deletepkglistwig.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.12.8)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include "src/deletepkglistwig.h"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'deletepkglistwig.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.12.8. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_DeletePkgListWig_t {
|
||||
QByteArrayData data[1];
|
||||
char stringdata0[17];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_DeletePkgListWig_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_DeletePkgListWig_t qt_meta_stringdata_DeletePkgListWig = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 16) // "DeletePkgListWig"
|
||||
|
||||
},
|
||||
"DeletePkgListWig"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_DeletePkgListWig[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
0, 0, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
0, // signalCount
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void DeletePkgListWig::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
Q_UNUSED(_o);
|
||||
Q_UNUSED(_id);
|
||||
Q_UNUSED(_c);
|
||||
Q_UNUSED(_a);
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject DeletePkgListWig::staticMetaObject = { {
|
||||
&QFrame::staticMetaObject,
|
||||
qt_meta_stringdata_DeletePkgListWig.data,
|
||||
qt_meta_data_DeletePkgListWig,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *DeletePkgListWig::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *DeletePkgListWig::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_DeletePkgListWig.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QFrame::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int DeletePkgListWig::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QFrame::qt_metacall(_c, _id, _a);
|
||||
return _id;
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
Binary file not shown.
|
@ -1,94 +0,0 @@
|
|||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'historyupdatelistwig.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.12.8)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include "src/historyupdatelistwig.h"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'historyupdatelistwig.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.12.8. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_HistoryUpdateListWig_t {
|
||||
QByteArrayData data[1];
|
||||
char stringdata0[21];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_HistoryUpdateListWig_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_HistoryUpdateListWig_t qt_meta_stringdata_HistoryUpdateListWig = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 20) // "HistoryUpdateListWig"
|
||||
|
||||
},
|
||||
"HistoryUpdateListWig"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_HistoryUpdateListWig[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
0, 0, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
0, // signalCount
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void HistoryUpdateListWig::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
Q_UNUSED(_o);
|
||||
Q_UNUSED(_id);
|
||||
Q_UNUSED(_c);
|
||||
Q_UNUSED(_a);
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject HistoryUpdateListWig::staticMetaObject = { {
|
||||
&QFrame::staticMetaObject,
|
||||
qt_meta_stringdata_HistoryUpdateListWig.data,
|
||||
qt_meta_data_HistoryUpdateListWig,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *HistoryUpdateListWig::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *HistoryUpdateListWig::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_HistoryUpdateListWig.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QFrame::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int HistoryUpdateListWig::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QFrame::qt_metacall(_c, _id, _a);
|
||||
return _id;
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
Binary file not shown.
|
@ -1,181 +0,0 @@
|
|||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'm_updatelog.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.12.8)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include "src/m_updatelog.h"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'm_updatelog.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.12.8. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_m_updatelog_t {
|
||||
QByteArrayData data[21];
|
||||
char stringdata0[225];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_m_updatelog_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_m_updatelog_t qt_meta_stringdata_m_updatelog = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 11), // "m_updatelog"
|
||||
QT_MOC_LITERAL(1, 12, 16), // "historyUpdateNow"
|
||||
QT_MOC_LITERAL(2, 29, 0), // ""
|
||||
QT_MOC_LITERAL(3, 30, 4), // "str1"
|
||||
QT_MOC_LITERAL(4, 35, 4), // "str2"
|
||||
QT_MOC_LITERAL(5, 40, 9), // "slotClose"
|
||||
QT_MOC_LITERAL(6, 50, 6), // "initUI"
|
||||
QT_MOC_LITERAL(7, 57, 13), // "initGsettings"
|
||||
QT_MOC_LITERAL(8, 71, 18), // "dynamicLoadingInit"
|
||||
QT_MOC_LITERAL(9, 90, 14), // "dynamicLoading"
|
||||
QT_MOC_LITERAL(10, 105, 1), // "i"
|
||||
QT_MOC_LITERAL(11, 107, 9), // "updatesql"
|
||||
QT_MOC_LITERAL(12, 117, 5), // "start"
|
||||
QT_MOC_LITERAL(13, 123, 3), // "num"
|
||||
QT_MOC_LITERAL(14, 127, 5), // "intop"
|
||||
QT_MOC_LITERAL(15, 133, 11), // "defaultItem"
|
||||
QT_MOC_LITERAL(16, 145, 25), // "translationVirtualPackage"
|
||||
QT_MOC_LITERAL(17, 171, 3), // "str"
|
||||
QT_MOC_LITERAL(18, 175, 26), // "changeListWidgetItemHeight"
|
||||
QT_MOC_LITERAL(19, 202, 10), // "slotSearch"
|
||||
QT_MOC_LITERAL(20, 213, 11) // "packageName"
|
||||
|
||||
},
|
||||
"m_updatelog\0historyUpdateNow\0\0str1\0"
|
||||
"str2\0slotClose\0initUI\0initGsettings\0"
|
||||
"dynamicLoadingInit\0dynamicLoading\0i\0"
|
||||
"updatesql\0start\0num\0intop\0defaultItem\0"
|
||||
"translationVirtualPackage\0str\0"
|
||||
"changeListWidgetItemHeight\0slotSearch\0"
|
||||
"packageName"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_m_updatelog[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
14, 14, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
0, // signalCount
|
||||
|
||||
// slots: name, argc, parameters, tag, flags
|
||||
1, 2, 84, 2, 0x0a /* Public */,
|
||||
5, 0, 89, 2, 0x0a /* Public */,
|
||||
6, 0, 90, 2, 0x08 /* Private */,
|
||||
7, 0, 91, 2, 0x08 /* Private */,
|
||||
8, 0, 92, 2, 0x08 /* Private */,
|
||||
9, 1, 93, 2, 0x08 /* Private */,
|
||||
11, 3, 96, 2, 0x08 /* Private */,
|
||||
11, 2, 103, 2, 0x28 /* Private | MethodCloned */,
|
||||
11, 1, 108, 2, 0x28 /* Private | MethodCloned */,
|
||||
11, 0, 111, 2, 0x28 /* Private | MethodCloned */,
|
||||
15, 0, 112, 2, 0x08 /* Private */,
|
||||
16, 1, 113, 2, 0x08 /* Private */,
|
||||
18, 0, 116, 2, 0x08 /* Private */,
|
||||
19, 1, 117, 2, 0x08 /* Private */,
|
||||
|
||||
// slots: parameters
|
||||
QMetaType::Void, QMetaType::QString, QMetaType::QString, 3, 4,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void, QMetaType::Int, 10,
|
||||
QMetaType::Void, QMetaType::Int, QMetaType::Int, QMetaType::QString, 12, 13, 14,
|
||||
QMetaType::Void, QMetaType::Int, QMetaType::Int, 12, 13,
|
||||
QMetaType::Void, QMetaType::Int, 12,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::QString, QMetaType::QString, 17,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void, QMetaType::QString, 20,
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void m_updatelog::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
auto *_t = static_cast<m_updatelog *>(_o);
|
||||
Q_UNUSED(_t)
|
||||
switch (_id) {
|
||||
case 0: _t->historyUpdateNow((*reinterpret_cast< QString(*)>(_a[1])),(*reinterpret_cast< QString(*)>(_a[2]))); break;
|
||||
case 1: _t->slotClose(); break;
|
||||
case 2: _t->initUI(); break;
|
||||
case 3: _t->initGsettings(); break;
|
||||
case 4: _t->dynamicLoadingInit(); break;
|
||||
case 5: _t->dynamicLoading((*reinterpret_cast< int(*)>(_a[1]))); break;
|
||||
case 6: _t->updatesql((*reinterpret_cast< const int(*)>(_a[1])),(*reinterpret_cast< const int(*)>(_a[2])),(*reinterpret_cast< const QString(*)>(_a[3]))); break;
|
||||
case 7: _t->updatesql((*reinterpret_cast< const int(*)>(_a[1])),(*reinterpret_cast< const int(*)>(_a[2]))); break;
|
||||
case 8: _t->updatesql((*reinterpret_cast< const int(*)>(_a[1]))); break;
|
||||
case 9: _t->updatesql(); break;
|
||||
case 10: _t->defaultItem(); break;
|
||||
case 11: { QString _r = _t->translationVirtualPackage((*reinterpret_cast< QString(*)>(_a[1])));
|
||||
if (_a[0]) *reinterpret_cast< QString*>(_a[0]) = std::move(_r); } break;
|
||||
case 12: _t->changeListWidgetItemHeight(); break;
|
||||
case 13: _t->slotSearch((*reinterpret_cast< QString(*)>(_a[1]))); break;
|
||||
default: ;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject m_updatelog::staticMetaObject = { {
|
||||
&QDialog::staticMetaObject,
|
||||
qt_meta_stringdata_m_updatelog.data,
|
||||
qt_meta_data_m_updatelog,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *m_updatelog::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *m_updatelog::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_m_updatelog.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QDialog::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int m_updatelog::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QDialog::qt_metacall(_c, _id, _a);
|
||||
if (_id < 0)
|
||||
return _id;
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
if (_id < 14)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 14;
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
if (_id < 14)
|
||||
*reinterpret_cast<int*>(_a[0]) = -1;
|
||||
_id -= 14;
|
||||
}
|
||||
return _id;
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
Binary file not shown.
|
@ -1,94 +0,0 @@
|
|||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'mylabel.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.12.8)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include "src/mylabel.h"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'mylabel.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.12.8. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_MyLabel_t {
|
||||
QByteArrayData data[1];
|
||||
char stringdata0[8];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_MyLabel_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_MyLabel_t qt_meta_stringdata_MyLabel = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 7) // "MyLabel"
|
||||
|
||||
},
|
||||
"MyLabel"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_MyLabel[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
0, 0, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
0, // signalCount
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void MyLabel::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
Q_UNUSED(_o);
|
||||
Q_UNUSED(_id);
|
||||
Q_UNUSED(_c);
|
||||
Q_UNUSED(_a);
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject MyLabel::staticMetaObject = { {
|
||||
&QLabel::staticMetaObject,
|
||||
qt_meta_stringdata_MyLabel.data,
|
||||
qt_meta_data_MyLabel,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *MyLabel::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *MyLabel::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_MyLabel.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QLabel::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int MyLabel::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QLabel::qt_metacall(_c, _id, _a);
|
||||
return _id;
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
Binary file not shown.
|
@ -1,94 +0,0 @@
|
|||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'picturetowhite.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.12.8)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include "src/picturetowhite.h"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'picturetowhite.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.12.8. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_PictureToWhite_t {
|
||||
QByteArrayData data[1];
|
||||
char stringdata0[15];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_PictureToWhite_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_PictureToWhite_t qt_meta_stringdata_PictureToWhite = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 14) // "PictureToWhite"
|
||||
|
||||
},
|
||||
"PictureToWhite"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_PictureToWhite[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
0, 0, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
0, // signalCount
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void PictureToWhite::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
Q_UNUSED(_o);
|
||||
Q_UNUSED(_id);
|
||||
Q_UNUSED(_c);
|
||||
Q_UNUSED(_a);
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject PictureToWhite::staticMetaObject = { {
|
||||
&QObject::staticMetaObject,
|
||||
qt_meta_stringdata_PictureToWhite.data,
|
||||
qt_meta_data_PictureToWhite,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *PictureToWhite::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *PictureToWhite::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_PictureToWhite.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QObject::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int PictureToWhite::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QObject::qt_metacall(_c, _id, _a);
|
||||
return _id;
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
Binary file not shown.
|
@ -1,383 +0,0 @@
|
|||
#define __SSP_STRONG__ 3
|
||||
#define __DBL_MIN_EXP__ (-1021)
|
||||
#define __FLT32X_MAX_EXP__ 1024
|
||||
#define __cpp_attributes 200809
|
||||
#define __UINT_LEAST16_MAX__ 0xffff
|
||||
#define __ATOMIC_ACQUIRE 2
|
||||
#define __FLT128_MAX_10_EXP__ 4932
|
||||
#define __FLT_MIN__ 1.17549435082228750796873653722224568e-38F
|
||||
#define __GCC_IEC_559_COMPLEX 2
|
||||
#define __UINT_LEAST8_TYPE__ unsigned char
|
||||
#define __SIZEOF_FLOAT80__ 16
|
||||
#define __INTMAX_C(c) c ## L
|
||||
#define __CHAR_BIT__ 8
|
||||
#define __UINT8_MAX__ 0xff
|
||||
#define __WINT_MAX__ 0xffffffffU
|
||||
#define __FLT32_MIN_EXP__ (-125)
|
||||
#define __cpp_static_assert 200410
|
||||
#define __ORDER_LITTLE_ENDIAN__ 1234
|
||||
#define __SIZE_MAX__ 0xffffffffffffffffUL
|
||||
#define __WCHAR_MAX__ 0x7fffffff
|
||||
#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1
|
||||
#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1
|
||||
#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1
|
||||
#define __DBL_DENORM_MIN__ double(4.94065645841246544176568792868221372e-324L)
|
||||
#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1
|
||||
#define __GCC_ATOMIC_CHAR_LOCK_FREE 2
|
||||
#define __GCC_IEC_559 2
|
||||
#define __FLT32X_DECIMAL_DIG__ 17
|
||||
#define __FLT_EVAL_METHOD__ 0
|
||||
#define __unix__ 1
|
||||
#define __cpp_binary_literals 201304
|
||||
#define __FLT64_DECIMAL_DIG__ 17
|
||||
#define __CET__ 3
|
||||
#define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2
|
||||
#define __x86_64 1
|
||||
#define __cpp_variadic_templates 200704
|
||||
#define __UINT_FAST64_MAX__ 0xffffffffffffffffUL
|
||||
#define __SIG_ATOMIC_TYPE__ int
|
||||
#define __DBL_MIN_10_EXP__ (-307)
|
||||
#define __FINITE_MATH_ONLY__ 0
|
||||
#define __GNUC_PATCHLEVEL__ 0
|
||||
#define __FLT32_HAS_DENORM__ 1
|
||||
#define __UINT_FAST8_MAX__ 0xff
|
||||
#define __cpp_rvalue_reference 200610
|
||||
#define __has_include(STR) __has_include__(STR)
|
||||
#define __DEC64_MAX_EXP__ 385
|
||||
#define __INT8_C(c) c
|
||||
#define __INT_LEAST8_WIDTH__ 8
|
||||
#define __UINT_LEAST64_MAX__ 0xffffffffffffffffUL
|
||||
#define __SHRT_MAX__ 0x7fff
|
||||
#define __LDBL_MAX__ 1.18973149535723176502126385303097021e+4932L
|
||||
#define __FLT64X_MAX_10_EXP__ 4932
|
||||
#define __UINT_LEAST8_MAX__ 0xff
|
||||
#define __GCC_ATOMIC_BOOL_LOCK_FREE 2
|
||||
#define __FLT128_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966F128
|
||||
#define __UINTMAX_TYPE__ long unsigned int
|
||||
#define __linux 1
|
||||
#define __DEC32_EPSILON__ 1E-6DF
|
||||
#define __FLT_EVAL_METHOD_TS_18661_3__ 0
|
||||
#define __OPTIMIZE__ 1
|
||||
#define __unix 1
|
||||
#define __UINT32_MAX__ 0xffffffffU
|
||||
#define __GXX_EXPERIMENTAL_CXX0X__ 1
|
||||
#define __LDBL_MAX_EXP__ 16384
|
||||
#define __FLT128_MIN_EXP__ (-16381)
|
||||
#define __WINT_MIN__ 0U
|
||||
#define __linux__ 1
|
||||
#define __FLT128_MIN_10_EXP__ (-4931)
|
||||
#define __INT_LEAST16_WIDTH__ 16
|
||||
#define __SCHAR_MAX__ 0x7f
|
||||
#define __FLT128_MANT_DIG__ 113
|
||||
#define __WCHAR_MIN__ (-__WCHAR_MAX__ - 1)
|
||||
#define __INT64_C(c) c ## L
|
||||
#define __DBL_DIG__ 15
|
||||
#define __GCC_ATOMIC_POINTER_LOCK_FREE 2
|
||||
#define __FLT64X_MANT_DIG__ 64
|
||||
#define _FORTIFY_SOURCE 2
|
||||
#define __SIZEOF_INT__ 4
|
||||
#define __SIZEOF_POINTER__ 8
|
||||
#define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2
|
||||
#define __USER_LABEL_PREFIX__
|
||||
#define __FLT64X_EPSILON__ 1.08420217248550443400745280086994171e-19F64x
|
||||
#define __STDC_HOSTED__ 1
|
||||
#define __LDBL_HAS_INFINITY__ 1
|
||||
#define __FLT32_DIG__ 6
|
||||
#define __FLT_EPSILON__ 1.19209289550781250000000000000000000e-7F
|
||||
#define __GXX_WEAK__ 1
|
||||
#define __SHRT_WIDTH__ 16
|
||||
#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
|
||||
#define __DEC32_MAX__ 9.999999E96DF
|
||||
#define __cpp_threadsafe_static_init 200806
|
||||
#define __FLT64X_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951F64x
|
||||
#define __FLT32X_HAS_INFINITY__ 1
|
||||
#define __INT32_MAX__ 0x7fffffff
|
||||
#define __INT_WIDTH__ 32
|
||||
#define __SIZEOF_LONG__ 8
|
||||
#define __STDC_IEC_559__ 1
|
||||
#define __STDC_ISO_10646__ 201706L
|
||||
#define __UINT16_C(c) c
|
||||
#define __PTRDIFF_WIDTH__ 64
|
||||
#define __DECIMAL_DIG__ 21
|
||||
#define __FLT64_EPSILON__ 2.22044604925031308084726333618164062e-16F64
|
||||
#define __gnu_linux__ 1
|
||||
#define __INTMAX_WIDTH__ 64
|
||||
#define __FLT64_MIN_EXP__ (-1021)
|
||||
#define __has_include_next(STR) __has_include_next__(STR)
|
||||
#define __FLT64X_MIN_10_EXP__ (-4931)
|
||||
#define __LDBL_HAS_QUIET_NAN__ 1
|
||||
#define __FLT64_MANT_DIG__ 53
|
||||
#define __GNUC__ 9
|
||||
#define __GXX_RTTI 1
|
||||
#define __pie__ 2
|
||||
#define __MMX__ 1
|
||||
#define __cpp_delegating_constructors 200604
|
||||
#define __FLT_HAS_DENORM__ 1
|
||||
#define __SIZEOF_LONG_DOUBLE__ 16
|
||||
#define __BIGGEST_ALIGNMENT__ 16
|
||||
#define __STDC_UTF_16__ 1
|
||||
#define __FLT64_MAX_10_EXP__ 308
|
||||
#define __FLT32_HAS_INFINITY__ 1
|
||||
#define __DBL_MAX__ double(1.79769313486231570814527423731704357e+308L)
|
||||
#define __cpp_raw_strings 200710
|
||||
#define __INT_FAST32_MAX__ 0x7fffffffffffffffL
|
||||
#define __DBL_HAS_INFINITY__ 1
|
||||
#define __HAVE_SPECULATION_SAFE_VALUE 1
|
||||
#define __DEC32_MIN_EXP__ (-94)
|
||||
#define __INTPTR_WIDTH__ 64
|
||||
#define __FLT32X_HAS_DENORM__ 1
|
||||
#define __INT_FAST16_TYPE__ long int
|
||||
#define __LDBL_HAS_DENORM__ 1
|
||||
#define __cplusplus 201103L
|
||||
#define __cpp_ref_qualifiers 200710
|
||||
#define __DEC128_MAX__ 9.999999999999999999999999999999999E6144DL
|
||||
#define __INT_LEAST32_MAX__ 0x7fffffff
|
||||
#define __DEC32_MIN__ 1E-95DF
|
||||
#define __DEPRECATED 1
|
||||
#define __cpp_rvalue_references 200610
|
||||
#define __DBL_MAX_EXP__ 1024
|
||||
#define __WCHAR_WIDTH__ 32
|
||||
#define __FLT32_MAX__ 3.40282346638528859811704183484516925e+38F32
|
||||
#define __DEC128_EPSILON__ 1E-33DL
|
||||
#define __SSE2_MATH__ 1
|
||||
#define __ATOMIC_HLE_RELEASE 131072
|
||||
#define __PTRDIFF_MAX__ 0x7fffffffffffffffL
|
||||
#define __amd64 1
|
||||
#define __ATOMIC_HLE_ACQUIRE 65536
|
||||
#define __FLT32_HAS_QUIET_NAN__ 1
|
||||
#define __GNUG__ 9
|
||||
#define __LONG_LONG_MAX__ 0x7fffffffffffffffLL
|
||||
#define __SIZEOF_SIZE_T__ 8
|
||||
#define __cpp_nsdmi 200809
|
||||
#define __FLT64X_MIN_EXP__ (-16381)
|
||||
#define __SIZEOF_WINT_T__ 4
|
||||
#define __LONG_LONG_WIDTH__ 64
|
||||
#define __cpp_initializer_lists 200806
|
||||
#define __FLT32_MAX_EXP__ 128
|
||||
#define __cpp_hex_float 201603
|
||||
#define __GCC_HAVE_DWARF2_CFI_ASM 1
|
||||
#define __GXX_ABI_VERSION 1013
|
||||
#define __FLT128_HAS_INFINITY__ 1
|
||||
#define __FLT_MIN_EXP__ (-125)
|
||||
#define __cpp_lambdas 200907
|
||||
#define __FLT64X_HAS_QUIET_NAN__ 1
|
||||
#define __INT_FAST64_TYPE__ long int
|
||||
#define __FLT64_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F64
|
||||
#define __DBL_MIN__ double(2.22507385850720138309023271733240406e-308L)
|
||||
#define __PIE__ 2
|
||||
#define __LP64__ 1
|
||||
#define __FLT32X_EPSILON__ 2.22044604925031308084726333618164062e-16F32x
|
||||
#define __DECIMAL_BID_FORMAT__ 1
|
||||
#define __FLT64_MIN_10_EXP__ (-307)
|
||||
#define __FLT64X_DECIMAL_DIG__ 21
|
||||
#define __DEC128_MIN__ 1E-6143DL
|
||||
#define __REGISTER_PREFIX__
|
||||
#define __UINT16_MAX__ 0xffff
|
||||
#define __FLT32_MIN__ 1.17549435082228750796873653722224568e-38F32
|
||||
#define __UINT8_TYPE__ unsigned char
|
||||
#define __FLT_MANT_DIG__ 24
|
||||
#define __LDBL_DECIMAL_DIG__ 21
|
||||
#define __VERSION__ "9.3.0"
|
||||
#define __UINT64_C(c) c ## UL
|
||||
#define __cpp_unicode_characters 200704
|
||||
#define _STDC_PREDEF_H 1
|
||||
#define __GCC_ATOMIC_INT_LOCK_FREE 2
|
||||
#define __FLT128_MAX_EXP__ 16384
|
||||
#define __FLT32_MANT_DIG__ 24
|
||||
#define __FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__
|
||||
#define __STDC_IEC_559_COMPLEX__ 1
|
||||
#define __FLT128_HAS_DENORM__ 1
|
||||
#define __FLT128_DIG__ 33
|
||||
#define __SCHAR_WIDTH__ 8
|
||||
#define __INT32_C(c) c
|
||||
#define __DEC64_EPSILON__ 1E-15DD
|
||||
#define __ORDER_PDP_ENDIAN__ 3412
|
||||
#define __DEC128_MIN_EXP__ (-6142)
|
||||
#define __FLT32_MAX_10_EXP__ 38
|
||||
#define __INT_FAST32_TYPE__ long int
|
||||
#define __UINT_LEAST16_TYPE__ short unsigned int
|
||||
#define __FLT64X_HAS_INFINITY__ 1
|
||||
#define unix 1
|
||||
#define __DBL_HAS_DENORM__ 1
|
||||
#define __INT16_MAX__ 0x7fff
|
||||
#define __cpp_rtti 199711
|
||||
#define __SIZE_TYPE__ long unsigned int
|
||||
#define __UINT64_MAX__ 0xffffffffffffffffUL
|
||||
#define __FLT64X_DIG__ 18
|
||||
#define __INT8_TYPE__ signed char
|
||||
#define __ELF__ 1
|
||||
#define __GCC_ASM_FLAG_OUTPUTS__ 1
|
||||
#define __FLT_RADIX__ 2
|
||||
#define __INT_LEAST16_TYPE__ short int
|
||||
#define __LDBL_EPSILON__ 1.08420217248550443400745280086994171e-19L
|
||||
#define __UINTMAX_C(c) c ## UL
|
||||
#define __GLIBCXX_BITSIZE_INT_N_0 128
|
||||
#define __k8 1
|
||||
#define __SIG_ATOMIC_MAX__ 0x7fffffff
|
||||
#define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2
|
||||
#define __SIZEOF_PTRDIFF_T__ 8
|
||||
#define __FLT32X_MANT_DIG__ 53
|
||||
#define __x86_64__ 1
|
||||
#define __FLT32X_MIN_EXP__ (-1021)
|
||||
#define __DEC32_SUBNORMAL_MIN__ 0.000001E-95DF
|
||||
#define __INT_FAST16_MAX__ 0x7fffffffffffffffL
|
||||
#define __FLT64_DIG__ 15
|
||||
#define __UINT_FAST32_MAX__ 0xffffffffffffffffUL
|
||||
#define __UINT_LEAST64_TYPE__ long unsigned int
|
||||
#define __FLT_HAS_QUIET_NAN__ 1
|
||||
#define __FLT_MAX_10_EXP__ 38
|
||||
#define __LONG_MAX__ 0x7fffffffffffffffL
|
||||
#define __FLT64X_HAS_DENORM__ 1
|
||||
#define __DEC128_SUBNORMAL_MIN__ 0.000000000000000000000000000000001E-6143DL
|
||||
#define __FLT_HAS_INFINITY__ 1
|
||||
#define __cpp_unicode_literals 200710
|
||||
#define __UINT_FAST16_TYPE__ long unsigned int
|
||||
#define __DEC64_MAX__ 9.999999999999999E384DD
|
||||
#define __INT_FAST32_WIDTH__ 64
|
||||
#define __CHAR16_TYPE__ short unsigned int
|
||||
#define __PRAGMA_REDEFINE_EXTNAME 1
|
||||
#define __SIZE_WIDTH__ 64
|
||||
#define __SEG_FS 1
|
||||
#define __INT_LEAST16_MAX__ 0x7fff
|
||||
#define __DEC64_MANT_DIG__ 16
|
||||
#define __INT64_MAX__ 0x7fffffffffffffffL
|
||||
#define __UINT_LEAST32_MAX__ 0xffffffffU
|
||||
#define __SEG_GS 1
|
||||
#define __FLT32_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F32
|
||||
#define __GCC_ATOMIC_LONG_LOCK_FREE 2
|
||||
#define __SIG_ATOMIC_WIDTH__ 32
|
||||
#define __INT_LEAST64_TYPE__ long int
|
||||
#define __INT16_TYPE__ short int
|
||||
#define __INT_LEAST8_TYPE__ signed char
|
||||
#define __DEC32_MAX_EXP__ 97
|
||||
#define __INT_FAST8_MAX__ 0x7f
|
||||
#define __FLT128_MAX__ 1.18973149535723176508575932662800702e+4932F128
|
||||
#define __INTPTR_MAX__ 0x7fffffffffffffffL
|
||||
#define linux 1
|
||||
#define __cpp_range_based_for 200907
|
||||
#define __FLT64_HAS_QUIET_NAN__ 1
|
||||
#define __FLT32_MIN_10_EXP__ (-37)
|
||||
#define __SSE2__ 1
|
||||
#define __EXCEPTIONS 1
|
||||
#define __LDBL_MANT_DIG__ 64
|
||||
#define __DBL_HAS_QUIET_NAN__ 1
|
||||
#define __FLT64_HAS_INFINITY__ 1
|
||||
#define __FLT64X_MAX__ 1.18973149535723176502126385303097021e+4932F64x
|
||||
#define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1)
|
||||
#define __code_model_small__ 1
|
||||
#define __k8__ 1
|
||||
#define __INTPTR_TYPE__ long int
|
||||
#define __UINT16_TYPE__ short unsigned int
|
||||
#define __WCHAR_TYPE__ int
|
||||
#define __SIZEOF_FLOAT__ 4
|
||||
#define __pic__ 2
|
||||
#define __UINTPTR_MAX__ 0xffffffffffffffffUL
|
||||
#define __INT_FAST64_WIDTH__ 64
|
||||
#define __DEC64_MIN_EXP__ (-382)
|
||||
#define __cpp_decltype 200707
|
||||
#define __FLT32_DECIMAL_DIG__ 9
|
||||
#define __INT_FAST64_MAX__ 0x7fffffffffffffffL
|
||||
#define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1
|
||||
#define __FLT_DIG__ 6
|
||||
#define __FLT64X_MAX_EXP__ 16384
|
||||
#define __UINT_FAST64_TYPE__ long unsigned int
|
||||
#define __INT_MAX__ 0x7fffffff
|
||||
#define __amd64__ 1
|
||||
#define __INT64_TYPE__ long int
|
||||
#define __FLT_MAX_EXP__ 128
|
||||
#define __ORDER_BIG_ENDIAN__ 4321
|
||||
#define __DBL_MANT_DIG__ 53
|
||||
#define __cpp_inheriting_constructors 201511
|
||||
#define __SIZEOF_FLOAT128__ 16
|
||||
#define __INT_LEAST64_MAX__ 0x7fffffffffffffffL
|
||||
#define __DEC64_MIN__ 1E-383DD
|
||||
#define __WINT_TYPE__ unsigned int
|
||||
#define __UINT_LEAST32_TYPE__ unsigned int
|
||||
#define __SIZEOF_SHORT__ 2
|
||||
#define __SSE__ 1
|
||||
#define __LDBL_MIN_EXP__ (-16381)
|
||||
#define __FLT64_MAX__ 1.79769313486231570814527423731704357e+308F64
|
||||
#define __WINT_WIDTH__ 32
|
||||
#define __INT_LEAST8_MAX__ 0x7f
|
||||
#define __FLT32X_MAX_10_EXP__ 308
|
||||
#define __SIZEOF_INT128__ 16
|
||||
#define __LDBL_MAX_10_EXP__ 4932
|
||||
#define __ATOMIC_RELAXED 0
|
||||
#define __DBL_EPSILON__ double(2.22044604925031308084726333618164062e-16L)
|
||||
#define __FLT128_MIN__ 3.36210314311209350626267781732175260e-4932F128
|
||||
#define _LP64 1
|
||||
#define __UINT8_C(c) c
|
||||
#define __FLT64_MAX_EXP__ 1024
|
||||
#define __INT_LEAST32_TYPE__ int
|
||||
#define __SIZEOF_WCHAR_T__ 4
|
||||
#define __FLT128_HAS_QUIET_NAN__ 1
|
||||
#define __INT_FAST8_TYPE__ signed char
|
||||
#define __FLT64X_MIN__ 3.36210314311209350626267781732175260e-4932F64x
|
||||
#define __GNUC_STDC_INLINE__ 1
|
||||
#define __FLT64_HAS_DENORM__ 1
|
||||
#define __FLT32_EPSILON__ 1.19209289550781250000000000000000000e-7F32
|
||||
#define __DBL_DECIMAL_DIG__ 17
|
||||
#define __STDC_UTF_32__ 1
|
||||
#define __INT_FAST8_WIDTH__ 8
|
||||
#define __FXSR__ 1
|
||||
#define __DEC_EVAL_METHOD__ 2
|
||||
#define __FLT32X_MAX__ 1.79769313486231570814527423731704357e+308F32x
|
||||
#define __cpp_runtime_arrays 198712
|
||||
#define __UINT64_TYPE__ long unsigned int
|
||||
#define __UINT32_C(c) c ## U
|
||||
#define __INTMAX_MAX__ 0x7fffffffffffffffL
|
||||
#define __cpp_alias_templates 200704
|
||||
#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
|
||||
#define __FLT_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F
|
||||
#define __INT8_MAX__ 0x7f
|
||||
#define __LONG_WIDTH__ 64
|
||||
#define __PIC__ 2
|
||||
#define __UINT_FAST32_TYPE__ long unsigned int
|
||||
#define __CHAR32_TYPE__ unsigned int
|
||||
#define __FLT_MAX__ 3.40282346638528859811704183484516925e+38F
|
||||
#define __cpp_constexpr 200704
|
||||
#define __INT32_TYPE__ int
|
||||
#define __SIZEOF_DOUBLE__ 8
|
||||
#define __cpp_exceptions 199711
|
||||
#define __FLT_MIN_10_EXP__ (-37)
|
||||
#define __FLT64_MIN__ 2.22507385850720138309023271733240406e-308F64
|
||||
#define __INT_LEAST32_WIDTH__ 32
|
||||
#define __INTMAX_TYPE__ long int
|
||||
#define __DEC128_MAX_EXP__ 6145
|
||||
#define __FLT32X_HAS_QUIET_NAN__ 1
|
||||
#define __ATOMIC_CONSUME 1
|
||||
#define __GNUC_MINOR__ 3
|
||||
#define __GLIBCXX_TYPE_INT_N_0 __int128
|
||||
#define __INT_FAST16_WIDTH__ 64
|
||||
#define __UINTMAX_MAX__ 0xffffffffffffffffUL
|
||||
#define __DEC32_MANT_DIG__ 7
|
||||
#define __FLT32X_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F32x
|
||||
#define __DBL_MAX_10_EXP__ 308
|
||||
#define __LDBL_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951L
|
||||
#define __INT16_C(c) c
|
||||
#define __STDC__ 1
|
||||
#define __FLT32X_DIG__ 15
|
||||
#define __PTRDIFF_TYPE__ long int
|
||||
#define __ATOMIC_SEQ_CST 5
|
||||
#define __UINT32_TYPE__ unsigned int
|
||||
#define __FLT32X_MIN_10_EXP__ (-307)
|
||||
#define __UINTPTR_TYPE__ long unsigned int
|
||||
#define __DEC64_SUBNORMAL_MIN__ 0.000000000000001E-383DD
|
||||
#define __DEC128_MANT_DIG__ 34
|
||||
#define __LDBL_MIN_10_EXP__ (-4931)
|
||||
#define __FLT128_EPSILON__ 1.92592994438723585305597794258492732e-34F128
|
||||
#define __SSE_MATH__ 1
|
||||
#define __SIZEOF_LONG_LONG__ 8
|
||||
#define __cpp_user_defined_literals 200809
|
||||
#define __FLT128_DECIMAL_DIG__ 36
|
||||
#define __GCC_ATOMIC_LLONG_LOCK_FREE 2
|
||||
#define __FLT32X_MIN__ 2.22507385850720138309023271733240406e-308F32x
|
||||
#define __LDBL_DIG__ 18
|
||||
#define __FLT_DECIMAL_DIG__ 9
|
||||
#define __UINT_FAST16_MAX__ 0xffffffffffffffffUL
|
||||
#define __GCC_ATOMIC_SHORT_LOCK_FREE 2
|
||||
#define __INT_LEAST64_WIDTH__ 64
|
||||
#define __UINT_FAST8_TYPE__ unsigned char
|
||||
#define _GNU_SOURCE 1
|
||||
#define __ATOMIC_ACQ_REL 4
|
||||
#define __ATOMIC_RELEASE 3
|
|
@ -1,361 +0,0 @@
|
|||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'tabwidget.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.12.8)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include "src/tabwidget.h"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'tabwidget.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.12.8. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_TabWid_t {
|
||||
QByteArrayData data[60];
|
||||
char stringdata0[886];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_TabWid_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_TabWid_t qt_meta_stringdata_TabWid = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 6), // "TabWid"
|
||||
QT_MOC_LITERAL(1, 7, 15), // "updateAllSignal"
|
||||
QT_MOC_LITERAL(2, 23, 0), // ""
|
||||
QT_MOC_LITERAL(3, 24, 6), // "status"
|
||||
QT_MOC_LITERAL(4, 31, 10), // "needBackUp"
|
||||
QT_MOC_LITERAL(5, 42, 11), // "startBackUp"
|
||||
QT_MOC_LITERAL(6, 54, 17), // "showHistoryWidget"
|
||||
QT_MOC_LITERAL(7, 72, 21), // "showDependSlovePtompt"
|
||||
QT_MOC_LITERAL(8, 94, 10), // "updatemode"
|
||||
QT_MOC_LITERAL(9, 105, 7), // "pkgname"
|
||||
QT_MOC_LITERAL(10, 113, 11), // "description"
|
||||
QT_MOC_LITERAL(11, 125, 12), // "deletereason"
|
||||
QT_MOC_LITERAL(12, 138, 20), // "isAutoCheckedChanged"
|
||||
QT_MOC_LITERAL(13, 159, 20), // "isAutoUpgradeChanged"
|
||||
QT_MOC_LITERAL(14, 180, 18), // "slotCancelDownload"
|
||||
QT_MOC_LITERAL(15, 199, 23), // "loadingOneUpdateMsgSlot"
|
||||
QT_MOC_LITERAL(16, 223, 9), // "AppAllMsg"
|
||||
QT_MOC_LITERAL(17, 233, 3), // "msg"
|
||||
QT_MOC_LITERAL(18, 237, 19), // "loadingFinishedSlot"
|
||||
QT_MOC_LITERAL(19, 257, 4), // "size"
|
||||
QT_MOC_LITERAL(20, 262, 20), // "waitCrucialInstalled"
|
||||
QT_MOC_LITERAL(21, 283, 17), // "hideUpdateBtnSlot"
|
||||
QT_MOC_LITERAL(22, 301, 5), // "state"
|
||||
QT_MOC_LITERAL(23, 307, 5), // "error"
|
||||
QT_MOC_LITERAL(24, 313, 6), // "reason"
|
||||
QT_MOC_LITERAL(25, 320, 22), // "oneappUpdateresultSlot"
|
||||
QT_MOC_LITERAL(26, 343, 22), // "allappupdatefinishSlot"
|
||||
QT_MOC_LITERAL(27, 366, 19), // "changeUpdateAllSlot"
|
||||
QT_MOC_LITERAL(28, 386, 8), // "isUpdate"
|
||||
QT_MOC_LITERAL(29, 395, 12), // "updatecancel"
|
||||
QT_MOC_LITERAL(30, 408, 26), // "DownloadLimitSwitchChanged"
|
||||
QT_MOC_LITERAL(31, 435, 25), // "DownloadLimitValueChanged"
|
||||
QT_MOC_LITERAL(32, 461, 14), // "getAllProgress"
|
||||
QT_MOC_LITERAL(33, 476, 7), // "pkgName"
|
||||
QT_MOC_LITERAL(34, 484, 8), // "Progress"
|
||||
QT_MOC_LITERAL(35, 493, 10), // "detailinfo"
|
||||
QT_MOC_LITERAL(36, 504, 16), // "showDownloadInfo"
|
||||
QT_MOC_LITERAL(37, 521, 19), // "DependResloveResult"
|
||||
QT_MOC_LITERAL(38, 541, 13), // "ResloveStatus"
|
||||
QT_MOC_LITERAL(39, 555, 7), // "Reslove"
|
||||
QT_MOC_LITERAL(40, 563, 13), // "deletepkglist"
|
||||
QT_MOC_LITERAL(41, 577, 16), // "DeletePkgDeslist"
|
||||
QT_MOC_LITERAL(42, 594, 19), // "DeletePkgReasonlist"
|
||||
QT_MOC_LITERAL(43, 614, 30), // "DistupgradeDependResloveResult"
|
||||
QT_MOC_LITERAL(44, 645, 18), // "slotUpdateTemplate"
|
||||
QT_MOC_LITERAL(45, 664, 15), // "slotUpdateCache"
|
||||
QT_MOC_LITERAL(46, 680, 6), // "result"
|
||||
QT_MOC_LITERAL(47, 687, 23), // "slotUpdateCacheProgress"
|
||||
QT_MOC_LITERAL(48, 711, 8), // "progress"
|
||||
QT_MOC_LITERAL(49, 720, 8), // "initDbus"
|
||||
QT_MOC_LITERAL(50, 729, 15), // "slotReconnTimes"
|
||||
QT_MOC_LITERAL(51, 745, 5), // "times"
|
||||
QT_MOC_LITERAL(52, 751, 13), // "isCancelabled"
|
||||
QT_MOC_LITERAL(53, 765, 12), // "bakeupFinish"
|
||||
QT_MOC_LITERAL(54, 778, 14), // "backupProgress"
|
||||
QT_MOC_LITERAL(55, 793, 19), // "isAutoBackupChanged"
|
||||
QT_MOC_LITERAL(56, 813, 17), // "getReplyFalseSlot"
|
||||
QT_MOC_LITERAL(57, 831, 12), // "dbusFinished"
|
||||
QT_MOC_LITERAL(58, 844, 24), // "receiveBackupStartResult"
|
||||
QT_MOC_LITERAL(59, 869, 16) // "whenStateIsDuing"
|
||||
|
||||
},
|
||||
"TabWid\0updateAllSignal\0\0status\0"
|
||||
"needBackUp\0startBackUp\0showHistoryWidget\0"
|
||||
"showDependSlovePtompt\0updatemode\0"
|
||||
"pkgname\0description\0deletereason\0"
|
||||
"isAutoCheckedChanged\0isAutoUpgradeChanged\0"
|
||||
"slotCancelDownload\0loadingOneUpdateMsgSlot\0"
|
||||
"AppAllMsg\0msg\0loadingFinishedSlot\0"
|
||||
"size\0waitCrucialInstalled\0hideUpdateBtnSlot\0"
|
||||
"state\0error\0reason\0oneappUpdateresultSlot\0"
|
||||
"allappupdatefinishSlot\0changeUpdateAllSlot\0"
|
||||
"isUpdate\0updatecancel\0DownloadLimitSwitchChanged\0"
|
||||
"DownloadLimitValueChanged\0getAllProgress\0"
|
||||
"pkgName\0Progress\0detailinfo\0"
|
||||
"showDownloadInfo\0DependResloveResult\0"
|
||||
"ResloveStatus\0Reslove\0deletepkglist\0"
|
||||
"DeletePkgDeslist\0DeletePkgReasonlist\0"
|
||||
"DistupgradeDependResloveResult\0"
|
||||
"slotUpdateTemplate\0slotUpdateCache\0"
|
||||
"result\0slotUpdateCacheProgress\0progress\0"
|
||||
"initDbus\0slotReconnTimes\0times\0"
|
||||
"isCancelabled\0bakeupFinish\0backupProgress\0"
|
||||
"isAutoBackupChanged\0getReplyFalseSlot\0"
|
||||
"dbusFinished\0receiveBackupStartResult\0"
|
||||
"whenStateIsDuing"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_TabWid[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
35, 14, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
3, // signalCount
|
||||
|
||||
// signals: name, argc, parameters, tag, flags
|
||||
1, 1, 189, 2, 0x06 /* Public */,
|
||||
4, 0, 192, 2, 0x06 /* Public */,
|
||||
5, 1, 193, 2, 0x06 /* Public */,
|
||||
|
||||
// slots: name, argc, parameters, tag, flags
|
||||
6, 0, 196, 2, 0x0a /* Public */,
|
||||
7, 4, 197, 2, 0x0a /* Public */,
|
||||
12, 0, 206, 2, 0x0a /* Public */,
|
||||
13, 0, 207, 2, 0x0a /* Public */,
|
||||
14, 0, 208, 2, 0x0a /* Public */,
|
||||
15, 1, 209, 2, 0x0a /* Public */,
|
||||
18, 1, 212, 2, 0x0a /* Public */,
|
||||
20, 0, 215, 2, 0x0a /* Public */,
|
||||
21, 4, 216, 2, 0x0a /* Public */,
|
||||
25, 4, 225, 2, 0x0a /* Public */,
|
||||
26, 0, 234, 2, 0x0a /* Public */,
|
||||
27, 1, 235, 2, 0x0a /* Public */,
|
||||
29, 0, 238, 2, 0x0a /* Public */,
|
||||
30, 0, 239, 2, 0x0a /* Public */,
|
||||
31, 1, 240, 2, 0x0a /* Public */,
|
||||
32, 4, 243, 2, 0x0a /* Public */,
|
||||
36, 5, 252, 2, 0x0a /* Public */,
|
||||
37, 7, 263, 2, 0x0a /* Public */,
|
||||
43, 6, 278, 2, 0x0a /* Public */,
|
||||
44, 1, 291, 2, 0x0a /* Public */,
|
||||
45, 4, 294, 2, 0x0a /* Public */,
|
||||
47, 2, 303, 2, 0x0a /* Public */,
|
||||
49, 0, 308, 2, 0x0a /* Public */,
|
||||
50, 1, 309, 2, 0x0a /* Public */,
|
||||
52, 1, 312, 2, 0x0a /* Public */,
|
||||
53, 1, 315, 2, 0x0a /* Public */,
|
||||
54, 1, 318, 2, 0x0a /* Public */,
|
||||
55, 0, 321, 2, 0x0a /* Public */,
|
||||
56, 0, 322, 2, 0x0a /* Public */,
|
||||
57, 0, 323, 2, 0x0a /* Public */,
|
||||
58, 1, 324, 2, 0x08 /* Private */,
|
||||
59, 0, 327, 2, 0x08 /* Private */,
|
||||
|
||||
// signals: parameters
|
||||
QMetaType::Void, QMetaType::Bool, 3,
|
||||
QMetaType::Int,
|
||||
QMetaType::Void, QMetaType::Int, 2,
|
||||
|
||||
// slots: parameters
|
||||
QMetaType::Void,
|
||||
QMetaType::Void, QMetaType::Int, QMetaType::QStringList, QMetaType::QStringList, QMetaType::QStringList, 8, 9, 10, 11,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void, 0x80000000 | 16, 17,
|
||||
QMetaType::Void, QMetaType::Int, 19,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void, QMetaType::Bool, QMetaType::QStringList, QMetaType::QString, QMetaType::QString, 22, 9, 23, 24,
|
||||
QMetaType::Void, QMetaType::Bool, QMetaType::QStringList, QMetaType::QString, QMetaType::QString, 22, 9, 23, 24,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void, QMetaType::Bool, 28,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void, QMetaType::QString, 2,
|
||||
QMetaType::Void, QMetaType::QStringList, QMetaType::Int, QMetaType::QString, QMetaType::QString, 33, 34, 3, 35,
|
||||
QMetaType::Void, QMetaType::Int, QMetaType::Int, QMetaType::Int, QMetaType::Int, QMetaType::Int, 2, 2, 2, 2, 2,
|
||||
QMetaType::Void, QMetaType::Bool, QMetaType::Bool, QMetaType::QStringList, QMetaType::QStringList, QMetaType::QStringList, QMetaType::QString, QMetaType::QString, 38, 39, 40, 41, 42, 23, 2,
|
||||
QMetaType::Void, QMetaType::Bool, QMetaType::Bool, QMetaType::QStringList, QMetaType::QStringList, QMetaType::QString, QMetaType::QString, 38, 39, 40, 41, 23, 2,
|
||||
QMetaType::Void, QMetaType::QString, 3,
|
||||
QMetaType::Void, QMetaType::Bool, QMetaType::QStringList, QMetaType::QString, QMetaType::QString, 46, 9, 23, 24,
|
||||
QMetaType::Void, QMetaType::Int, QMetaType::QString, 48, 3,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void, QMetaType::Int, 51,
|
||||
QMetaType::Void, QMetaType::Bool, 3,
|
||||
QMetaType::Void, QMetaType::Int, 2,
|
||||
QMetaType::Void, QMetaType::Int, 2,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void, QMetaType::Int, 46,
|
||||
QMetaType::Void,
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void TabWid::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
auto *_t = static_cast<TabWid *>(_o);
|
||||
Q_UNUSED(_t)
|
||||
switch (_id) {
|
||||
case 0: _t->updateAllSignal((*reinterpret_cast< bool(*)>(_a[1]))); break;
|
||||
case 1: { int _r = _t->needBackUp();
|
||||
if (_a[0]) *reinterpret_cast< int*>(_a[0]) = std::move(_r); } break;
|
||||
case 2: _t->startBackUp((*reinterpret_cast< int(*)>(_a[1]))); break;
|
||||
case 3: _t->showHistoryWidget(); break;
|
||||
case 4: _t->showDependSlovePtompt((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< QStringList(*)>(_a[2])),(*reinterpret_cast< QStringList(*)>(_a[3])),(*reinterpret_cast< QStringList(*)>(_a[4]))); break;
|
||||
case 5: _t->isAutoCheckedChanged(); break;
|
||||
case 6: _t->isAutoUpgradeChanged(); break;
|
||||
case 7: _t->slotCancelDownload(); break;
|
||||
case 8: _t->loadingOneUpdateMsgSlot((*reinterpret_cast< AppAllMsg(*)>(_a[1]))); break;
|
||||
case 9: _t->loadingFinishedSlot((*reinterpret_cast< int(*)>(_a[1]))); break;
|
||||
case 10: _t->waitCrucialInstalled(); break;
|
||||
case 11: _t->hideUpdateBtnSlot((*reinterpret_cast< bool(*)>(_a[1])),(*reinterpret_cast< QStringList(*)>(_a[2])),(*reinterpret_cast< QString(*)>(_a[3])),(*reinterpret_cast< QString(*)>(_a[4]))); break;
|
||||
case 12: _t->oneappUpdateresultSlot((*reinterpret_cast< bool(*)>(_a[1])),(*reinterpret_cast< QStringList(*)>(_a[2])),(*reinterpret_cast< QString(*)>(_a[3])),(*reinterpret_cast< QString(*)>(_a[4]))); break;
|
||||
case 13: _t->allappupdatefinishSlot(); break;
|
||||
case 14: _t->changeUpdateAllSlot((*reinterpret_cast< bool(*)>(_a[1]))); break;
|
||||
case 15: _t->updatecancel(); break;
|
||||
case 16: _t->DownloadLimitSwitchChanged(); break;
|
||||
case 17: _t->DownloadLimitValueChanged((*reinterpret_cast< const QString(*)>(_a[1]))); break;
|
||||
case 18: _t->getAllProgress((*reinterpret_cast< QStringList(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2])),(*reinterpret_cast< QString(*)>(_a[3])),(*reinterpret_cast< QString(*)>(_a[4]))); break;
|
||||
case 19: _t->showDownloadInfo((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2])),(*reinterpret_cast< int(*)>(_a[3])),(*reinterpret_cast< int(*)>(_a[4])),(*reinterpret_cast< int(*)>(_a[5]))); break;
|
||||
case 20: _t->DependResloveResult((*reinterpret_cast< bool(*)>(_a[1])),(*reinterpret_cast< bool(*)>(_a[2])),(*reinterpret_cast< QStringList(*)>(_a[3])),(*reinterpret_cast< QStringList(*)>(_a[4])),(*reinterpret_cast< QStringList(*)>(_a[5])),(*reinterpret_cast< QString(*)>(_a[6])),(*reinterpret_cast< QString(*)>(_a[7]))); break;
|
||||
case 21: _t->DistupgradeDependResloveResult((*reinterpret_cast< bool(*)>(_a[1])),(*reinterpret_cast< bool(*)>(_a[2])),(*reinterpret_cast< QStringList(*)>(_a[3])),(*reinterpret_cast< QStringList(*)>(_a[4])),(*reinterpret_cast< QString(*)>(_a[5])),(*reinterpret_cast< QString(*)>(_a[6]))); break;
|
||||
case 22: _t->slotUpdateTemplate((*reinterpret_cast< QString(*)>(_a[1]))); break;
|
||||
case 23: _t->slotUpdateCache((*reinterpret_cast< bool(*)>(_a[1])),(*reinterpret_cast< QStringList(*)>(_a[2])),(*reinterpret_cast< QString(*)>(_a[3])),(*reinterpret_cast< QString(*)>(_a[4]))); break;
|
||||
case 24: _t->slotUpdateCacheProgress((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< QString(*)>(_a[2]))); break;
|
||||
case 25: _t->initDbus(); break;
|
||||
case 26: _t->slotReconnTimes((*reinterpret_cast< int(*)>(_a[1]))); break;
|
||||
case 27: _t->isCancelabled((*reinterpret_cast< bool(*)>(_a[1]))); break;
|
||||
case 28: _t->bakeupFinish((*reinterpret_cast< int(*)>(_a[1]))); break;
|
||||
case 29: _t->backupProgress((*reinterpret_cast< int(*)>(_a[1]))); break;
|
||||
case 30: _t->isAutoBackupChanged(); break;
|
||||
case 31: _t->getReplyFalseSlot(); break;
|
||||
case 32: _t->dbusFinished(); break;
|
||||
case 33: _t->receiveBackupStartResult((*reinterpret_cast< int(*)>(_a[1]))); break;
|
||||
case 34: _t->whenStateIsDuing(); break;
|
||||
default: ;
|
||||
}
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
switch (_id) {
|
||||
default: *reinterpret_cast<int*>(_a[0]) = -1; break;
|
||||
case 8:
|
||||
switch (*reinterpret_cast<int*>(_a[1])) {
|
||||
default: *reinterpret_cast<int*>(_a[0]) = -1; break;
|
||||
case 0:
|
||||
*reinterpret_cast<int*>(_a[0]) = qRegisterMetaType< AppAllMsg >(); break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
} else if (_c == QMetaObject::IndexOfMethod) {
|
||||
int *result = reinterpret_cast<int *>(_a[0]);
|
||||
{
|
||||
using _t = void (TabWid::*)(bool );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&TabWid::updateAllSignal)) {
|
||||
*result = 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = int (TabWid::*)();
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&TabWid::needBackUp)) {
|
||||
*result = 1;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (TabWid::*)(int );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&TabWid::startBackUp)) {
|
||||
*result = 2;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject TabWid::staticMetaObject = { {
|
||||
&QWidget::staticMetaObject,
|
||||
qt_meta_stringdata_TabWid.data,
|
||||
qt_meta_data_TabWid,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *TabWid::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *TabWid::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_TabWid.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QWidget::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int TabWid::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QWidget::qt_metacall(_c, _id, _a);
|
||||
if (_id < 0)
|
||||
return _id;
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
if (_id < 35)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 35;
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
if (_id < 35)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 35;
|
||||
}
|
||||
return _id;
|
||||
}
|
||||
|
||||
// SIGNAL 0
|
||||
void TabWid::updateAllSignal(bool _t1)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 0, _a);
|
||||
}
|
||||
|
||||
// SIGNAL 1
|
||||
int TabWid::needBackUp()
|
||||
{
|
||||
int _t0{};
|
||||
void *_a[] = { const_cast<void*>(reinterpret_cast<const void*>(&_t0)) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 1, _a);
|
||||
return _t0;
|
||||
}
|
||||
|
||||
// SIGNAL 2
|
||||
void TabWid::startBackUp(int _t1)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 2, _a);
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
Binary file not shown.
|
@ -1,144 +0,0 @@
|
|||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'traybusthread.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.12.8)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include "src/traybusthread.h"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'traybusthread.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.12.8. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_traybusthread_t {
|
||||
QByteArrayData data[6];
|
||||
char stringdata0[58];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_traybusthread_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_traybusthread_t qt_meta_stringdata_traybusthread = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 13), // "traybusthread"
|
||||
QT_MOC_LITERAL(1, 14, 6), // "result"
|
||||
QT_MOC_LITERAL(2, 21, 0), // ""
|
||||
QT_MOC_LITERAL(3, 22, 10), // "updateList"
|
||||
QT_MOC_LITERAL(4, 33, 20), // "getInameAndCnameList"
|
||||
QT_MOC_LITERAL(5, 54, 3) // "arg"
|
||||
|
||||
},
|
||||
"traybusthread\0result\0\0updateList\0"
|
||||
"getInameAndCnameList\0arg"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_traybusthread[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
2, 14, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
1, // signalCount
|
||||
|
||||
// signals: name, argc, parameters, tag, flags
|
||||
1, 1, 24, 2, 0x06 /* Public */,
|
||||
|
||||
// slots: name, argc, parameters, tag, flags
|
||||
4, 1, 27, 2, 0x0a /* Public */,
|
||||
|
||||
// signals: parameters
|
||||
QMetaType::Void, QMetaType::QStringList, 3,
|
||||
|
||||
// slots: parameters
|
||||
QMetaType::Void, QMetaType::QString, 5,
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void traybusthread::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
auto *_t = static_cast<traybusthread *>(_o);
|
||||
Q_UNUSED(_t)
|
||||
switch (_id) {
|
||||
case 0: _t->result((*reinterpret_cast< QStringList(*)>(_a[1]))); break;
|
||||
case 1: _t->getInameAndCnameList((*reinterpret_cast< QString(*)>(_a[1]))); break;
|
||||
default: ;
|
||||
}
|
||||
} else if (_c == QMetaObject::IndexOfMethod) {
|
||||
int *result = reinterpret_cast<int *>(_a[0]);
|
||||
{
|
||||
using _t = void (traybusthread::*)(QStringList );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&traybusthread::result)) {
|
||||
*result = 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject traybusthread::staticMetaObject = { {
|
||||
&QThread::staticMetaObject,
|
||||
qt_meta_stringdata_traybusthread.data,
|
||||
qt_meta_data_traybusthread,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *traybusthread::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *traybusthread::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_traybusthread.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QThread::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int traybusthread::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QThread::qt_metacall(_c, _id, _a);
|
||||
if (_id < 0)
|
||||
return _id;
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
if (_id < 2)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 2;
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
if (_id < 2)
|
||||
*reinterpret_cast<int*>(_a[0]) = -1;
|
||||
_id -= 2;
|
||||
}
|
||||
return _id;
|
||||
}
|
||||
|
||||
// SIGNAL 0
|
||||
void traybusthread::result(QStringList _t1)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 0, _a);
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
Binary file not shown.
|
@ -1,281 +0,0 @@
|
|||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'updatedbus.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.12.8)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include "src/updatedbus.h"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'updatedbus.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.12.8. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_UpdateDbus_t {
|
||||
QByteArrayData data[29];
|
||||
char stringdata0[333];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_UpdateDbus_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_UpdateDbus_t qt_meta_stringdata_UpdateDbus = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 10), // "UpdateDbus"
|
||||
QT_MOC_LITERAL(1, 11, 10), // "copyFinish"
|
||||
QT_MOC_LITERAL(2, 22, 0), // ""
|
||||
QT_MOC_LITERAL(3, 23, 7), // "appName"
|
||||
QT_MOC_LITERAL(4, 31, 19), // "transferAptProgress"
|
||||
QT_MOC_LITERAL(5, 51, 6), // "status"
|
||||
QT_MOC_LITERAL(6, 58, 10), // "aptPercent"
|
||||
QT_MOC_LITERAL(7, 69, 8), // "errormsg"
|
||||
QT_MOC_LITERAL(8, 78, 13), // "sendImportant"
|
||||
QT_MOC_LITERAL(9, 92, 20), // "sendAppMessageSignal"
|
||||
QT_MOC_LITERAL(10, 113, 9), // "AppAllMsg"
|
||||
QT_MOC_LITERAL(11, 123, 3), // "msg"
|
||||
QT_MOC_LITERAL(12, 127, 22), // "sendFinishGetMsgSignal"
|
||||
QT_MOC_LITERAL(13, 150, 4), // "size"
|
||||
QT_MOC_LITERAL(14, 155, 14), // "sendUpdateSize"
|
||||
QT_MOC_LITERAL(15, 170, 12), // "getAptSignal"
|
||||
QT_MOC_LITERAL(16, 183, 3), // "arg"
|
||||
QT_MOC_LITERAL(17, 187, 3), // "map"
|
||||
QT_MOC_LITERAL(18, 191, 16), // "slotCopyFinished"
|
||||
QT_MOC_LITERAL(19, 208, 20), // "getInameAndCnameList"
|
||||
QT_MOC_LITERAL(20, 229, 19), // "getAppMessageSignal"
|
||||
QT_MOC_LITERAL(21, 249, 7), // "urlList"
|
||||
QT_MOC_LITERAL(22, 257, 8), // "nameList"
|
||||
QT_MOC_LITERAL(23, 266, 12), // "fullnameList"
|
||||
QT_MOC_LITERAL(24, 279, 8), // "sizeList"
|
||||
QT_MOC_LITERAL(25, 288, 7), // "allSize"
|
||||
QT_MOC_LITERAL(26, 296, 11), // "dependState"
|
||||
QT_MOC_LITERAL(27, 308, 20), // "slotFinishGetMessage"
|
||||
QT_MOC_LITERAL(28, 329, 3) // "num"
|
||||
|
||||
},
|
||||
"UpdateDbus\0copyFinish\0\0appName\0"
|
||||
"transferAptProgress\0status\0aptPercent\0"
|
||||
"errormsg\0sendImportant\0sendAppMessageSignal\0"
|
||||
"AppAllMsg\0msg\0sendFinishGetMsgSignal\0"
|
||||
"size\0sendUpdateSize\0getAptSignal\0arg\0"
|
||||
"map\0slotCopyFinished\0getInameAndCnameList\0"
|
||||
"getAppMessageSignal\0urlList\0nameList\0"
|
||||
"fullnameList\0sizeList\0allSize\0dependState\0"
|
||||
"slotFinishGetMessage\0num"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_UpdateDbus[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
11, 14, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
6, // signalCount
|
||||
|
||||
// signals: name, argc, parameters, tag, flags
|
||||
1, 1, 69, 2, 0x06 /* Public */,
|
||||
4, 4, 72, 2, 0x06 /* Public */,
|
||||
8, 0, 81, 2, 0x06 /* Public */,
|
||||
9, 1, 82, 2, 0x06 /* Public */,
|
||||
12, 1, 85, 2, 0x06 /* Public */,
|
||||
14, 1, 88, 2, 0x06 /* Public */,
|
||||
|
||||
// slots: name, argc, parameters, tag, flags
|
||||
15, 2, 91, 2, 0x0a /* Public */,
|
||||
18, 1, 96, 2, 0x0a /* Public */,
|
||||
19, 1, 99, 2, 0x0a /* Public */,
|
||||
20, 7, 102, 2, 0x0a /* Public */,
|
||||
27, 1, 117, 2, 0x0a /* Public */,
|
||||
|
||||
// signals: parameters
|
||||
QMetaType::Void, QMetaType::QString, 3,
|
||||
QMetaType::Void, QMetaType::QString, QMetaType::QString, QMetaType::Float, QMetaType::QString, 5, 3, 6, 7,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void, 0x80000000 | 10, 11,
|
||||
QMetaType::Void, QMetaType::Int, 13,
|
||||
QMetaType::Void, QMetaType::Long, 13,
|
||||
|
||||
// slots: parameters
|
||||
QMetaType::Void, QMetaType::QString, QMetaType::QVariantMap, 16, 17,
|
||||
QMetaType::Void, QMetaType::QString, 3,
|
||||
QMetaType::Void, QMetaType::QString, 16,
|
||||
QMetaType::Void, QMetaType::QVariantMap, QMetaType::QStringList, QMetaType::QStringList, QMetaType::QStringList, QMetaType::QStringList, QMetaType::QString, QMetaType::Bool, 17, 21, 22, 23, 24, 25, 26,
|
||||
QMetaType::Void, QMetaType::QString, 28,
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void UpdateDbus::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
auto *_t = static_cast<UpdateDbus *>(_o);
|
||||
Q_UNUSED(_t)
|
||||
switch (_id) {
|
||||
case 0: _t->copyFinish((*reinterpret_cast< QString(*)>(_a[1]))); break;
|
||||
case 1: _t->transferAptProgress((*reinterpret_cast< QString(*)>(_a[1])),(*reinterpret_cast< QString(*)>(_a[2])),(*reinterpret_cast< float(*)>(_a[3])),(*reinterpret_cast< QString(*)>(_a[4]))); break;
|
||||
case 2: _t->sendImportant(); break;
|
||||
case 3: _t->sendAppMessageSignal((*reinterpret_cast< AppAllMsg(*)>(_a[1]))); break;
|
||||
case 4: _t->sendFinishGetMsgSignal((*reinterpret_cast< int(*)>(_a[1]))); break;
|
||||
case 5: _t->sendUpdateSize((*reinterpret_cast< long(*)>(_a[1]))); break;
|
||||
case 6: _t->getAptSignal((*reinterpret_cast< QString(*)>(_a[1])),(*reinterpret_cast< QMap<QString,QVariant>(*)>(_a[2]))); break;
|
||||
case 7: _t->slotCopyFinished((*reinterpret_cast< QString(*)>(_a[1]))); break;
|
||||
case 8: _t->getInameAndCnameList((*reinterpret_cast< QString(*)>(_a[1]))); break;
|
||||
case 9: _t->getAppMessageSignal((*reinterpret_cast< QMap<QString,QVariant>(*)>(_a[1])),(*reinterpret_cast< QStringList(*)>(_a[2])),(*reinterpret_cast< QStringList(*)>(_a[3])),(*reinterpret_cast< QStringList(*)>(_a[4])),(*reinterpret_cast< QStringList(*)>(_a[5])),(*reinterpret_cast< QString(*)>(_a[6])),(*reinterpret_cast< bool(*)>(_a[7]))); break;
|
||||
case 10: _t->slotFinishGetMessage((*reinterpret_cast< QString(*)>(_a[1]))); break;
|
||||
default: ;
|
||||
}
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
switch (_id) {
|
||||
default: *reinterpret_cast<int*>(_a[0]) = -1; break;
|
||||
case 3:
|
||||
switch (*reinterpret_cast<int*>(_a[1])) {
|
||||
default: *reinterpret_cast<int*>(_a[0]) = -1; break;
|
||||
case 0:
|
||||
*reinterpret_cast<int*>(_a[0]) = qRegisterMetaType< AppAllMsg >(); break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
} else if (_c == QMetaObject::IndexOfMethod) {
|
||||
int *result = reinterpret_cast<int *>(_a[0]);
|
||||
{
|
||||
using _t = void (UpdateDbus::*)(QString );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&UpdateDbus::copyFinish)) {
|
||||
*result = 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (UpdateDbus::*)(QString , QString , float , QString );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&UpdateDbus::transferAptProgress)) {
|
||||
*result = 1;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (UpdateDbus::*)();
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&UpdateDbus::sendImportant)) {
|
||||
*result = 2;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (UpdateDbus::*)(AppAllMsg );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&UpdateDbus::sendAppMessageSignal)) {
|
||||
*result = 3;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (UpdateDbus::*)(int );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&UpdateDbus::sendFinishGetMsgSignal)) {
|
||||
*result = 4;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (UpdateDbus::*)(long );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&UpdateDbus::sendUpdateSize)) {
|
||||
*result = 5;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject UpdateDbus::staticMetaObject = { {
|
||||
&QObject::staticMetaObject,
|
||||
qt_meta_stringdata_UpdateDbus.data,
|
||||
qt_meta_data_UpdateDbus,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *UpdateDbus::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *UpdateDbus::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_UpdateDbus.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QObject::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int UpdateDbus::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QObject::qt_metacall(_c, _id, _a);
|
||||
if (_id < 0)
|
||||
return _id;
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
if (_id < 11)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 11;
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
if (_id < 11)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 11;
|
||||
}
|
||||
return _id;
|
||||
}
|
||||
|
||||
// SIGNAL 0
|
||||
void UpdateDbus::copyFinish(QString _t1)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 0, _a);
|
||||
}
|
||||
|
||||
// SIGNAL 1
|
||||
void UpdateDbus::transferAptProgress(QString _t1, QString _t2, float _t3, QString _t4)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(&_t1)), const_cast<void*>(reinterpret_cast<const void*>(&_t2)), const_cast<void*>(reinterpret_cast<const void*>(&_t3)), const_cast<void*>(reinterpret_cast<const void*>(&_t4)) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 1, _a);
|
||||
}
|
||||
|
||||
// SIGNAL 2
|
||||
void UpdateDbus::sendImportant()
|
||||
{
|
||||
QMetaObject::activate(this, &staticMetaObject, 2, nullptr);
|
||||
}
|
||||
|
||||
// SIGNAL 3
|
||||
void UpdateDbus::sendAppMessageSignal(AppAllMsg _t1)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 3, _a);
|
||||
}
|
||||
|
||||
// SIGNAL 4
|
||||
void UpdateDbus::sendFinishGetMsgSignal(int _t1)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 4, _a);
|
||||
}
|
||||
|
||||
// SIGNAL 5
|
||||
void UpdateDbus::sendUpdateSize(long _t1)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 5, _a);
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
Binary file not shown.
|
@ -1,206 +0,0 @@
|
|||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'updatedeleteprompt.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.12.8)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include "src/updatedeleteprompt.h"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'updatedeleteprompt.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.12.8. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_updatedeleteprompt_t {
|
||||
QByteArrayData data[19];
|
||||
char stringdata0[266];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_updatedeleteprompt_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_updatedeleteprompt_t qt_meta_stringdata_updatedeleteprompt = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 18), // "updatedeleteprompt"
|
||||
QT_MOC_LITERAL(1, 19, 29), // "updatedependsolvecancelsignal"
|
||||
QT_MOC_LITERAL(2, 49, 0), // ""
|
||||
QT_MOC_LITERAL(3, 50, 29), // "updatedependsolveacceptsignal"
|
||||
QT_MOC_LITERAL(4, 80, 16), // "historyUpdateNow"
|
||||
QT_MOC_LITERAL(5, 97, 4), // "str1"
|
||||
QT_MOC_LITERAL(6, 102, 4), // "str2"
|
||||
QT_MOC_LITERAL(7, 107, 9), // "slotClose"
|
||||
QT_MOC_LITERAL(8, 117, 6), // "initUI"
|
||||
QT_MOC_LITERAL(9, 124, 13), // "initGsettings"
|
||||
QT_MOC_LITERAL(10, 138, 18), // "dynamicLoadingInit"
|
||||
QT_MOC_LITERAL(11, 157, 14), // "dynamicLoading"
|
||||
QT_MOC_LITERAL(12, 172, 1), // "i"
|
||||
QT_MOC_LITERAL(13, 174, 11), // "defaultItem"
|
||||
QT_MOC_LITERAL(14, 186, 25), // "translationVirtualPackage"
|
||||
QT_MOC_LITERAL(15, 212, 3), // "str"
|
||||
QT_MOC_LITERAL(16, 216, 26), // "changeListWidgetItemHeight"
|
||||
QT_MOC_LITERAL(17, 243, 10), // "slotSearch"
|
||||
QT_MOC_LITERAL(18, 254, 11) // "packageName"
|
||||
|
||||
},
|
||||
"updatedeleteprompt\0updatedependsolvecancelsignal\0"
|
||||
"\0updatedependsolveacceptsignal\0"
|
||||
"historyUpdateNow\0str1\0str2\0slotClose\0"
|
||||
"initUI\0initGsettings\0dynamicLoadingInit\0"
|
||||
"dynamicLoading\0i\0defaultItem\0"
|
||||
"translationVirtualPackage\0str\0"
|
||||
"changeListWidgetItemHeight\0slotSearch\0"
|
||||
"packageName"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_updatedeleteprompt[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
12, 14, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
2, // signalCount
|
||||
|
||||
// signals: name, argc, parameters, tag, flags
|
||||
1, 0, 74, 2, 0x06 /* Public */,
|
||||
3, 0, 75, 2, 0x06 /* Public */,
|
||||
|
||||
// slots: name, argc, parameters, tag, flags
|
||||
4, 2, 76, 2, 0x0a /* Public */,
|
||||
7, 0, 81, 2, 0x0a /* Public */,
|
||||
8, 0, 82, 2, 0x08 /* Private */,
|
||||
9, 0, 83, 2, 0x08 /* Private */,
|
||||
10, 0, 84, 2, 0x08 /* Private */,
|
||||
11, 1, 85, 2, 0x08 /* Private */,
|
||||
13, 0, 88, 2, 0x08 /* Private */,
|
||||
14, 1, 89, 2, 0x08 /* Private */,
|
||||
16, 0, 92, 2, 0x08 /* Private */,
|
||||
17, 1, 93, 2, 0x08 /* Private */,
|
||||
|
||||
// signals: parameters
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
|
||||
// slots: parameters
|
||||
QMetaType::Void, QMetaType::QString, QMetaType::QString, 5, 6,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void, QMetaType::Int, 12,
|
||||
QMetaType::Void,
|
||||
QMetaType::QString, QMetaType::QString, 15,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void, QMetaType::QString, 18,
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void updatedeleteprompt::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
auto *_t = static_cast<updatedeleteprompt *>(_o);
|
||||
Q_UNUSED(_t)
|
||||
switch (_id) {
|
||||
case 0: _t->updatedependsolvecancelsignal(); break;
|
||||
case 1: _t->updatedependsolveacceptsignal(); break;
|
||||
case 2: _t->historyUpdateNow((*reinterpret_cast< QString(*)>(_a[1])),(*reinterpret_cast< QString(*)>(_a[2]))); break;
|
||||
case 3: _t->slotClose(); break;
|
||||
case 4: _t->initUI(); break;
|
||||
case 5: _t->initGsettings(); break;
|
||||
case 6: _t->dynamicLoadingInit(); break;
|
||||
case 7: _t->dynamicLoading((*reinterpret_cast< int(*)>(_a[1]))); break;
|
||||
case 8: _t->defaultItem(); break;
|
||||
case 9: { QString _r = _t->translationVirtualPackage((*reinterpret_cast< QString(*)>(_a[1])));
|
||||
if (_a[0]) *reinterpret_cast< QString*>(_a[0]) = std::move(_r); } break;
|
||||
case 10: _t->changeListWidgetItemHeight(); break;
|
||||
case 11: _t->slotSearch((*reinterpret_cast< QString(*)>(_a[1]))); break;
|
||||
default: ;
|
||||
}
|
||||
} else if (_c == QMetaObject::IndexOfMethod) {
|
||||
int *result = reinterpret_cast<int *>(_a[0]);
|
||||
{
|
||||
using _t = void (updatedeleteprompt::*)();
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&updatedeleteprompt::updatedependsolvecancelsignal)) {
|
||||
*result = 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (updatedeleteprompt::*)();
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&updatedeleteprompt::updatedependsolveacceptsignal)) {
|
||||
*result = 1;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject updatedeleteprompt::staticMetaObject = { {
|
||||
&QDialog::staticMetaObject,
|
||||
qt_meta_stringdata_updatedeleteprompt.data,
|
||||
qt_meta_data_updatedeleteprompt,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *updatedeleteprompt::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *updatedeleteprompt::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_updatedeleteprompt.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QDialog::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int updatedeleteprompt::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QDialog::qt_metacall(_c, _id, _a);
|
||||
if (_id < 0)
|
||||
return _id;
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
if (_id < 12)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 12;
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
if (_id < 12)
|
||||
*reinterpret_cast<int*>(_a[0]) = -1;
|
||||
_id -= 12;
|
||||
}
|
||||
return _id;
|
||||
}
|
||||
|
||||
// SIGNAL 0
|
||||
void updatedeleteprompt::updatedependsolvecancelsignal()
|
||||
{
|
||||
QMetaObject::activate(this, &staticMetaObject, 0, nullptr);
|
||||
}
|
||||
|
||||
// SIGNAL 1
|
||||
void updatedeleteprompt::updatedependsolveacceptsignal()
|
||||
{
|
||||
QMetaObject::activate(this, &staticMetaObject, 1, nullptr);
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
Binary file not shown.
|
@ -1,94 +0,0 @@
|
|||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'updatelog.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.12.8)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include "src/updatelog.h"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'updatelog.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.12.8. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_UpdateLog_t {
|
||||
QByteArrayData data[1];
|
||||
char stringdata0[10];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_UpdateLog_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_UpdateLog_t qt_meta_stringdata_UpdateLog = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 9) // "UpdateLog"
|
||||
|
||||
},
|
||||
"UpdateLog"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_UpdateLog[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
0, 0, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
0, // signalCount
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void UpdateLog::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
Q_UNUSED(_o);
|
||||
Q_UNUSED(_id);
|
||||
Q_UNUSED(_c);
|
||||
Q_UNUSED(_a);
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject UpdateLog::staticMetaObject = { {
|
||||
&QDialog::staticMetaObject,
|
||||
qt_meta_stringdata_UpdateLog.data,
|
||||
qt_meta_data_UpdateLog,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *UpdateLog::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *UpdateLog::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_UpdateLog.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QDialog::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int UpdateLog::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QDialog::qt_metacall(_c, _id, _a);
|
||||
return _id;
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
Binary file not shown.
|
@ -1,177 +0,0 @@
|
|||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'updatesource.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.12.8)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include "src/updatesource.h"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'updatesource.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.12.8. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_UpdateSource_t {
|
||||
QByteArrayData data[6];
|
||||
char stringdata0[77];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_UpdateSource_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_UpdateSource_t qt_meta_stringdata_UpdateSource = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 12), // "UpdateSource"
|
||||
QT_MOC_LITERAL(1, 13, 19), // "getReplyFalseSignal"
|
||||
QT_MOC_LITERAL(2, 33, 0), // ""
|
||||
QT_MOC_LITERAL(3, 34, 17), // "startDbusFinished"
|
||||
QT_MOC_LITERAL(4, 52, 14), // "sigReconnTimes"
|
||||
QT_MOC_LITERAL(5, 67, 9) // "startDbus"
|
||||
|
||||
},
|
||||
"UpdateSource\0getReplyFalseSignal\0\0"
|
||||
"startDbusFinished\0sigReconnTimes\0"
|
||||
"startDbus"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_UpdateSource[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
4, 14, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
3, // signalCount
|
||||
|
||||
// signals: name, argc, parameters, tag, flags
|
||||
1, 0, 34, 2, 0x06 /* Public */,
|
||||
3, 0, 35, 2, 0x06 /* Public */,
|
||||
4, 1, 36, 2, 0x06 /* Public */,
|
||||
|
||||
// slots: name, argc, parameters, tag, flags
|
||||
5, 0, 39, 2, 0x0a /* Public */,
|
||||
|
||||
// signals: parameters
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void, QMetaType::Int, 2,
|
||||
|
||||
// slots: parameters
|
||||
QMetaType::Void,
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void UpdateSource::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
auto *_t = static_cast<UpdateSource *>(_o);
|
||||
Q_UNUSED(_t)
|
||||
switch (_id) {
|
||||
case 0: _t->getReplyFalseSignal(); break;
|
||||
case 1: _t->startDbusFinished(); break;
|
||||
case 2: _t->sigReconnTimes((*reinterpret_cast< int(*)>(_a[1]))); break;
|
||||
case 3: _t->startDbus(); break;
|
||||
default: ;
|
||||
}
|
||||
} else if (_c == QMetaObject::IndexOfMethod) {
|
||||
int *result = reinterpret_cast<int *>(_a[0]);
|
||||
{
|
||||
using _t = void (UpdateSource::*)();
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&UpdateSource::getReplyFalseSignal)) {
|
||||
*result = 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (UpdateSource::*)();
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&UpdateSource::startDbusFinished)) {
|
||||
*result = 1;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (UpdateSource::*)(int );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&UpdateSource::sigReconnTimes)) {
|
||||
*result = 2;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject UpdateSource::staticMetaObject = { {
|
||||
&QObject::staticMetaObject,
|
||||
qt_meta_stringdata_UpdateSource.data,
|
||||
qt_meta_data_UpdateSource,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *UpdateSource::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *UpdateSource::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_UpdateSource.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QObject::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int UpdateSource::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QObject::qt_metacall(_c, _id, _a);
|
||||
if (_id < 0)
|
||||
return _id;
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
if (_id < 4)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 4;
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
if (_id < 4)
|
||||
*reinterpret_cast<int*>(_a[0]) = -1;
|
||||
_id -= 4;
|
||||
}
|
||||
return _id;
|
||||
}
|
||||
|
||||
// SIGNAL 0
|
||||
void UpdateSource::getReplyFalseSignal()
|
||||
{
|
||||
QMetaObject::activate(this, &staticMetaObject, 0, nullptr);
|
||||
}
|
||||
|
||||
// SIGNAL 1
|
||||
void UpdateSource::startDbusFinished()
|
||||
{
|
||||
QMetaObject::activate(this, &staticMetaObject, 1, nullptr);
|
||||
}
|
||||
|
||||
// SIGNAL 2
|
||||
void UpdateSource::sigReconnTimes(int _t1)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 2, _a);
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
Binary file not shown.
|
@ -1,118 +0,0 @@
|
|||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'upgrade.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.12.8)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include "upgrade.h"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#include <QtCore/qplugin.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'upgrade.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.12.8. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_Upgrade_t {
|
||||
QByteArrayData data[1];
|
||||
char stringdata0[8];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_Upgrade_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_Upgrade_t qt_meta_stringdata_Upgrade = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 7) // "Upgrade"
|
||||
|
||||
},
|
||||
"Upgrade"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_Upgrade[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
0, 0, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
0, // signalCount
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void Upgrade::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
Q_UNUSED(_o);
|
||||
Q_UNUSED(_id);
|
||||
Q_UNUSED(_c);
|
||||
Q_UNUSED(_a);
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject Upgrade::staticMetaObject = { {
|
||||
&QObject::staticMetaObject,
|
||||
qt_meta_stringdata_Upgrade.data,
|
||||
qt_meta_data_Upgrade,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *Upgrade::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *Upgrade::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_Upgrade.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
if (!strcmp(_clname, "CommonInterface"))
|
||||
return static_cast< CommonInterface*>(this);
|
||||
if (!strcmp(_clname, "org.ukcc.CommonInterface"))
|
||||
return static_cast< CommonInterface*>(this);
|
||||
return QObject::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int Upgrade::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QObject::qt_metacall(_c, _id, _a);
|
||||
return _id;
|
||||
}
|
||||
|
||||
QT_PLUGIN_METADATA_SECTION
|
||||
static constexpr unsigned char qt_pluginMetaData[] = {
|
||||
'Q', 'T', 'M', 'E', 'T', 'A', 'D', 'A', 'T', 'A', ' ', '!',
|
||||
// metadata version, Qt version, architectural requirements
|
||||
0, QT_VERSION_MAJOR, QT_VERSION_MINOR, qPluginArchRequirements(),
|
||||
0xbf,
|
||||
// "IID"
|
||||
0x02, 0x78, 0x18, 'o', 'r', 'g', '.', 'u',
|
||||
'k', 'c', 'c', '.', 'C', 'o', 'm', 'm',
|
||||
'o', 'n', 'I', 'n', 't', 'e', 'r', 'f',
|
||||
'a', 'c', 'e',
|
||||
// "className"
|
||||
0x03, 0x67, 'U', 'p', 'g', 'r', 'a', 'd',
|
||||
'e',
|
||||
0xff,
|
||||
};
|
||||
QT_MOC_EXPORT_PLUGIN(Upgrade, Upgrade)
|
||||
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
Binary file not shown.
|
@ -1,120 +0,0 @@
|
|||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'upgrademain.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.12.8)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include "src/upgrademain.h"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'upgrademain.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.12.8. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_UpgradeMain_t {
|
||||
QByteArrayData data[5];
|
||||
char stringdata0[44];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_UpgradeMain_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_UpgradeMain_t qt_meta_stringdata_UpgradeMain = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 11), // "UpgradeMain"
|
||||
QT_MOC_LITERAL(1, 12, 13), // "keyPressEvent"
|
||||
QT_MOC_LITERAL(2, 26, 0), // ""
|
||||
QT_MOC_LITERAL(3, 27, 10), // "QKeyEvent*"
|
||||
QT_MOC_LITERAL(4, 38, 5) // "event"
|
||||
|
||||
},
|
||||
"UpgradeMain\0keyPressEvent\0\0QKeyEvent*\0"
|
||||
"event"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_UpgradeMain[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
1, 14, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
0, // signalCount
|
||||
|
||||
// slots: name, argc, parameters, tag, flags
|
||||
1, 1, 19, 2, 0x0a /* Public */,
|
||||
|
||||
// slots: parameters
|
||||
QMetaType::Void, 0x80000000 | 3, 4,
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void UpgradeMain::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
auto *_t = static_cast<UpgradeMain *>(_o);
|
||||
Q_UNUSED(_t)
|
||||
switch (_id) {
|
||||
case 0: _t->keyPressEvent((*reinterpret_cast< QKeyEvent*(*)>(_a[1]))); break;
|
||||
default: ;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject UpgradeMain::staticMetaObject = { {
|
||||
&QMainWindow::staticMetaObject,
|
||||
qt_meta_stringdata_UpgradeMain.data,
|
||||
qt_meta_data_UpgradeMain,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *UpgradeMain::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *UpgradeMain::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_UpgradeMain.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QMainWindow::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int UpgradeMain::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QMainWindow::qt_metacall(_c, _id, _a);
|
||||
if (_id < 0)
|
||||
return _id;
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
if (_id < 1)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 1;
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
if (_id < 1)
|
||||
*reinterpret_cast<int*>(_a[0]) = -1;
|
||||
_id -= 1;
|
||||
}
|
||||
return _id;
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
Binary file not shown.
|
@ -1,94 +0,0 @@
|
|||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'widgetstyle.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.12.8)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include "src/widgetstyle.h"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'widgetstyle.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.12.8. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_WidgetStyle_t {
|
||||
QByteArrayData data[1];
|
||||
char stringdata0[12];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_WidgetStyle_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_WidgetStyle_t qt_meta_stringdata_WidgetStyle = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 11) // "WidgetStyle"
|
||||
|
||||
},
|
||||
"WidgetStyle"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_WidgetStyle[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
0, 0, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
0, // signalCount
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void WidgetStyle::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
Q_UNUSED(_o);
|
||||
Q_UNUSED(_id);
|
||||
Q_UNUSED(_c);
|
||||
Q_UNUSED(_a);
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject WidgetStyle::staticMetaObject = { {
|
||||
&QWidget::staticMetaObject,
|
||||
qt_meta_stringdata_WidgetStyle.data,
|
||||
qt_meta_data_WidgetStyle,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *WidgetStyle::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *WidgetStyle::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_WidgetStyle.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QWidget::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int WidgetStyle::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QWidget::qt_metacall(_c, _id, _a);
|
||||
return _id;
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
Binary file not shown.
|
@ -1,94 +0,0 @@
|
|||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'xatom-helper.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.12.8)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include "src/xatom-helper.h"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'xatom-helper.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.12.8. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_XAtomHelper_t {
|
||||
QByteArrayData data[1];
|
||||
char stringdata0[12];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_XAtomHelper_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_XAtomHelper_t qt_meta_stringdata_XAtomHelper = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 11) // "XAtomHelper"
|
||||
|
||||
},
|
||||
"XAtomHelper"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_XAtomHelper[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
0, 0, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
0, // signalCount
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void XAtomHelper::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
Q_UNUSED(_o);
|
||||
Q_UNUSED(_id);
|
||||
Q_UNUSED(_c);
|
||||
Q_UNUSED(_a);
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject XAtomHelper::staticMetaObject = { {
|
||||
&QObject::staticMetaObject,
|
||||
qt_meta_stringdata_XAtomHelper.data,
|
||||
qt_meta_data_XAtomHelper,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *XAtomHelper::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *XAtomHelper::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_XAtomHelper.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QObject::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int XAtomHelper::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QObject::qt_metacall(_c, _id, _a);
|
||||
return _id;
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
Binary file not shown.
BIN
plugin/mylabel.o
BIN
plugin/mylabel.o
Binary file not shown.
Binary file not shown.
|
@ -733,7 +733,7 @@ void TabWid::allComponents()
|
|||
|
||||
updateSettingLab = new TitleLabel();
|
||||
// updateSettingLab->setText(tr("更新设置"));
|
||||
//~ contents_path /upgrade/Update Settings
|
||||
//~ contents_path /Upgrade/Update Settings
|
||||
updateSettingLab->setText(tr("Update Settings"));
|
||||
updateSettingLab->setFixedHeight(27);
|
||||
updateSettingWidget = new QWidget(this);
|
||||
|
@ -745,7 +745,7 @@ void TabWid::allComponents()
|
|||
isAutoCheckLayout = new QHBoxLayout();
|
||||
isAutoCheckedLab = new QLabel();
|
||||
// isAutoCheckedLab->setText(tr("允许通知可更新的应用"));
|
||||
//~ contents_path /upgrade/Allowed to renewable notice
|
||||
//~ contents_path /Upgrade/Allowed to renewable notice
|
||||
isAutoCheckedLab->setText(tr("Allowed to renewable notice"));
|
||||
isAutoCheckSBtn = new SwitchButton();
|
||||
isAutoCheckWidget->setLayout(isAutoCheckLayout);
|
||||
|
@ -813,7 +813,7 @@ void TabWid::allComponents()
|
|||
isAutoUpgradeWidget->setFrameShape(QFrame::Box);
|
||||
isAutoUpgradeLayout = new QVBoxLayout();
|
||||
isAutoUpgradeLab = new QLabel();
|
||||
//~ contents_path /upgrade/Automatically download and install updates
|
||||
//~ contents_path /Upgrade/Automatically download and install updates
|
||||
isAutoUpgradeLab->setText(tr("Automatically download and install updates"));
|
||||
autoUpgradeLab = new QLabel();
|
||||
autoUpgradeLab->setText(tr("After it is turned on, the system will automatically download and install updates when there is an available network and available backup and restore partitions."));
|
||||
|
|
Binary file not shown.
|
@ -201,11 +201,11 @@
|
|||
<location filename="../src/tabwidget.cpp" line="141"/>
|
||||
<location filename="../src/tabwidget.cpp" line="170"/>
|
||||
<location filename="../src/tabwidget.cpp" line="594"/>
|
||||
<location filename="../src/tabwidget.cpp" line="931"/>
|
||||
<location filename="../src/tabwidget.cpp" line="972"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1095"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1265"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1350"/>
|
||||
<location filename="../src/tabwidget.cpp" line="935"/>
|
||||
<location filename="../src/tabwidget.cpp" line="976"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1099"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1269"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1354"/>
|
||||
<source>Check Update</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -218,41 +218,41 @@
|
|||
<location filename="../src/tabwidget.cpp" line="129"/>
|
||||
<location filename="../src/tabwidget.cpp" line="223"/>
|
||||
<location filename="../src/tabwidget.cpp" line="464"/>
|
||||
<location filename="../src/tabwidget.cpp" line="955"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1114"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1254"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1316"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1381"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1394"/>
|
||||
<location filename="../src/tabwidget.cpp" line="959"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1118"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1258"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1320"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1385"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1398"/>
|
||||
<source>UpdateAll</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="157"/>
|
||||
<location filename="../src/tabwidget.cpp" line="933"/>
|
||||
<location filename="../src/tabwidget.cpp" line="974"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1267"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1351"/>
|
||||
<location filename="../src/tabwidget.cpp" line="937"/>
|
||||
<location filename="../src/tabwidget.cpp" line="978"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1271"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1355"/>
|
||||
<source>Your system is the latest!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="158"/>
|
||||
<location filename="../src/tabwidget.cpp" line="936"/>
|
||||
<location filename="../src/tabwidget.cpp" line="977"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1007"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1295"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1361"/>
|
||||
<location filename="../src/tabwidget.cpp" line="940"/>
|
||||
<location filename="../src/tabwidget.cpp" line="981"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1011"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1299"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1365"/>
|
||||
<source>No Information!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="168"/>
|
||||
<location filename="../src/tabwidget.cpp" line="946"/>
|
||||
<location filename="../src/tabwidget.cpp" line="987"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1017"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1305"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1371"/>
|
||||
<location filename="../src/tabwidget.cpp" line="950"/>
|
||||
<location filename="../src/tabwidget.cpp" line="991"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1021"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1309"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1375"/>
|
||||
<source>Last refresh:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -275,13 +275,13 @@
|
|||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="210"/>
|
||||
<location filename="../src/tabwidget.cpp" line="455"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1390"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1394"/>
|
||||
<source>Being updated...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="222"/>
|
||||
<location filename="../src/tabwidget.cpp" line="958"/>
|
||||
<location filename="../src/tabwidget.cpp" line="962"/>
|
||||
<source>Updatable app detected on your system!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -307,7 +307,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="253"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1423"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1427"/>
|
||||
<source>Start backup,getting progress</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -319,8 +319,8 @@
|
|||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="272"/>
|
||||
<location filename="../src/tabwidget.cpp" line="276"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1133"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1176"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1137"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1180"/>
|
||||
<source>Cancel</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -336,7 +336,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="317"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1129"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1133"/>
|
||||
<source>Prompt information</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -406,167 +406,171 @@
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="666"/>
|
||||
<location filename="../src/tabwidget.cpp" line="667"/>
|
||||
<source>View history</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<extra-contents_path>/upgrade/View history</extra-contents_path>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="714"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1088"/>
|
||||
<location filename="../src/tabwidget.cpp" line="715"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1092"/>
|
||||
<source>details</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="735"/>
|
||||
<location filename="../src/tabwidget.cpp" line="737"/>
|
||||
<source>Update Settings</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<extra-contents_path>/Upgrade/Update Settings</extra-contents_path>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="746"/>
|
||||
<location filename="../src/tabwidget.cpp" line="749"/>
|
||||
<source>Allowed to renewable notice</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<extra-contents_path>/Upgrade/Allowed to renewable notice</extra-contents_path>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="756"/>
|
||||
<location filename="../src/tabwidget.cpp" line="759"/>
|
||||
<source>Backup current system before updates all</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="772"/>
|
||||
<location filename="../src/tabwidget.cpp" line="775"/>
|
||||
<source>Download Limit(Kb/s)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="777"/>
|
||||
<location filename="../src/tabwidget.cpp" line="780"/>
|
||||
<source>It will be avaliable in the next download.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="813"/>
|
||||
<location filename="../src/tabwidget.cpp" line="817"/>
|
||||
<source>Automatically download and install updates</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<extra-contents_path>/Upgrade/Automatically download and install updates</extra-contents_path>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="815"/>
|
||||
<location filename="../src/tabwidget.cpp" line="819"/>
|
||||
<source>After it is turned on, the system will automatically download and install updates when there is an available network and available backup and restore partitions.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="891"/>
|
||||
<location filename="../src/tabwidget.cpp" line="895"/>
|
||||
<source>Ready to install</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1018"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1022"/>
|
||||
<source>Last Checked:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1063"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1067"/>
|
||||
<source>Dependency conflict exists in this update,need to be completely repaired!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1065"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1069"/>
|
||||
<source>packages are going to be removed,Please confirm whether to accept!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1071"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1075"/>
|
||||
<source>trying to reconnect </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1071"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1075"/>
|
||||
<source> times</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1081"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1085"/>
|
||||
<source>back</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1109"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1113"/>
|
||||
<source>Updating the software source</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1118"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1122"/>
|
||||
<source>The battery is below 50% and the update cannot be downloaded</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1121"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1125"/>
|
||||
<source>OK</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1128"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1132"/>
|
||||
<source>Please back up the system before all updates to avoid unnecessary losses</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1131"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1135"/>
|
||||
<source>Only Update</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1132"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1136"/>
|
||||
<source>Back And Update</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1256"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1281"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1332"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1382"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1260"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1285"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1336"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1386"/>
|
||||
<source>update has been canceled!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1285"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1336"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1289"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1340"/>
|
||||
<source>Part of the update failed!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1318"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1322"/>
|
||||
<source>Part of the update success!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1405"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1409"/>
|
||||
<source>An important update is in progress, please wait.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1430"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1434"/>
|
||||
<source>Failed to write configuration file, this update will not back up the system!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1434"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1438"/>
|
||||
<source>Insufficient backup space, this update will not backup your system!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1438"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1442"/>
|
||||
<source>Kylin backup restore tool could not find the UUID, this update will not backup the system!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1441"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1445"/>
|
||||
<source>The backup restore partition is abnormal. You may not have a backup restore partition.For more details,see /var/log/backup.log</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1449"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1453"/>
|
||||
<source>Calculating Capacity...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1538"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1542"/>
|
||||
<source>Calculating</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -611,25 +615,25 @@
|
|||
<location filename="../upgrade.cpp" line="69"/>
|
||||
<source>View history</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<extra-contents_path>/upgrade/View history</extra-contents_path>
|
||||
<extra-contents_path>/Upgrade/View history</extra-contents_path>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../upgrade.cpp" line="71"/>
|
||||
<source>Update Settings</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<extra-contents_path>/upgrade/Update Settings</extra-contents_path>
|
||||
<extra-contents_path>/Upgrade/Update Settings</extra-contents_path>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../upgrade.cpp" line="73"/>
|
||||
<source>Allowed to renewable notice</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<extra-contents_path>/upgrade/Allowed to renewable notice</extra-contents_path>
|
||||
<extra-contents_path>/Upgrade/Allowed to renewable notice</extra-contents_path>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../upgrade.cpp" line="75"/>
|
||||
<source>Automatically download and install updates</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<extra-contents_path>/upgrade/Automatically download and install updates</extra-contents_path>
|
||||
<extra-contents_path>/Upgrade/Automatically download and install updates</extra-contents_path>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
|
|
@ -201,11 +201,11 @@
|
|||
<location filename="../src/tabwidget.cpp" line="141"/>
|
||||
<location filename="../src/tabwidget.cpp" line="170"/>
|
||||
<location filename="../src/tabwidget.cpp" line="594"/>
|
||||
<location filename="../src/tabwidget.cpp" line="931"/>
|
||||
<location filename="../src/tabwidget.cpp" line="972"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1095"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1265"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1350"/>
|
||||
<location filename="../src/tabwidget.cpp" line="935"/>
|
||||
<location filename="../src/tabwidget.cpp" line="976"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1099"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1269"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1354"/>
|
||||
<source>Check Update</source>
|
||||
<translation>检查更新</translation>
|
||||
</message>
|
||||
|
@ -218,41 +218,41 @@
|
|||
<location filename="../src/tabwidget.cpp" line="129"/>
|
||||
<location filename="../src/tabwidget.cpp" line="223"/>
|
||||
<location filename="../src/tabwidget.cpp" line="464"/>
|
||||
<location filename="../src/tabwidget.cpp" line="955"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1114"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1254"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1316"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1381"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1394"/>
|
||||
<location filename="../src/tabwidget.cpp" line="959"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1118"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1258"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1320"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1385"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1398"/>
|
||||
<source>UpdateAll</source>
|
||||
<translation>全部更新</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="157"/>
|
||||
<location filename="../src/tabwidget.cpp" line="933"/>
|
||||
<location filename="../src/tabwidget.cpp" line="974"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1267"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1351"/>
|
||||
<location filename="../src/tabwidget.cpp" line="937"/>
|
||||
<location filename="../src/tabwidget.cpp" line="978"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1271"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1355"/>
|
||||
<source>Your system is the latest!</source>
|
||||
<translation>您的系统已是最新!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="158"/>
|
||||
<location filename="../src/tabwidget.cpp" line="936"/>
|
||||
<location filename="../src/tabwidget.cpp" line="977"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1007"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1295"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1361"/>
|
||||
<location filename="../src/tabwidget.cpp" line="940"/>
|
||||
<location filename="../src/tabwidget.cpp" line="981"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1011"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1299"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1365"/>
|
||||
<source>No Information!</source>
|
||||
<translation>尚未检测更新!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="168"/>
|
||||
<location filename="../src/tabwidget.cpp" line="946"/>
|
||||
<location filename="../src/tabwidget.cpp" line="987"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1017"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1305"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1371"/>
|
||||
<location filename="../src/tabwidget.cpp" line="950"/>
|
||||
<location filename="../src/tabwidget.cpp" line="991"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1021"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1309"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1375"/>
|
||||
<source>Last refresh:</source>
|
||||
<translation>上次更新:</translation>
|
||||
</message>
|
||||
|
@ -275,13 +275,13 @@
|
|||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="210"/>
|
||||
<location filename="../src/tabwidget.cpp" line="455"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1390"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1394"/>
|
||||
<source>Being updated...</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="222"/>
|
||||
<location filename="../src/tabwidget.cpp" line="958"/>
|
||||
<location filename="../src/tabwidget.cpp" line="962"/>
|
||||
<source>Updatable app detected on your system!</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
|
@ -307,7 +307,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="253"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1423"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1427"/>
|
||||
<source>Start backup,getting progress</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
|
@ -319,8 +319,8 @@
|
|||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="272"/>
|
||||
<location filename="../src/tabwidget.cpp" line="276"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1133"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1176"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1137"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1180"/>
|
||||
<source>Cancel</source>
|
||||
<translation>取消</translation>
|
||||
</message>
|
||||
|
@ -336,7 +336,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="317"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1129"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1133"/>
|
||||
<source>Prompt information</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
|
@ -406,167 +406,171 @@
|
|||
<translation>更新</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="666"/>
|
||||
<location filename="../src/tabwidget.cpp" line="667"/>
|
||||
<source>View history</source>
|
||||
<translation></translation>
|
||||
<extra-contents_path>/upgrade/View history</extra-contents_path>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="714"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1088"/>
|
||||
<location filename="../src/tabwidget.cpp" line="715"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1092"/>
|
||||
<source>details</source>
|
||||
<translation>详情</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="735"/>
|
||||
<location filename="../src/tabwidget.cpp" line="737"/>
|
||||
<source>Update Settings</source>
|
||||
<translation></translation>
|
||||
<extra-contents_path>/Upgrade/Update Settings</extra-contents_path>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="746"/>
|
||||
<location filename="../src/tabwidget.cpp" line="749"/>
|
||||
<source>Allowed to renewable notice</source>
|
||||
<translation></translation>
|
||||
<extra-contents_path>/Upgrade/Allowed to renewable notice</extra-contents_path>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="756"/>
|
||||
<location filename="../src/tabwidget.cpp" line="759"/>
|
||||
<source>Backup current system before updates all</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="772"/>
|
||||
<location filename="../src/tabwidget.cpp" line="775"/>
|
||||
<source>Download Limit(Kb/s)</source>
|
||||
<translation>下载限速(Kb/s)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="777"/>
|
||||
<location filename="../src/tabwidget.cpp" line="780"/>
|
||||
<source>It will be avaliable in the next download.</source>
|
||||
<translation>开启后会在下次下载时进行限速。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="813"/>
|
||||
<location filename="../src/tabwidget.cpp" line="817"/>
|
||||
<source>Automatically download and install updates</source>
|
||||
<translation></translation>
|
||||
<extra-contents_path>/Upgrade/Automatically download and install updates</extra-contents_path>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="815"/>
|
||||
<location filename="../src/tabwidget.cpp" line="819"/>
|
||||
<source>After it is turned on, the system will automatically download and install updates when there is an available network and available backup and restore partitions.</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="891"/>
|
||||
<location filename="../src/tabwidget.cpp" line="895"/>
|
||||
<source>Ready to install</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1018"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1022"/>
|
||||
<source>Last Checked:</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1063"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1067"/>
|
||||
<source>Dependency conflict exists in this update,need to be completely repaired!</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1065"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1069"/>
|
||||
<source>packages are going to be removed,Please confirm whether to accept!</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1071"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1075"/>
|
||||
<source>trying to reconnect </source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1071"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1075"/>
|
||||
<source> times</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1081"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1085"/>
|
||||
<source>back</source>
|
||||
<translation>收起</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1109"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1113"/>
|
||||
<source>Updating the software source</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1118"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1122"/>
|
||||
<source>The battery is below 50% and the update cannot be downloaded</source>
|
||||
<translation>电池电量低于 50%,无法下载更新</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1121"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1125"/>
|
||||
<source>OK</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1128"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1132"/>
|
||||
<source>Please back up the system before all updates to avoid unnecessary losses</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1131"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1135"/>
|
||||
<source>Only Update</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1132"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1136"/>
|
||||
<source>Back And Update</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1256"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1281"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1332"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1382"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1260"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1285"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1336"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1386"/>
|
||||
<source>update has been canceled!</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1285"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1336"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1289"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1340"/>
|
||||
<source>Part of the update failed!</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1318"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1322"/>
|
||||
<source>Part of the update success!</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1405"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1409"/>
|
||||
<source>An important update is in progress, please wait.</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1430"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1434"/>
|
||||
<source>Failed to write configuration file, this update will not back up the system!</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1434"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1438"/>
|
||||
<source>Insufficient backup space, this update will not backup your system!</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1438"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1442"/>
|
||||
<source>Kylin backup restore tool could not find the UUID, this update will not backup the system!</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1441"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1445"/>
|
||||
<source>The backup restore partition is abnormal. You may not have a backup restore partition.For more details,see /var/log/backup.log</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1449"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1453"/>
|
||||
<source>Calculating Capacity...</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1538"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1542"/>
|
||||
<source>Calculating</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
|
@ -611,25 +615,25 @@
|
|||
<location filename="../upgrade.cpp" line="69"/>
|
||||
<source>View history</source>
|
||||
<translation>查看更新历史</translation>
|
||||
<extra-contents_path>/upgrade/View history</extra-contents_path>
|
||||
<extra-contents_path>/Upgrade/View history</extra-contents_path>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../upgrade.cpp" line="71"/>
|
||||
<source>Update Settings</source>
|
||||
<translation>更新设置</translation>
|
||||
<extra-contents_path>/upgrade/Update Settings</extra-contents_path>
|
||||
<extra-contents_path>/Upgrade/Update Settings</extra-contents_path>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../upgrade.cpp" line="73"/>
|
||||
<source>Allowed to renewable notice</source>
|
||||
<translation>允许通知可更新的应用</translation>
|
||||
<extra-contents_path>/upgrade/Allowed to renewable notice</extra-contents_path>
|
||||
<extra-contents_path>/Upgrade/Allowed to renewable notice</extra-contents_path>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../upgrade.cpp" line="75"/>
|
||||
<source>Automatically download and install updates</source>
|
||||
<translation>自动下载和安装更新</translation>
|
||||
<extra-contents_path>/upgrade/Automatically download and install updates</extra-contents_path>
|
||||
<extra-contents_path>/Upgrade/Automatically download and install updates</extra-contents_path>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
|
|
@ -201,11 +201,11 @@
|
|||
<location filename="../src/tabwidget.cpp" line="141"/>
|
||||
<location filename="../src/tabwidget.cpp" line="170"/>
|
||||
<location filename="../src/tabwidget.cpp" line="594"/>
|
||||
<location filename="../src/tabwidget.cpp" line="931"/>
|
||||
<location filename="../src/tabwidget.cpp" line="972"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1095"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1265"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1350"/>
|
||||
<location filename="../src/tabwidget.cpp" line="935"/>
|
||||
<location filename="../src/tabwidget.cpp" line="976"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1099"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1269"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1354"/>
|
||||
<source>Check Update</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -218,41 +218,41 @@
|
|||
<location filename="../src/tabwidget.cpp" line="129"/>
|
||||
<location filename="../src/tabwidget.cpp" line="223"/>
|
||||
<location filename="../src/tabwidget.cpp" line="464"/>
|
||||
<location filename="../src/tabwidget.cpp" line="955"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1114"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1254"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1316"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1381"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1394"/>
|
||||
<location filename="../src/tabwidget.cpp" line="959"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1118"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1258"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1320"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1385"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1398"/>
|
||||
<source>UpdateAll</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="157"/>
|
||||
<location filename="../src/tabwidget.cpp" line="933"/>
|
||||
<location filename="../src/tabwidget.cpp" line="974"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1267"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1351"/>
|
||||
<location filename="../src/tabwidget.cpp" line="937"/>
|
||||
<location filename="../src/tabwidget.cpp" line="978"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1271"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1355"/>
|
||||
<source>Your system is the latest!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="158"/>
|
||||
<location filename="../src/tabwidget.cpp" line="936"/>
|
||||
<location filename="../src/tabwidget.cpp" line="977"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1007"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1295"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1361"/>
|
||||
<location filename="../src/tabwidget.cpp" line="940"/>
|
||||
<location filename="../src/tabwidget.cpp" line="981"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1011"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1299"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1365"/>
|
||||
<source>No Information!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="168"/>
|
||||
<location filename="../src/tabwidget.cpp" line="946"/>
|
||||
<location filename="../src/tabwidget.cpp" line="987"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1017"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1305"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1371"/>
|
||||
<location filename="../src/tabwidget.cpp" line="950"/>
|
||||
<location filename="../src/tabwidget.cpp" line="991"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1021"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1309"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1375"/>
|
||||
<source>Last refresh:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -275,13 +275,13 @@
|
|||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="210"/>
|
||||
<location filename="../src/tabwidget.cpp" line="455"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1390"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1394"/>
|
||||
<source>Being updated...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="222"/>
|
||||
<location filename="../src/tabwidget.cpp" line="958"/>
|
||||
<location filename="../src/tabwidget.cpp" line="962"/>
|
||||
<source>Updatable app detected on your system!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -307,7 +307,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="253"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1423"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1427"/>
|
||||
<source>Start backup,getting progress</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -319,8 +319,8 @@
|
|||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="272"/>
|
||||
<location filename="../src/tabwidget.cpp" line="276"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1133"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1176"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1137"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1180"/>
|
||||
<source>Cancel</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -336,7 +336,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="317"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1129"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1133"/>
|
||||
<source>Prompt information</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -406,167 +406,171 @@
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="666"/>
|
||||
<location filename="../src/tabwidget.cpp" line="667"/>
|
||||
<source>View history</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<extra-contents_path>/upgrade/View history</extra-contents_path>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="714"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1088"/>
|
||||
<location filename="../src/tabwidget.cpp" line="715"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1092"/>
|
||||
<source>details</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="735"/>
|
||||
<location filename="../src/tabwidget.cpp" line="737"/>
|
||||
<source>Update Settings</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<extra-contents_path>/Upgrade/Update Settings</extra-contents_path>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="746"/>
|
||||
<location filename="../src/tabwidget.cpp" line="749"/>
|
||||
<source>Allowed to renewable notice</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<extra-contents_path>/Upgrade/Allowed to renewable notice</extra-contents_path>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="756"/>
|
||||
<location filename="../src/tabwidget.cpp" line="759"/>
|
||||
<source>Backup current system before updates all</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="772"/>
|
||||
<location filename="../src/tabwidget.cpp" line="775"/>
|
||||
<source>Download Limit(Kb/s)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="777"/>
|
||||
<location filename="../src/tabwidget.cpp" line="780"/>
|
||||
<source>It will be avaliable in the next download.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="813"/>
|
||||
<location filename="../src/tabwidget.cpp" line="817"/>
|
||||
<source>Automatically download and install updates</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<extra-contents_path>/Upgrade/Automatically download and install updates</extra-contents_path>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="815"/>
|
||||
<location filename="../src/tabwidget.cpp" line="819"/>
|
||||
<source>After it is turned on, the system will automatically download and install updates when there is an available network and available backup and restore partitions.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="891"/>
|
||||
<location filename="../src/tabwidget.cpp" line="895"/>
|
||||
<source>Ready to install</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1018"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1022"/>
|
||||
<source>Last Checked:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1063"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1067"/>
|
||||
<source>Dependency conflict exists in this update,need to be completely repaired!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1065"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1069"/>
|
||||
<source>packages are going to be removed,Please confirm whether to accept!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1071"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1075"/>
|
||||
<source>trying to reconnect </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1071"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1075"/>
|
||||
<source> times</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1081"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1085"/>
|
||||
<source>back</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1109"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1113"/>
|
||||
<source>Updating the software source</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1118"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1122"/>
|
||||
<source>The battery is below 50% and the update cannot be downloaded</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1121"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1125"/>
|
||||
<source>OK</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1128"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1132"/>
|
||||
<source>Please back up the system before all updates to avoid unnecessary losses</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1131"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1135"/>
|
||||
<source>Only Update</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1132"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1136"/>
|
||||
<source>Back And Update</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1256"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1281"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1332"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1382"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1260"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1285"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1336"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1386"/>
|
||||
<source>update has been canceled!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1285"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1336"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1289"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1340"/>
|
||||
<source>Part of the update failed!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1318"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1322"/>
|
||||
<source>Part of the update success!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1405"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1409"/>
|
||||
<source>An important update is in progress, please wait.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1430"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1434"/>
|
||||
<source>Failed to write configuration file, this update will not back up the system!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1434"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1438"/>
|
||||
<source>Insufficient backup space, this update will not backup your system!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1438"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1442"/>
|
||||
<source>Kylin backup restore tool could not find the UUID, this update will not backup the system!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1441"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1445"/>
|
||||
<source>The backup restore partition is abnormal. You may not have a backup restore partition.For more details,see /var/log/backup.log</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1449"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1453"/>
|
||||
<source>Calculating Capacity...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1538"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1542"/>
|
||||
<source>Calculating</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -611,25 +615,25 @@
|
|||
<location filename="../upgrade.cpp" line="69"/>
|
||||
<source>View history</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<extra-contents_path>/upgrade/View history</extra-contents_path>
|
||||
<extra-contents_path>/Upgrade/View history</extra-contents_path>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../upgrade.cpp" line="71"/>
|
||||
<source>Update Settings</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<extra-contents_path>/upgrade/Update Settings</extra-contents_path>
|
||||
<extra-contents_path>/Upgrade/Update Settings</extra-contents_path>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../upgrade.cpp" line="73"/>
|
||||
<source>Allowed to renewable notice</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<extra-contents_path>/upgrade/Allowed to renewable notice</extra-contents_path>
|
||||
<extra-contents_path>/Upgrade/Allowed to renewable notice</extra-contents_path>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../upgrade.cpp" line="75"/>
|
||||
<source>Automatically download and install updates</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<extra-contents_path>/upgrade/Automatically download and install updates</extra-contents_path>
|
||||
<extra-contents_path>/Upgrade/Automatically download and install updates</extra-contents_path>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
|
|
@ -201,11 +201,11 @@
|
|||
<location filename="../src/tabwidget.cpp" line="141"/>
|
||||
<location filename="../src/tabwidget.cpp" line="170"/>
|
||||
<location filename="../src/tabwidget.cpp" line="594"/>
|
||||
<location filename="../src/tabwidget.cpp" line="931"/>
|
||||
<location filename="../src/tabwidget.cpp" line="972"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1095"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1265"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1350"/>
|
||||
<location filename="../src/tabwidget.cpp" line="935"/>
|
||||
<location filename="../src/tabwidget.cpp" line="976"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1099"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1269"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1354"/>
|
||||
<source>Check Update</source>
|
||||
<translation>检查更新</translation>
|
||||
</message>
|
||||
|
@ -218,41 +218,41 @@
|
|||
<location filename="../src/tabwidget.cpp" line="129"/>
|
||||
<location filename="../src/tabwidget.cpp" line="223"/>
|
||||
<location filename="../src/tabwidget.cpp" line="464"/>
|
||||
<location filename="../src/tabwidget.cpp" line="955"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1114"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1254"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1316"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1381"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1394"/>
|
||||
<location filename="../src/tabwidget.cpp" line="959"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1118"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1258"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1320"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1385"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1398"/>
|
||||
<source>UpdateAll</source>
|
||||
<translation>全部更新</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="157"/>
|
||||
<location filename="../src/tabwidget.cpp" line="933"/>
|
||||
<location filename="../src/tabwidget.cpp" line="974"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1267"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1351"/>
|
||||
<location filename="../src/tabwidget.cpp" line="937"/>
|
||||
<location filename="../src/tabwidget.cpp" line="978"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1271"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1355"/>
|
||||
<source>Your system is the latest!</source>
|
||||
<translation>您的系统已是最新!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="158"/>
|
||||
<location filename="../src/tabwidget.cpp" line="936"/>
|
||||
<location filename="../src/tabwidget.cpp" line="977"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1007"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1295"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1361"/>
|
||||
<location filename="../src/tabwidget.cpp" line="940"/>
|
||||
<location filename="../src/tabwidget.cpp" line="981"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1011"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1299"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1365"/>
|
||||
<source>No Information!</source>
|
||||
<translation>尚未检测更新!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="168"/>
|
||||
<location filename="../src/tabwidget.cpp" line="946"/>
|
||||
<location filename="../src/tabwidget.cpp" line="987"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1017"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1305"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1371"/>
|
||||
<location filename="../src/tabwidget.cpp" line="950"/>
|
||||
<location filename="../src/tabwidget.cpp" line="991"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1021"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1309"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1375"/>
|
||||
<source>Last refresh:</source>
|
||||
<translation>上次更新:</translation>
|
||||
</message>
|
||||
|
@ -275,13 +275,13 @@
|
|||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="210"/>
|
||||
<location filename="../src/tabwidget.cpp" line="455"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1390"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1394"/>
|
||||
<source>Being updated...</source>
|
||||
<translation>正在更新...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="222"/>
|
||||
<location filename="../src/tabwidget.cpp" line="958"/>
|
||||
<location filename="../src/tabwidget.cpp" line="962"/>
|
||||
<source>Updatable app detected on your system!</source>
|
||||
<translation>检测到你的系统有可更新的应用!</translation>
|
||||
</message>
|
||||
|
@ -307,7 +307,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="253"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1423"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1427"/>
|
||||
<source>Start backup,getting progress</source>
|
||||
<translation>开始备份,正在获取进度</translation>
|
||||
</message>
|
||||
|
@ -319,8 +319,8 @@
|
|||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="272"/>
|
||||
<location filename="../src/tabwidget.cpp" line="276"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1133"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1176"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1137"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1180"/>
|
||||
<source>Cancel</source>
|
||||
<translation>取消</translation>
|
||||
</message>
|
||||
|
@ -336,7 +336,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="317"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1129"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1133"/>
|
||||
<source>Prompt information</source>
|
||||
<translation>提示信息</translation>
|
||||
</message>
|
||||
|
@ -406,167 +406,171 @@
|
|||
<translation>更新</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="666"/>
|
||||
<location filename="../src/tabwidget.cpp" line="667"/>
|
||||
<source>View history</source>
|
||||
<translation>查看更新历史</translation>
|
||||
<extra-contents_path>/upgrade/View history</extra-contents_path>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="714"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1088"/>
|
||||
<location filename="../src/tabwidget.cpp" line="715"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1092"/>
|
||||
<source>details</source>
|
||||
<translation>详情</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="735"/>
|
||||
<location filename="../src/tabwidget.cpp" line="737"/>
|
||||
<source>Update Settings</source>
|
||||
<translation>更新设置</translation>
|
||||
<extra-contents_path>/Upgrade/Update Settings</extra-contents_path>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="746"/>
|
||||
<location filename="../src/tabwidget.cpp" line="749"/>
|
||||
<source>Allowed to renewable notice</source>
|
||||
<translation>允许通知可更新的应用</translation>
|
||||
<extra-contents_path>/Upgrade/Allowed to renewable notice</extra-contents_path>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="756"/>
|
||||
<location filename="../src/tabwidget.cpp" line="759"/>
|
||||
<source>Backup current system before updates all</source>
|
||||
<translation>全部更新前备份系统</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="772"/>
|
||||
<location filename="../src/tabwidget.cpp" line="775"/>
|
||||
<source>Download Limit(Kb/s)</source>
|
||||
<translation>下载限速(Kb/s)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="777"/>
|
||||
<location filename="../src/tabwidget.cpp" line="780"/>
|
||||
<source>It will be avaliable in the next download.</source>
|
||||
<translation>开启后会在下次下载时进行限速。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="813"/>
|
||||
<location filename="../src/tabwidget.cpp" line="817"/>
|
||||
<source>Automatically download and install updates</source>
|
||||
<translation>自动下载和安装更新</translation>
|
||||
<extra-contents_path>/Upgrade/Automatically download and install updates</extra-contents_path>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="815"/>
|
||||
<location filename="../src/tabwidget.cpp" line="819"/>
|
||||
<source>After it is turned on, the system will automatically download and install updates when there is an available network and available backup and restore partitions.</source>
|
||||
<translation>开启后,当有可用网络和可用备份和恢复分区时,系统会自动下载和安装更新。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="891"/>
|
||||
<location filename="../src/tabwidget.cpp" line="895"/>
|
||||
<source>Ready to install</source>
|
||||
<translation>准备安装</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1018"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1022"/>
|
||||
<source>Last Checked:</source>
|
||||
<translation>上次检测:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1063"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1067"/>
|
||||
<source>Dependency conflict exists in this update,need to be completely repaired!</source>
|
||||
<translation>本次更新存在包依赖冲突,需要全盘修复以完成更新!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1065"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1069"/>
|
||||
<source>packages are going to be removed,Please confirm whether to accept!</source>
|
||||
<translation>个软件包将被卸载,请确认是否接受!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1071"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1075"/>
|
||||
<source>trying to reconnect </source>
|
||||
<translation>重新尝试连接 </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1071"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1075"/>
|
||||
<source> times</source>
|
||||
<translation>次数</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1081"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1085"/>
|
||||
<source>back</source>
|
||||
<translation>收起</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1109"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1113"/>
|
||||
<source>Updating the software source</source>
|
||||
<translation>正在更新软件源</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1118"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1122"/>
|
||||
<source>The battery is below 50% and the update cannot be downloaded</source>
|
||||
<translation>电池电量低于 50%,无法下载更新</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1121"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1125"/>
|
||||
<source>OK</source>
|
||||
<translation>确定</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1128"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1132"/>
|
||||
<source>Please back up the system before all updates to avoid unnecessary losses</source>
|
||||
<translation>请在所有更新前备份系统,以免造成不必要的损失</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1131"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1135"/>
|
||||
<source>Only Update</source>
|
||||
<translation>仅更新</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1132"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1136"/>
|
||||
<source>Back And Update</source>
|
||||
<translation>备份并更新</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1256"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1281"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1332"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1382"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1260"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1285"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1336"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1386"/>
|
||||
<source>update has been canceled!</source>
|
||||
<translation>本次更新已取消!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1285"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1336"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1289"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1340"/>
|
||||
<source>Part of the update failed!</source>
|
||||
<translation>部分更新失败!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1318"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1322"/>
|
||||
<source>Part of the update success!</source>
|
||||
<translation>部分软件包更新成功!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1405"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1409"/>
|
||||
<source>An important update is in progress, please wait.</source>
|
||||
<translation>正在进行一项重要更新,请等待。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1430"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1434"/>
|
||||
<source>Failed to write configuration file, this update will not back up the system!</source>
|
||||
<translation>写入配置文件失败,本次更新不会备份系统!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1434"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1438"/>
|
||||
<source>Insufficient backup space, this update will not backup your system!</source>
|
||||
<translation>备份空间不足,本次更新不会备份系统!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1438"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1442"/>
|
||||
<source>Kylin backup restore tool could not find the UUID, this update will not backup the system!</source>
|
||||
<translation>麒麟备份还原工具无法找到UUID,本次更新不会备份系统!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1441"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1445"/>
|
||||
<source>The backup restore partition is abnormal. You may not have a backup restore partition.For more details,see /var/log/backup.log</source>
|
||||
<translation>备份还原分区异常,您可能没有备份还原分区。更多详细信息,可以参看/var/log/backup.log</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1449"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1453"/>
|
||||
<source>Calculating Capacity...</source>
|
||||
<translation>计算系统空间大小...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tabwidget.cpp" line="1538"/>
|
||||
<location filename="../src/tabwidget.cpp" line="1542"/>
|
||||
<source>Calculating</source>
|
||||
<translation>计算中</translation>
|
||||
</message>
|
||||
|
@ -611,25 +615,25 @@
|
|||
<location filename="../upgrade.cpp" line="69"/>
|
||||
<source>View history</source>
|
||||
<translation>查看更新历史</translation>
|
||||
<extra-contents_path>/upgrade/View history</extra-contents_path>
|
||||
<extra-contents_path>/Upgrade/View history</extra-contents_path>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../upgrade.cpp" line="71"/>
|
||||
<source>Update Settings</source>
|
||||
<translation>更新设置</translation>
|
||||
<extra-contents_path>/upgrade/Update Settings</extra-contents_path>
|
||||
<extra-contents_path>/Upgrade/Update Settings</extra-contents_path>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../upgrade.cpp" line="73"/>
|
||||
<source>Allowed to renewable notice</source>
|
||||
<translation>允许通知可更新的应用</translation>
|
||||
<extra-contents_path>/upgrade/Allowed to renewable notice</extra-contents_path>
|
||||
<extra-contents_path>/Upgrade/Allowed to renewable notice</extra-contents_path>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../upgrade.cpp" line="75"/>
|
||||
<source>Automatically download and install updates</source>
|
||||
<translation>自动下载和安装更新</translation>
|
||||
<extra-contents_path>/upgrade/Automatically download and install updates</extra-contents_path>
|
||||
<extra-contents_path>/Upgrade/Automatically download and install updates</extra-contents_path>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
|
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue