From 1905c88e48b75e1242e74999190518c07a2d57be Mon Sep 17 00:00:00 2001 From: fuleyi Date: Mon, 17 Feb 2025 14:38:32 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=9B=B4=E6=96=B0=E6=96=B9=E6=A1=88?= =?UTF-8?q?=E5=8F=98=E6=9B=B4=EF=BC=8C=E5=8E=BB=E6=8E=89dut=E3=80=81ab?= =?UTF-8?q?=E5=A4=87=E4=BB=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 更新方案变更,去掉dut、ab备份 Log: 更新方案变更,去掉dut、ab备份 pms: TASK-362299 --- .reuse/dep5 | 2 +- debian/changelog | 6 + .../lastore-after-upgrade-check.service | 10 - src/internal/config/repo_config.go | 4 + src/internal/system/command.go | 4 + src/internal/system/common.go | 22 + src/internal/system/dut/common.go | 56 --- src/internal/system/dut/dut.go | 214 --------- src/internal/system/dut/proxy.go | 259 ----------- src/internal/system/update_type.go | 4 + src/internal/updateplatform/message_report.go | 55 --- .../updateplatform/upgrade_result_msg.go | 4 + src/lastore-agent/agent.c | 4 + src/lastore-agent/agent.h | 4 + src/lastore-agent/log.h | 4 + src/lastore-agent/main.c | 4 + src/lastore-agent/sd_bus_method.c | 4 + src/lastore-agent/sd_bus_method.h | 4 + src/lastore-daemon/dbusutil.go | 18 +- src/lastore-daemon/exported_methods_auto.go | 120 +---- src/lastore-daemon/main.go | 10 +- src/lastore-daemon/manager.go | 39 +- src/lastore-daemon/manager_check.go | 241 ---------- src/lastore-daemon/manager_download.go | 4 + src/lastore-daemon/manager_idle.go | 4 + src/lastore-daemon/manager_ifc.go | 135 +----- src/lastore-daemon/manager_unit.go | 2 +- src/lastore-daemon/manager_update.go | 9 +- src/lastore-daemon/manager_upgrade.go | 411 +----------------- src/lastore-daemon/offline_repo.go | 26 +- src/lastore-daemon/offline_utils.go | 4 + src/lastore-daemon/updater.go | 24 +- src/lastore-daemon/updater_ifc.go | 8 +- src/lastore-tools/update_message.go | 4 + .../org.deepin.dde.lastore.json | 10 +- .../lightdm.conf.d/90-deepin-upgrade.conf | 3 - .../scripts/gen_upgrade_check_config.sh | 15 - var/lib/lastore/scripts/upgrade_check.sh | 15 - 38 files changed, 187 insertions(+), 1579 deletions(-) delete mode 100644 lib/systemd/system/lastore-after-upgrade-check.service delete mode 100644 src/internal/system/dut/common.go delete mode 100644 src/internal/system/dut/dut.go delete mode 100644 src/internal/system/dut/proxy.go delete mode 100644 src/lastore-daemon/manager_check.go delete mode 100644 usr/share/lightdm/lightdm.conf.d/90-deepin-upgrade.conf delete mode 100755 var/lib/lastore/scripts/gen_upgrade_check_config.sh delete mode 100755 var/lib/lastore/scripts/upgrade_check.sh diff --git a/.reuse/dep5 b/.reuse/dep5 index 006438f68..0095d0290 100644 --- a/.reuse/dep5 +++ b/.reuse/dep5 @@ -44,7 +44,7 @@ Copyright: UnionTech Software Technology Co., Ltd. License: GPL-3.0-or-later # configuration file -Files: usr/share/* var/lib/* etc/apt/* lib/systemd/* +Files: usr/share/* var/lib/* etc/* lib/systemd/* Copyright: UnionTech Software Technology Co., Ltd. License: GPL-3.0-or-later diff --git a/debian/changelog b/debian/changelog index 30227d7f9..37886a93b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +lastore-daemon (6.2.7) unstable; urgency=medium + + * feat: 更新方案变更,去掉dut + + -- fuleyi Mon, 17 Feb 2025 14:36:36 +0800 + lastore-daemon (6.2.6) stable; urgency=medium * fix: 修复旧版控制中心无法加入内测的问题 (linuxdeepin#129) diff --git a/lib/systemd/system/lastore-after-upgrade-check.service b/lib/systemd/system/lastore-after-upgrade-check.service deleted file mode 100644 index a432ea113..000000000 --- a/lib/systemd/system/lastore-after-upgrade-check.service +++ /dev/null @@ -1,10 +0,0 @@ -[Unit] -Description=generate config file for check system -Before=display-manager.service - -[Service] -Type=oneshot -ExecStart=/var/lib/lastore/scripts/gen_upgrade_check_config.sh - -[Install] -WantedBy=multi-user.target diff --git a/src/internal/config/repo_config.go b/src/internal/config/repo_config.go index c25cdcdfe..3a408c26e 100644 --- a/src/internal/config/repo_config.go +++ b/src/internal/config/repo_config.go @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2018 - 2022 UnionTech Software Technology Co., Ltd. +// +// SPDX-License-Identifier: GPL-3.0-or-later + package config import ( diff --git a/src/internal/system/command.go b/src/internal/system/command.go index 0440ad5e1..378825e98 100644 --- a/src/internal/system/command.go +++ b/src/internal/system/command.go @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2018 - 2022 UnionTech Software Technology Co., Ltd. +// +// SPDX-License-Identifier: GPL-3.0-or-later + package system import ( diff --git a/src/internal/system/common.go b/src/internal/system/common.go index f7d50521b..c33be7fca 100644 --- a/src/internal/system/common.go +++ b/src/internal/system/common.go @@ -7,6 +7,7 @@ package system import ( "bufio" "encoding/json" + "github.com/linuxdeepin/go-lib/keyfile" "io" "os" "os/exec" @@ -273,6 +274,14 @@ const ( ) func IsAuthorized() bool { + edition, err := getEditionName() + if err != nil { + return false + } + // 社区版不需要鉴权 + if edition == "Community" { + return true + } sysBus, err := dbusutil.NewSystemService() if err != nil { logger.Warning(err) @@ -335,3 +344,16 @@ func CheckLock(p string) (string, bool) { return "", false } + +func getEditionName() (string, error) { + kf := keyfile.NewKeyFile() + err := kf.LoadFromFile("/etc/os-version") + if err != nil { + return "", err + } + editionName, err := kf.GetString("Version", "EditionName") + if err != nil { + return "", err + } + return editionName, nil +} diff --git a/src/internal/system/dut/common.go b/src/internal/system/dut/common.go deleted file mode 100644 index dea4d4ba6..000000000 --- a/src/internal/system/dut/common.go +++ /dev/null @@ -1,56 +0,0 @@ -package dut - -type ErrorCode int - -const ( - ChkSuccess ErrorCode = 0 // 检查成功 - ChkError ErrorCode = 1 << iota // 检查失败 - ChkInvalidInput // 无效参数输入 - ChkFixPkgDependFailed // 软件包配置修复失败 - ChkBlockError // 阻塞项检查失败 - ChkNonblockError // 非阻塞项检查失败 - ChkDynError // 动态检查失败 -) - -type ExtCode uint - -const ( - ChkProgramSuccess uint = 0 // 检查项成功 - ChkProgramError uint = 1 << iota // 检查项失败 - ChkMetaInfoFileError // 元数据项检查报错 - // precheck阻塞项返回值 - ChkToolsDependError // 依赖工具项检查报错 - ChkPkgDependError // precheck、midcheck // 系统存在依赖错误 - ChkCorePkgDependError // 系统核心包存在依赖错误 - ChkSysDiskOutSpace // precheck、midcheck(阻塞+非阻塞) 系统盘剩余空间不足 - ChkDataDiskOutSpace // 数据盘剩余空间不足 - ChkCorePkgNotfound // precheck、midcheck 系统核心包丢失 - ChkOptionPkgNotfound // precheck、midcheck 系统可选包丢失 - ChkDpkgVersionNotSupported // DPKG非系统版本 - // midcheck阻塞项返回值 - ChkAptStateError // 阻塞项,APT安装状态错误 - ChkDpkgStateError // 阻塞项,DPKG安装状态错误 - ChkPkgListNonexistence // 阻塞项,PkgList清单中的包丢失 - ChkPkgListErrState // 阻塞项,PkgList清单中的包安装状态错误 - ChkPkgListErrVersion // 阻塞项,PkgList清单中的包版本错误 - ChkCoreFileMiss // 阻塞项,系统核心文件丢失 - ChkSysPkgInfoLoadErr // 阻塞项,当前系统包信息加载失败 - // postcheck阻塞项返回值 - ChkImportantProgressNotRunning // 系统重要进程检查失败 - - // midcheck非阻塞项返回值 - ChkCorePkgErrState // 系统核心包安装状态错误 - ChkCorePkgErrVersion // 系统核心包版本错误 - ChkOptionPkgErrState // 系统可选包安装状态错误 - ChkOptionPkgErrVersion // 系统可选包版本错误 - // postcheck非阻塞项返回值 - ChkUuidDirNotExist // 更新元数据UUID目录不存在 - ChkLogFileNotExist // 更新日志文件不存在 - ChkLogRmSensitiveInfoFailed // 更新日志脱敏失败 - ChkArchiveFileNotExist // 更新归档文件不存在 - // dynamic检查 - ChkDynamicScriptErr // 动态检查失败 - ChkPkgConfigError // 软件包配置错误 - UpdatePkgInstallFailed // 软件包安装失败 - UpdateRulesCheckFailed // 更新规则检查失败 -) diff --git a/src/internal/system/dut/dut.go b/src/internal/system/dut/dut.go deleted file mode 100644 index 49a1eaf0a..000000000 --- a/src/internal/system/dut/dut.go +++ /dev/null @@ -1,214 +0,0 @@ -package dut - -import ( - "bytes" - "encoding/json" - "fmt" - "os/exec" - "strings" - "syscall" - - "github.com/linuxdeepin/lastore-daemon/src/internal/system" - - "github.com/linuxdeepin/go-lib/log" -) - -var logger = log.NewLogger("lastore/dut") - -func newDUTCommand(cmdSet system.CommandSet, jobId string, cmdType string, fn system.Indicator, cmdArgs []string) *system.Command { - cmd := createCommandLine(cmdType, cmdArgs) - cmd.SysProcAttr = &syscall.SysProcAttr{Setpgid: true} - r := &system.Command{ - JobId: jobId, - CmdSet: cmdSet, - Indicator: fn, - ParseJobError: parseJobError, - ParseProgressInfo: parseProgressInfo, - Cmd: cmd, - Cancelable: true, - } - cmd.Stdout = &r.Stdout - cmd.Stderr = &r.Stderr - cmdSet.AddCMD(r) - return r -} - -func createCommandLine(cmdType string, cmdArgs []string) *exec.Cmd { - bin := "deepin-system-update" - var args []string - logger.Info("cmdArgs is:", cmdArgs) - switch cmdType { - case system.CheckSystemJobType: - args = append(args, "check") - args = append(args, cmdArgs...) - args = append(args, "--ignore-warning") - case system.DistUpgradeJobType: - args = append(args, "update") - args = append(args, cmdArgs...) - case system.FixErrorJobType: - bin = "deepin-system-fixpkg" - args = append(args, "fix") - default: - panic("invalid cmd type " + cmdType) - } - args = append(args, "-d") - logger.Info("cmd final args is:", bin, args) - return exec.Command(bin, args...) -} - -type ErrorContent struct { - Code ErrorCode - Msg []string - Ext DetailErrorMsg - LogPath []string -} - -type DetailErrorMsg struct { - Code ExtCode - Msg []string -} - -func GetErrorBitMap() map[system.JobErrorType]uint { - return map[system.JobErrorType]uint{ - system.ErrorUnmetDependencies: ErrorUnmetDependenciesBit, - system.ErrorInsufficientSpace: ErrorInsufficientSpaceBit, - system.ErrorPkgNotFound: ErrorPkgNotFoundBit, - system.ErrorDpkgError: ErrorDpkgErrorBit, - system.ErrorMissCoreFile: ErrorMissCoreFileBit, - system.ErrorProgressCheck: ErrorProgressCheckBit, - system.ErrorScript: ErrorScriptBit, - } -} - -const ( - ErrorUnmetDependenciesBit = ChkToolsDependError | ChkPkgDependError | ChkCorePkgDependError - ErrorInsufficientSpaceBit = ChkDataDiskOutSpace | ChkSysDiskOutSpace - ErrorPkgNotFoundBit = ChkCorePkgNotfound | ChkOptionPkgNotfound - ErrorDpkgErrorBit = ChkDpkgVersionNotSupported | ChkAptStateError | - ChkDpkgStateError | ChkPkgListErrState | UpdatePkgInstallFailed | - ChkPkgListNonexistence | ChkPkgListErrVersion | ChkSysPkgInfoLoadErr | - UpdateRulesCheckFailed - ErrorMissCoreFileBit = ChkCoreFileMiss - ErrorProgressCheckBit = ChkImportantProgressNotRunning - ErrorScriptBit = ChkDynamicScriptErr | ChkPkgConfigError -) - -func parsePkgSystemError(stdErrStr string, stdOutStr string) *system.JobError { - err := parseJobError(stdErrStr, stdOutStr) - if err != nil { - err.IsCheckError = true - return err - } - return nil -} - -func parseJobError(stdErrStr string, stdOutStr string) *system.JobError { - logger.Info("error message form dut is:", stdErrStr) - var content ErrorContent - err := json.Unmarshal([]byte(stdErrStr), &content) - if err != nil { - return &system.JobError{ - ErrType: system.ErrorUnknown, - ErrDetail: err.Error(), - } - } - switch content.Code { - case ChkSuccess: - logger.Infof("job success output:%v", stdOutStr) - return nil - case ChkNonblockError: - logger.Warningf("job error ChkNonblockError:%v", stdErrStr) - return nil - default: - for k, v := range GetErrorBitMap() { - if content.Ext.Code&ExtCode(v) != 0 { - logger.Warningf("short error msg:%v", strings.Join(content.Ext.Msg, ";")) - return &system.JobError{ - ErrType: k, - ErrDetail: strings.Join(content.Ext.Msg, ";"), - ErrorLog: content.LogPath, - } - } - } - // 错误未匹配上,应该是调用者程序错误 - return &system.JobError{ - ErrType: system.ErrorProgram, - ErrDetail: strings.Join(content.Ext.Msg, ";"), - } - } -} -func parseProgressInfo(id, line string) (system.JobProgressInfo, error) { - logger.Info("progress message form dut is:", line) - var content ErrorContent - err := json.Unmarshal([]byte(line), &content) - if err != nil { - return system.JobProgressInfo{JobId: id}, fmt.Errorf("Invlaid Progress line:%q", line) - } - if content.Code == ChkSuccess { - return system.JobProgressInfo{ - JobId: id, - Progress: 1, - Description: "", - Status: system.SucceedStatus, - Cancelable: false, - }, nil - } else { - return system.JobProgressInfo{ - JobId: id, - Progress: 1, - Description: "", - Status: system.FailedStatus, - Cancelable: false, - }, nil - } -} - -func CheckSystem(typ checkType, ifOffline bool, cmdArgs []string) *system.JobError { - bin := "/usr/bin/deepin-system-update" - var args []string - args = append(args, "check") - args = append(args, typ.String()) - if ifOffline { - args = append(args, "--meta-cfg") - args = append(args, system.DutOfflineMetaConfPath) - } else { - args = append(args, "--meta-cfg") - args = append(args, system.DutOnlineMetaConfPath) - } - args = append(args, cmdArgs...) - args = append(args, "--ignore-warning") - cmd := exec.Command(bin, args...) - var outBuf bytes.Buffer - cmd.Stdout = &outBuf - var errBuf bytes.Buffer - cmd.Stderr = &errBuf - err := cmd.Run() - if err != nil { - if typ.String() == PreCheck.String() { - return parsePreCheckError(errBuf.String()) - } - return parsePkgSystemError(errBuf.String(), "") - } - return nil -} - -func parsePreCheckError(stdErrStr string) *system.JobError { - logger.Info("error message form dut precheck is:", stdErrStr) - var content ErrorContent - err := json.Unmarshal([]byte(stdErrStr), &content) - if err != nil { - return nil - } - - switch content.Code { - case ChkDynError: - logger.Warningf("job error ChkNonblockError:%v", stdErrStr) - return &system.JobError{ - ErrType: system.ErrorScript, - ErrDetail: stdErrStr, - IsCheckError: true, - } - default: - return nil - } -} diff --git a/src/internal/system/dut/proxy.go b/src/internal/system/dut/proxy.go deleted file mode 100644 index de7d3fc01..000000000 --- a/src/internal/system/dut/proxy.go +++ /dev/null @@ -1,259 +0,0 @@ -package dut - -import ( - "encoding/json" - "os" - "sync" - "time" - - "github.com/linuxdeepin/lastore-daemon/src/internal/system" - "github.com/linuxdeepin/lastore-daemon/src/internal/system/apt" - - "github.com/linuxdeepin/go-lib/utils" -) - -type DutSystem struct { - apt.APTSystem -} - -func NewSystem(nonUnknownList []string, otherList []string) system.System { - aptImpl := apt.New(nonUnknownList, otherList) - if !utils.IsFileExist(system.PlatFormSourceFile) { - file, err := os.Create(system.PlatFormSourceFile) - if err != nil { - logger.Warning("creating file:", err) - } - defer file.Close() - } - return &DutSystem{ - APTSystem: aptImpl, - } -} - -func OptionToArgs(options map[string]string) []string { - var args []string - for key, value := range options { // dut 命令执行参数 - args = append(args, key) - args = append(args, value) - } - return args -} - -func (p *DutSystem) UpdateSource(jobId string, environ map[string]string, args map[string]string) error { - // 依赖错误放到后面检查 - // err := checkSystemDependsError() - // if err != nil { - // return err - // } - return p.APTSystem.UpdateSource(jobId, environ, args) -} - -func (p *DutSystem) DistUpgrade(jobId string, packages []string, environ map[string]string, args map[string]string) error { - err := checkSystemDependsError() - if err != nil { - return err - } - return p.APTSystem.DistUpgrade(jobId, packages, environ, args) -} - -func (p *DutSystem) FixError(jobId string, errType string, environ map[string]string, args map[string]string) error { - return p.APTSystem.FixError(jobId, errType, environ, args) -} - -func (p *DutSystem) CheckSystem(jobId string, checkType string, environ map[string]string, args map[string]string) error { - c := newDUTCommand(p, jobId, system.CheckSystemJobType, p.Indicator, OptionToArgs(args)) - c.SetEnv(environ) - return c.Start() -} - -func checkSystemDependsError() error { - err := apt.CheckPkgSystemError(false) - if err != nil { - logger.Warningf("apt-get check failed:%v", err) - return err - } - // 系统工具检查依赖目前还有问题,先不用系统工具检查 - // cmd := exec.Command("deepin-system-fixpkg", "check") - // var outBuf bytes.Buffer - // cmd.Stdout = &outBuf - // var errBuf bytes.Buffer - // cmd.Stderr = &errBuf - // err = cmd.Run() - // if err == nil { - // return nil - // } - // return parsePkgSystemError(errBuf.String(), outBuf.String()) - return nil -} - -type checkType uint - -const ( - PreCheck checkType = 0 - MidCheck checkType = 1 - PostCheck checkType = 2 -) - -func (t checkType) String() string { - switch t { - case PreCheck: - return "precheck" - case MidCheck: - return "midcheck" - case PostCheck: - return "postcheck" - } - return "" -} - -type RuleInfo struct { - Name string - Type checkType - Command string - Argv string -} - -type RepoInfo struct { - Name string - FilePath string - HashSha256 string -} - -type metaInfo struct { - PkgDebPath string - PkgList []system.PackageInfo - CoreList []system.PackageInfo - OptionList []system.PackageInfo - BaseLine []system.PackageInfo - PurgeList []system.PackageInfo - Rules []RuleInfo - ReposInfo []RepoInfo `json:"RepoInfo"` - UUID string - Time string -} - -const ( - strict = "strict" - skipState = "skipstate" - skipVersion = "skipversion" - exist = "exist" -) - -// GenDutMetaFile metaPath为DutOnlineMetaConfPath或DutOfflineMetaConfPath -func GenDutMetaFile(metaPath, debPath string, pkgMap, coreMap, optionMap, baseMap, removeMap map[string]system.PackageInfo, rules []RuleInfo, repoInfo []RepoInfo) (string, error) { - meta := metaInfo{ - PkgDebPath: debPath, - UUID: utils.GenUuid(), - Time: time.Now().String(), - Rules: rules, - ReposInfo: repoInfo, - } - var pkgList []system.PackageInfo - var coreList []system.PackageInfo - var optionList []system.PackageInfo - var baseList []system.PackageInfo - var removeList []system.PackageInfo - var wg sync.WaitGroup - wg.Add(1) - go func() { - pkgList = genPkgList(pkgMap) - wg.Done() - }() - wg.Add(1) - go func() { - coreList = genCoreList(coreMap) - wg.Done() - }() - wg.Add(1) - go func() { - optionList = genOptionList(optionMap) - wg.Done() - }() - wg.Add(1) - go func() { - baseList = genBaseList(baseMap) - wg.Done() - }() - wg.Add(1) - go func() { - removeList = genRemoveList(removeMap) - wg.Done() - }() - wg.Wait() - meta.PkgList = pkgList - meta.CoreList = coreList - meta.OptionList = optionList - meta.BaseLine = baseList - meta.PurgeList = removeList - content, err := json.Marshal(meta) - if err != nil { - return "", err - } - err = os.WriteFile(metaPath, content, 0644) - if err != nil { - return "", err - } - return meta.UUID, nil -} - -func genPkgList(pkgMap map[string]system.PackageInfo) []system.PackageInfo { - var list []system.PackageInfo - for _, v := range pkgMap { - info := system.PackageInfo{ - Name: v.Name, - Version: v.Version, - Need: skipVersion, - } - list = append(list, info) - } - return list -} -func genCoreList(pkgMap map[string]system.PackageInfo) []system.PackageInfo { - var list []system.PackageInfo - for _, v := range pkgMap { - info := system.PackageInfo{ - Name: v.Name, - Version: v.Version, - Need: skipVersion, - } - list = append(list, info) - } - return list -} -func genOptionList(pkgMap map[string]system.PackageInfo) []system.PackageInfo { - var list []system.PackageInfo - for _, v := range pkgMap { - info := system.PackageInfo{ - Name: v.Name, - Version: v.Version, - Need: exist, - } - list = append(list, info) - } - return list -} -func genBaseList(pkgMap map[string]system.PackageInfo) []system.PackageInfo { - var list []system.PackageInfo - for _, v := range pkgMap { - info := system.PackageInfo{ - Name: v.Name, - Version: v.Version, - Need: skipVersion, - } - list = append(list, info) - } - return list -} - -func genRemoveList(removeMap map[string]system.PackageInfo) []system.PackageInfo { - var list []system.PackageInfo - for _, v := range removeMap { - info := system.PackageInfo{ - Name: v.Name, - Version: v.Version, - Need: exist, - } - list = append(list, info) - } - return list -} diff --git a/src/internal/system/update_type.go b/src/internal/system/update_type.go index 5402a8ac0..052c94426 100644 --- a/src/internal/system/update_type.go +++ b/src/internal/system/update_type.go @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2018 - 2022 UnionTech Software Technology Co., Ltd. +// +// SPDX-License-Identifier: GPL-3.0-or-later + package system import ( diff --git a/src/internal/updateplatform/message_report.go b/src/internal/updateplatform/message_report.go index 8a20d6987..2bc907863 100644 --- a/src/internal/updateplatform/message_report.go +++ b/src/internal/updateplatform/message_report.go @@ -33,7 +33,6 @@ import ( "github.com/linuxdeepin/go-lib/utils" . "github.com/linuxdeepin/lastore-daemon/src/internal/config" "github.com/linuxdeepin/lastore-daemon/src/internal/system" - "github.com/linuxdeepin/lastore-daemon/src/internal/system/dut" ) var logger = log.NewLogger("lastore/messageReport") @@ -1481,57 +1480,3 @@ func (m *UpdatePlatformManager) RetryPostHistory() { } return } - -func (m *UpdatePlatformManager) GetRules() []dut.RuleInfo { - defaultCmd := "echo default rules" - var rules []dut.RuleInfo - - if len(strings.TrimSpace(m.PreCheck)) == 0 { - rules = append(rules, dut.RuleInfo{ - Name: "00_precheck", - Type: dut.PreCheck, - Command: defaultCmd, - Argv: "", - }) - } else { - rules = append(rules, dut.RuleInfo{ - Name: "00_precheck", - Type: dut.PreCheck, - Command: m.PreCheck, - Argv: "", - }) - } - - if len(strings.TrimSpace(m.MidCheck)) == 0 { - rules = append(rules, dut.RuleInfo{ - Name: "10_midcheck", - Type: dut.MidCheck, - Command: defaultCmd, - Argv: "", - }) - } else { - rules = append(rules, dut.RuleInfo{ - Name: "10_midcheck", - Type: dut.MidCheck, - Command: m.MidCheck, - Argv: "", - }) - } - - if len(strings.TrimSpace(m.PostCheck)) == 0 { - rules = append(rules, dut.RuleInfo{ - Name: "20_postcheck", - Type: dut.PostCheck, - Command: defaultCmd, - Argv: "", - }) - } else { - rules = append(rules, dut.RuleInfo{ - Name: "20_postcheck", - Type: dut.PostCheck, - Command: m.PostCheck, - Argv: "", - }) - } - return rules -} diff --git a/src/internal/updateplatform/upgrade_result_msg.go b/src/internal/updateplatform/upgrade_result_msg.go index b51421af5..c6b6c353c 100644 --- a/src/internal/updateplatform/upgrade_result_msg.go +++ b/src/internal/updateplatform/upgrade_result_msg.go @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2018 - 2022 UnionTech Software Technology Co., Ltd. +// +// SPDX-License-Identifier: GPL-3.0-or-later + package updateplatform import ( diff --git a/src/lastore-agent/agent.c b/src/lastore-agent/agent.c index 2a87bb873..c09f85af8 100644 --- a/src/lastore-agent/agent.c +++ b/src/lastore-agent/agent.c @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2018 - 2022 UnionTech Software Technology Co., Ltd. +// +// SPDX-License-Identifier: GPL-3.0-or-later + #include "agent.h" #include "sd_bus_method.h" diff --git a/src/lastore-agent/agent.h b/src/lastore-agent/agent.h index e9c5ee692..fd00a32c2 100644 --- a/src/lastore-agent/agent.h +++ b/src/lastore-agent/agent.h @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2018 - 2022 UnionTech Software Technology Co., Ltd. +// +// SPDX-License-Identifier: GPL-3.0-or-later + #ifndef __LASTORE_AGENT_H__ #define __LASTORE_AGENT_H__ diff --git a/src/lastore-agent/log.h b/src/lastore-agent/log.h index 375259d57..e6527aa67 100644 --- a/src/lastore-agent/log.h +++ b/src/lastore-agent/log.h @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2018 - 2022 UnionTech Software Technology Co., Ltd. +// +// SPDX-License-Identifier: GPL-3.0-or-later + #ifndef __LOG_H__ #define __LOG_H__ diff --git a/src/lastore-agent/main.c b/src/lastore-agent/main.c index 6ab06f5ff..a20fba313 100644 --- a/src/lastore-agent/main.c +++ b/src/lastore-agent/main.c @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2018 - 2022 UnionTech Software Technology Co., Ltd. +// +// SPDX-License-Identifier: GPL-3.0-or-later + #include "agent.h" #include "log.h" #include diff --git a/src/lastore-agent/sd_bus_method.c b/src/lastore-agent/sd_bus_method.c index 87211952e..d6f397de7 100644 --- a/src/lastore-agent/sd_bus_method.c +++ b/src/lastore-agent/sd_bus_method.c @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2018 - 2022 UnionTech Software Technology Co., Ltd. +// +// SPDX-License-Identifier: GPL-3.0-or-later + #include "sd_bus_method.h" #define SD_BUS_ARG_INFO_FIELD(type_, contents_) \ diff --git a/src/lastore-agent/sd_bus_method.h b/src/lastore-agent/sd_bus_method.h index fb9b07fe8..673a0281b 100644 --- a/src/lastore-agent/sd_bus_method.h +++ b/src/lastore-agent/sd_bus_method.h @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2018 - 2022 UnionTech Software Technology Co., Ltd. +// +// SPDX-License-Identifier: GPL-3.0-or-later + #ifndef __SD_BUS_METHOD__ #define __SD_BUS_METHOD__ diff --git a/src/lastore-daemon/dbusutil.go b/src/lastore-daemon/dbusutil.go index b48e57cd4..254d2d8d0 100644 --- a/src/lastore-daemon/dbusutil.go +++ b/src/lastore-daemon/dbusutil.go @@ -157,8 +157,8 @@ func (v *Updater) emitPropChangedUpdateTarget(value string) error { } func (v *Updater) setPropOfflineInfo(value string) (changed bool) { - if v.OfflineInfo != value { - v.OfflineInfo = value + if v.offlineInfo != value { + v.offlineInfo = value v.emitPropChangedOfflineInfo(value) return true } @@ -166,12 +166,12 @@ func (v *Updater) setPropOfflineInfo(value string) (changed bool) { } func (v *Updater) emitPropChangedOfflineInfo(value string) error { - return v.service.EmitPropertyChanged(v, "OfflineInfo", value) + return v.service.EmitPropertyChanged(v, "offlineInfo", value) } func (v *Updater) setPropP2PUpdateEnable(value bool) (changed bool) { - if v.P2PUpdateEnable != value { - v.P2PUpdateEnable = value + if v.p2PUpdateEnable != value { + v.p2PUpdateEnable = value v.emitPropChangedP2PUpdateEnable(value) return true } @@ -179,12 +179,12 @@ func (v *Updater) setPropP2PUpdateEnable(value bool) (changed bool) { } func (v *Updater) emitPropChangedP2PUpdateEnable(value bool) error { - return v.service.EmitPropertyChanged(v, "P2PUpdateEnable", value) + return v.service.EmitPropertyChanged(v, "p2PUpdateEnable", value) } func (v *Updater) setPropP2PUpdateSupport(value bool) (changed bool) { - if v.P2PUpdateSupport != value { - v.P2PUpdateSupport = value + if v.p2PUpdateSupport != value { + v.p2PUpdateSupport = value v.emitPropChangedP2PUpdateSupport(value) return true } @@ -192,7 +192,7 @@ func (v *Updater) setPropP2PUpdateSupport(value bool) (changed bool) { } func (v *Updater) emitPropChangedP2PUpdateSupport(value bool) error { - return v.service.EmitPropertyChanged(v, "P2PUpdateSupport", value) + return v.service.EmitPropertyChanged(v, "p2PUpdateSupport", value) } func (v *Job) setPropId(value string) (changed bool) { diff --git a/src/lastore-daemon/exported_methods_auto.go b/src/lastore-daemon/exported_methods_auto.go index cadc2abc1..676773a14 100644 --- a/src/lastore-daemon/exported_methods_auto.go +++ b/src/lastore-daemon/exported_methods_auto.go @@ -1,4 +1,4 @@ -// Code generated by "/usr/bin/dbusutil-gen em -type Manager,Updater"; DO NOT EDIT. +// Code generated by "dbusutil-gen em -type Manager,Updater"; DO NOT EDIT. package main @@ -8,12 +8,6 @@ import ( func (v *Manager) GetExportedMethods() dbusutil.ExportedMethods { return dbusutil.ExportedMethods{ - { - Name: "CheckUpgrade", - Fn: v.CheckUpgrade, - InArgs: []string{"checkMode", "checkOrder"}, - OutArgs: []string{"job"}, - }, { Name: "ClassifiedUpgrade", Fn: v.ClassifiedUpgrade, @@ -41,85 +35,22 @@ func (v *Manager) GetExportedMethods() dbusutil.ExportedMethods { InArgs: []string{"mode", "needBackup"}, OutArgs: []string{"job"}, }, - { - Name: "FixError", - Fn: v.FixError, - InArgs: []string{"errType"}, - OutArgs: []string{"job"}, - }, { Name: "GetArchivesInfo", Fn: v.GetArchivesInfo, OutArgs: []string{"info"}, }, - { - Name: "GetHistoryLogs", - Fn: v.GetHistoryLogs, - OutArgs: []string{"changeLogs"}, - }, - { - Name: "GetUpdateLogs", - Fn: v.GetUpdateLogs, - InArgs: []string{"updateType"}, - OutArgs: []string{"changeLogs"}, - }, - { - Name: "HandleSystemEvent", - Fn: v.HandleSystemEvent, - InArgs: []string{"eventType"}, - }, { Name: "InstallPackage", Fn: v.InstallPackage, InArgs: []string{"jobName", "packages"}, OutArgs: []string{"job"}, }, - { - Name: "InstallPackageFromRepo", - Fn: v.InstallPackageFromRepo, - InArgs: []string{"jobName", "sourceListPath", "repoListPath", "cachePath", "packageName"}, - OutArgs: []string{"jobPath"}, - }, - { - Name: "PackageDesktopPath", - Fn: v.PackageDesktopPath, - InArgs: []string{"pkgId"}, - OutArgs: []string{"desktopPath"}, - }, - { - Name: "PackageExists", - Fn: v.PackageExists, - InArgs: []string{"pkgId"}, - OutArgs: []string{"exist"}, - }, - { - Name: "PackageInstallable", - Fn: v.PackageInstallable, - InArgs: []string{"pkgId"}, - OutArgs: []string{"installable"}, - }, - { - Name: "PackagesDownloadSize", - Fn: v.PackagesDownloadSize, - InArgs: []string{"packages"}, - OutArgs: []string{"outArg0"}, - }, - { - Name: "PackagesSize", - Fn: v.PackagesSize, - InArgs: []string{"packages"}, - OutArgs: []string{"outArg0"}, - }, { Name: "PauseJob", Fn: v.PauseJob, InArgs: []string{"jobId"}, }, - { - Name: "PowerOff", - Fn: v.PowerOff, - InArgs: []string{"reboot"}, - }, { Name: "PrepareDistUpgrade", Fn: v.PrepareDistUpgrade, @@ -131,22 +62,6 @@ func (v *Manager) GetExportedMethods() dbusutil.ExportedMethods { InArgs: []string{"mode"}, OutArgs: []string{"job"}, }, - { - Name: "PrepareFullScreenUpgrade", - Fn: v.PrepareFullScreenUpgrade, - InArgs: []string{"option"}, - }, - { - Name: "PowerOff", - Fn: v.PowerOff, - InArgs: []string{"reboot"}, - }, - { - Name: "QueryAllSizeWithSource", - Fn: v.QueryAllSizeWithSource, - InArgs: []string{"mode"}, - OutArgs: []string{"outArg0"}, - }, { Name: "RegisterAgent", Fn: v.RegisterAgent, @@ -163,16 +78,6 @@ func (v *Manager) GetExportedMethods() dbusutil.ExportedMethods { Fn: v.SetAutoClean, InArgs: []string{"enable"}, }, - { - Name: "SetRegion", - Fn: v.SetRegion, - InArgs: []string{"region"}, - }, - { - Name: "SetUpdateSources", - Fn: v.SetUpdateSources, - InArgs: []string{"updateType", "repoType", "repoConfig", "isReset"}, - }, { Name: "StartJob", Fn: v.StartJob, @@ -183,18 +88,6 @@ func (v *Manager) GetExportedMethods() dbusutil.ExportedMethods { Fn: v.UnRegisterAgent, InArgs: []string{"path"}, }, - { - Name: "UpdateOfflineSource", - Fn: v.UpdateOfflineSource, - InArgs: []string{"paths", "option"}, - OutArgs: []string{"job"}, - }, - { - Name: "UpdatePackage", - Fn: v.UpdatePackage, - InArgs: []string{"jobName", "packages"}, - OutArgs: []string{"job"}, - }, { Name: "UpdateSource", Fn: v.UpdateSource, @@ -221,10 +114,6 @@ func (v *Updater) GetExportedMethods() dbusutil.ExportedMethods { InArgs: []string{"lang"}, OutArgs: []string{"mirrorSources"}, }, - { - Name: "RestoreSystemSource", - Fn: v.RestoreSystemSource, - }, { Name: "SetAutoCheckUpdates", Fn: v.SetAutoCheckUpdates, @@ -248,18 +137,13 @@ func (v *Updater) GetExportedMethods() dbusutil.ExportedMethods { { Name: "SetInstallUpdateTime", Fn: v.SetInstallUpdateTime, - InArgs: []string{"time"}, + InArgs: []string{"timeStr"}, }, { Name: "SetMirrorSource", Fn: v.SetMirrorSource, InArgs: []string{"id"}, }, - { - Name: "SetP2PUpdateEnable", - Fn: v.SetP2PUpdateEnable, - InArgs: []string{"enable"}, - }, { Name: "SetUpdateNotify", Fn: v.SetUpdateNotify, diff --git a/src/lastore-daemon/main.go b/src/lastore-daemon/main.go index 14d26e1c8..a0d960241 100644 --- a/src/lastore-daemon/main.go +++ b/src/lastore-daemon/main.go @@ -13,7 +13,7 @@ import ( . "github.com/linuxdeepin/lastore-daemon/src/internal/config" "github.com/linuxdeepin/lastore-daemon/src/internal/system" - "github.com/linuxdeepin/lastore-daemon/src/internal/system/dut" + "github.com/linuxdeepin/lastore-daemon/src/internal/system/apt" "github.com/linuxdeepin/lastore-daemon/src/internal/utils" "github.com/godbus/dbus/v5" @@ -74,7 +74,7 @@ func main() { } config := NewConfig(path.Join(system.VarLibDir, "config.json")) - aptImpl := dut.NewSystem(config.NonUnknownList, config.OtherSourceList) + aptImpl := apt.NewSystem(config.NonUnknownList, config.OtherSourceList) system.SetSystemUpdate(config.PlatformUpdate) // 设置是否通过平台更新 allowInstallPackageExecPaths = append(allowInstallPackageExecPaths, config.AllowInstallRemovePkgExecPaths...) allowRemovePackageExecPaths = append(allowRemovePackageExecPaths, config.AllowInstallRemovePkgExecPaths...) @@ -109,15 +109,15 @@ func main() { if err != nil { logger.Error("failed to set write cb for property CheckUpdateMode:", err) } - err = serverObject.SetReadCallback(updater, "OfflineInfo", func(read *dbusutil.PropertyRead) *dbus.Error { + err = serverObject.SetReadCallback(updater, "offlineInfo", func(read *dbusutil.PropertyRead) *dbus.Error { return dbusutil.ToError(updater.SetOfflineInfo(manager.offline.GetCheckInfo())) }) // 每次读取SystemSourceConfig和SecuritySourceConfig都实时获取一次配置 - err = serverObject.SetReadCallback(manager, "SystemSourceConfig", func(read *dbusutil.PropertyRead) *dbus.Error { + err = serverObject.SetReadCallback(manager, "systemSourceConfig", func(read *dbusutil.PropertyRead) *dbus.Error { manager.reloadOemConfig(false) return nil }) - err = serverObject.SetReadCallback(manager, "SecuritySourceConfig", func(read *dbusutil.PropertyRead) *dbus.Error { + err = serverObject.SetReadCallback(manager, "securitySourceConfig", func(read *dbusutil.PropertyRead) *dbus.Error { manager.reloadOemConfig(false) return nil }) diff --git a/src/lastore-daemon/manager.go b/src/lastore-daemon/manager.go index cafc3f0f0..b54d48bdf 100644 --- a/src/lastore-daemon/manager.go +++ b/src/lastore-daemon/manager.go @@ -76,7 +76,6 @@ type Manager struct { apps apps.Apps sysPower power.Power - abRecovery abrecovery.ABRecovery atomic atomic1.AtomicUpgrade1 signalLoop *dbusutil.SignalLoop shouldHandleBackupJobEnd bool @@ -88,8 +87,8 @@ type Manager struct { HardwareId string - SystemSourceConfig UpdateSourceConfig - SecuritySourceConfig UpdateSourceConfig + systemSourceConfig UpdateSourceConfig + securitySourceConfig UpdateSourceConfig inhibitAutoQuitCount int32 autoQuitCountMu sync.Mutex @@ -144,8 +143,8 @@ func NewManager(service *dbusutil.Service, updateApi system.System, c *config.Co systemd: systemd1.NewManager(service.Conn()), sysPower: power.NewPower(service.Conn()), abObj: abrecovery.NewABRecovery(service.Conn()), - SecuritySourceConfig: make(UpdateSourceConfig), - SystemSourceConfig: make(UpdateSourceConfig), + securitySourceConfig: make(UpdateSourceConfig), + systemSourceConfig: make(UpdateSourceConfig), resetIdleDownload: true, } m.reloadOemConfig(true) @@ -160,24 +159,12 @@ func NewManager(service *dbusutil.Service, updateApi system.System, c *config.Co m.initDbusSignalListen() m.initDSettingsChangedHandle() - m.syncThirdPartyDconfig() - // running 状态下证明需要进行重启后check - if c.UpgradeStatus.Status == system.UpgradeRunning { - m.rebootTimeoutTimer = time.AfterFunc(600*time.Second, func() { - // 启动后600s如果没有触发检查,那么上报更新失败 - m.updatePlatform.PostStatusMessage(fmt.Sprintf("the check has not been triggered after reboot for 600 seconds")) - err = m.delRebootCheckOption(all) - if err != nil { - logger.Warning(err) - } - }) - } + //m.syncThirdPartyDconfig() return m } func (m *Manager) initDbusSignalListen() { m.loginManager.InitSignalExt(m.signalLoop, true) - m.abObj.InitSignalExt(m.signalLoop, true) _, err := m.loginManager.ConnectSessionNew(m.handleSessionNew) if err != nil { logger.Warning(err) @@ -259,7 +246,7 @@ func (m *Manager) initPlatformManager() { } } -func (m *Manager) updatePackage(sender dbus.Sender, jobName string, packages string) (*Job, error) { +func (m *Manager) delUpdatePackage(sender dbus.Sender, jobName string, packages string) (*Job, error) { pkgs, err := NormalizePackageNames(packages) if err != nil { return nil, fmt.Errorf("invalid packages arguments %q : %v", packages, err) @@ -322,7 +309,7 @@ func (m *Manager) installPackage(sender dbus.Sender, jobName string, packages st return m.installPkg(jobName, strings.Join(pkgs, " "), environ) } -func (m *Manager) installPackageFromRepo(sender dbus.Sender, jobName string, sourceListPath string, +func (m *Manager) delInstallPackageFromRepo(sender dbus.Sender, jobName string, sourceListPath string, repoListPath string, cachePath string, packageName []string) (*Job, error) { if !utils.IsDir(repoListPath) { return nil, fmt.Errorf("illegal repoListPath: %v", repoListPath) @@ -620,7 +607,7 @@ func (m *Manager) cleanArchives(needNotify bool) (*Job, error) { return job, err } -func (m *Manager) fixError(sender dbus.Sender, errType string) (*Job, error) { +func (m *Manager) delFixError(sender dbus.Sender, errType string) (*Job, error) { m.ensureUpdateSourceOnce() environ, err := makeEnvironWithSender(m, sender) if err != nil { @@ -652,7 +639,7 @@ func (m *Manager) fixError(sender dbus.Sender, errType string) (*Job, error) { func (m *Manager) installUOSReleaseNote() { logger.Info("installUOSReleaseNote begin") - bExists, _ := m.PackageExists(uosReleaseNotePkgName) + bExists, _ := m.packageExists(uosReleaseNotePkgName) if bExists { for _, v := range m.updater.UpdatablePackages { if v == uosReleaseNotePkgName { @@ -1245,10 +1232,10 @@ func (m *Manager) reloadOemConfig(reloadSourceDir bool) { } // 更新 dbus 属性 - InitConfig(m.SystemSourceConfig, m.config.SystemOemSourceConfig, m.config.SystemCustomSource) - InitConfig(m.SecuritySourceConfig, m.config.SecurityOemSourceConfig, m.config.SecurityCustomSource) - SetUsingRepoType(m.SystemSourceConfig, m.config.SystemRepoType) - SetUsingRepoType(m.SecuritySourceConfig, m.config.SecurityRepoType) + InitConfig(m.systemSourceConfig, m.config.SystemOemSourceConfig, m.config.SystemCustomSource) + InitConfig(m.securitySourceConfig, m.config.SecurityOemSourceConfig, m.config.SecurityCustomSource) + SetUsingRepoType(m.systemSourceConfig, m.config.SystemRepoType) + SetUsingRepoType(m.securitySourceConfig, m.config.SecurityRepoType) } type platformCacheContent struct { diff --git a/src/lastore-daemon/manager_check.go b/src/lastore-daemon/manager_check.go deleted file mode 100644 index 3266e7179..000000000 --- a/src/lastore-daemon/manager_check.go +++ /dev/null @@ -1,241 +0,0 @@ -package main - -import ( - "encoding/json" - "errors" - "fmt" - "os" - "syscall" - "time" - - "github.com/linuxdeepin/lastore-daemon/src/internal/system" - "github.com/linuxdeepin/lastore-daemon/src/internal/system/dut" - "github.com/linuxdeepin/lastore-daemon/src/internal/updateplatform" - - "github.com/godbus/dbus/v5" -) - -type checkType uint32 - -const ( - firstCheck checkType = iota + 1 - secondCheck - all -) - -func (c checkType) JobType() string { - switch c { - case firstCheck: - return "first check" - case secondCheck: - return "second check" - default: - return "invalid type" - } -} - -// 更新后重启的检查 -func (m *Manager) checkUpgrade(sender dbus.Sender, checkMode system.UpdateType, checkOrder checkType) (dbus.ObjectPath, error) { - m.updateJobList() - if m.rebootTimeoutTimer != nil { - m.rebootTimeoutTimer.Stop() - } - var inhibitFd dbus.UnixFD = -1 - why := Tr("Checking and installing updates...") - inhibit := func(enable bool) { - logger.Infof("handle inhibit:%v fd:%v", enable, inhibitFd) - if enable { - if inhibitFd == -1 { - fd, err := Inhibitor("shutdown:sleep", dbusServiceName, why) - if err != nil { - logger.Infof("checkUpgrade:prevent shutdown failed: fd:%v, err:%v\n", fd, err) - } else { - logger.Infof("checkUpgrade:prevent shutdown: fd:%v\n", fd) - inhibitFd = fd - } - } - } else { - if inhibitFd != -1 { - err := syscall.Close(int(inhibitFd)) - if err != nil { - logger.Infof("checkUpgrade:enable shutdown failed: fd:%d, err:%s\n", inhibitFd, err) - } else { - logger.Info("checkUpgrade:enable shutdown") - inhibitFd = -1 - } - } - } - } - var job *Job - var isExist bool - var err error - isExist, job, err = m.jobManager.CreateJob("", system.CheckSystemJobType, nil, nil, nil) - if err != nil { - return "", err - } - job.option[dut.PostCheck.String()] = "--check-succeed" // TODO 还有--check-failed 的情况需要处理 - if checkMode == system.OfflineUpdate { - job.option["--meta-cfg"] = system.DutOfflineMetaConfPath - } else { - job.option["--meta-cfg"] = system.DutOnlineMetaConfPath - } - if checkOrder == firstCheck { - job.option["--stage1"] = "" - } else { - job.option["--stage2"] = "" - } - - uuid := getRebootCheckJobUUID() - - // 设置假的进度条,每200ms增长0.1的进度 - var fakeProgress chan bool = make(chan bool, 1) - setFakeProgress := func(maxValue float64) { - for job.Progress < maxValue && job.Status != system.FailedStatus { - job.setPropProgress(job.Progress + 0.1) - time.Sleep(time.Millisecond * 200) - } - fakeProgress <- true - } - - job.setAfterHooks(map[string]func() error{ - string(system.RunningStatus): func() error { - <-fakeProgress - return nil - }, - }) - job.setPreHooks(map[string]func() error{ - string(system.RunningStatus): func() error { - // 起个go和job并行 - go setFakeProgress(0.9) - inhibit(true) - return nil - }, - string(system.FailedStatus): func() error { - m.updatePlatform.SaveJobPostMsgByUUID(uuid, updateplatform.UpgradeFailed, job.Description) - go func() { - m.inhibitAutoQuitCountAdd() - defer m.inhibitAutoQuitCountSub() - m.updatePlatform.PostStatusMessage(fmt.Sprintf("%v postcheck error: %v", checkOrder.JobType(), job.Description)) - m.updatePlatform.PostSystemUpgradeMessage(uuid) - m.reportLog(upgradeStatusReport, false, job.Description) - }() - inhibit(false) - err = m.delRebootCheckOption(all) - if err != nil { - logger.Warning(err) - } - err = m.config.SetUpgradeStatusAndReason(system.UpgradeStatusAndReason{Status: system.UpgradeFailed, ReasonCode: system.ErrorUnknown}) // TODO reason应该需要新增 - if err != nil { - logger.Warning(err) - } - return nil - }, - string(system.SucceedStatus): func() error { - inhibit(false) - switch checkOrder { - case firstCheck: - // ps: 去掉第一次检查,此时如果重启,那么再次启动时不会再进行该检查 - err = m.delRebootCheckOption(checkOrder) - if err != nil { - logger.Warning(err) - } - case secondCheck: - // ps: 登录后检查无异常,去掉第二次检查,上报更新成功,更新baseline信息,还原grub配置 - err = m.delRebootCheckOption(secondCheck) - if err != nil { - logger.Warning(err) - } - m.handleAfterUpgradeSuccess(checkMode, job.Description, uuid) - default: - logger.Warning("invalid check status:", checkOrder) - } - return nil - }, - }) - if isExist { - return job.getPath(), nil - } - - if err = m.jobManager.addJob(job); err != nil { - return "", err - } - return job.getPath(), nil -} - -type fullUpgradeOption struct { - DoUpgrade bool - DoUpgradeMode system.UpdateType - IsPowerOff bool - PreGreeterCheck bool - AfterGreeterCheck bool - UUID string -} - -const ( - optionFilePath = "/etc/deepin/deepin_update_option.json" // 和gen_upgrade_check_config.sh脚本中对应 - optionFilePathTemp = "/tmp/deepin_update_option.json" -) - -func (m *Manager) setRebootCheckOption(mode system.UpdateType, uuid string) error { - option := &fullUpgradeOption{ - DoUpgrade: false, - DoUpgradeMode: mode, - IsPowerOff: false, - PreGreeterCheck: true, - AfterGreeterCheck: true, - UUID: uuid, - } - content, err := json.Marshal(option) - if err != nil { - return err - } - _, _, err = m.systemd.EnableUnitFiles(0, []string{"lastore-after-upgrade-check.service"}, false, true) - if err != nil { - logger.Warning(err) - } - return os.WriteFile(optionFilePath, content, 0644) -} - -func getRebootCheckJobUUID() string { - content, err := os.ReadFile(optionFilePath) - if err != nil { - logger.Warning(err) - return "" - } - var option fullUpgradeOption - err = json.Unmarshal(content, &option) - if err != nil { - logger.Warning(err) - return "" - } - return option.UUID -} - -func (m *Manager) delRebootCheckOption(order checkType) error { - switch order { - case firstCheck: - option := &fullUpgradeOption{} - err := decodeJson(optionFilePath, option) - if err != nil { - return err - } - option.PreGreeterCheck = false - content, err := json.Marshal(option) - if err != nil { - return err - } - return os.WriteFile(optionFilePath, content, 0644) - case secondCheck, all: - err := os.RemoveAll(optionFilePathTemp) - if err != nil { - logger.Warning(err) - } - _, err = m.systemd.DisableUnitFiles(0, []string{"lastore-after-upgrade-check.service"}, false) - if err != nil { - logger.Warning(err) - } - return os.RemoveAll(optionFilePath) - default: - return errors.New("invalid type") - } -} diff --git a/src/lastore-daemon/manager_download.go b/src/lastore-daemon/manager_download.go index 5f9238227..8756540e6 100644 --- a/src/lastore-daemon/manager_download.go +++ b/src/lastore-daemon/manager_download.go @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2018 - 2022 UnionTech Software Technology Co., Ltd. +// +// SPDX-License-Identifier: GPL-3.0-or-later + package main import ( diff --git a/src/lastore-daemon/manager_idle.go b/src/lastore-daemon/manager_idle.go index 200cd04e5..48b7a5a9e 100644 --- a/src/lastore-daemon/manager_idle.go +++ b/src/lastore-daemon/manager_idle.go @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2018 - 2022 UnionTech Software Technology Co., Ltd. +// +// SPDX-License-Identifier: GPL-3.0-or-later + package main import ( diff --git a/src/lastore-daemon/manager_ifc.go b/src/lastore-daemon/manager_ifc.go index 3eddbcf37..9d773180e 100644 --- a/src/lastore-daemon/manager_ifc.go +++ b/src/lastore-daemon/manager_ifc.go @@ -25,7 +25,6 @@ import ( "github.com/linuxdeepin/go-lib/dbusutil" "github.com/linuxdeepin/go-lib/gettext" "github.com/linuxdeepin/go-lib/procfs" - utils2 "github.com/linuxdeepin/go-lib/utils" ) /* @@ -72,9 +71,9 @@ func (m *Manager) DistUpgrade(sender dbus.Sender) (job dbus.ObjectPath, busErr * return jobObj.getPath(), nil } -func (m *Manager) FixError(sender dbus.Sender, errType string) (job dbus.ObjectPath, busErr *dbus.Error) { +func (m *Manager) fixError(sender dbus.Sender, errType string) (job dbus.ObjectPath, busErr *dbus.Error) { m.service.DelayAutoQuit() - jobObj, err := m.fixError(sender, errType) + jobObj, err := m.delFixError(sender, errType) if err != nil { return "/", dbusutil.ToError(err) } @@ -90,8 +89,8 @@ func (m *Manager) GetArchivesInfo() (info string, busErr *dbus.Error) { return info, nil } -func (m *Manager) HandleSystemEvent(sender dbus.Sender, eventType string) *dbus.Error { - return dbusutil.ToError(m.handleSystemEvent(sender, eventType)) +func (m *Manager) handleSystemEvent(sender dbus.Sender, eventType string) *dbus.Error { + return dbusutil.ToError(m.delHandleSystemEvent(sender, eventType)) } func (m *Manager) InstallPackage(sender dbus.Sender, jobName string, packages string) (job dbus.ObjectPath, @@ -123,11 +122,11 @@ func (m *Manager) InstallPackage(sender dbus.Sender, jobName string, packages st return jobObj.getPath(), nil } -func (m *Manager) InstallPackageFromRepo(sender dbus.Sender, jobName string, sourceListPath string, repoListPath string, cachePath string, packageName []string) (jobPath dbus.ObjectPath, +func (m *Manager) installPackageFromRepo(sender dbus.Sender, jobName string, sourceListPath string, repoListPath string, cachePath string, packageName []string) (jobPath dbus.ObjectPath, busErr *dbus.Error) { logger.Infof("enter InstallPackageFromRepo,jobName:%v, sourceListPath:%v, repoListPath:%v, cachePath:%v", jobName, sourceListPath, repoListPath, cachePath) - jobObj, err := m.installPackageFromRepo(sender, jobName, sourceListPath, repoListPath, cachePath, packageName) + jobObj, err := m.delInstallPackageFromRepo(sender, jobName, sourceListPath, repoListPath, cachePath, packageName) if err != nil { logger.Error(err) return "/", dbusutil.ToError(err) @@ -137,7 +136,7 @@ func (m *Manager) InstallPackageFromRepo(sender dbus.Sender, jobName string, sou } // PackageDesktopPath TODO: Remove this API -func (m *Manager) PackageDesktopPath(pkgId string) (desktopPath string, busErr *dbus.Error) { +func (m *Manager) packageDesktopPath(pkgId string) (desktopPath string, busErr *dbus.Error) { m.service.DelayAutoQuit() p, err := utils.RunCommand("/usr/bin/lastore-tools", "querydesktop", pkgId) if err != nil { @@ -147,17 +146,17 @@ func (m *Manager) PackageDesktopPath(pkgId string) (desktopPath string, busErr * return p, nil } -func (m *Manager) PackageExists(pkgId string) (exist bool, busErr *dbus.Error) { +func (m *Manager) packageExists(pkgId string) (exist bool, busErr *dbus.Error) { m.service.DelayAutoQuit() return system.QueryPackageInstalled(pkgId), nil } -func (m *Manager) PackageInstallable(pkgId string) (installable bool, busErr *dbus.Error) { +func (m *Manager) packageInstallable(pkgId string) (installable bool, busErr *dbus.Error) { m.service.DelayAutoQuit() return system.QueryPackageInstallable(pkgId), nil } -func (m *Manager) GetUpdateLogs(updateType system.UpdateType) (changeLogs string, busErr *dbus.Error) { +func (m *Manager) getUpdateLogs(updateType system.UpdateType) (changeLogs string, busErr *dbus.Error) { res := make(map[system.UpdateType]interface{}) if updateType&system.SystemUpdate != 0 { res[system.SystemUpdate] = m.updatePlatform.SystemUpdateLogs @@ -188,11 +187,11 @@ func (m *Manager) GetUpdateLogs(updateType system.UpdateType) (changeLogs string // ChangelogZh []string // } -func (m *Manager) GetHistoryLogs() (changeLogs string, busErr *dbus.Error) { +func (m *Manager) getHistoryLogs() (changeLogs string, busErr *dbus.Error) { return getHistoryChangelog(upgradeRecordPath), nil } -func (m *Manager) PackagesSize(packages []string) (int64, *dbus.Error) { +func (m *Manager) packagesSize(packages []string) (int64, *dbus.Error) { m.service.DelayAutoQuit() m.ensureUpdateSourceOnce() var err error @@ -216,7 +215,7 @@ func (m *Manager) PackagesSize(packages []string) (int64, *dbus.Error) { return int64(allPackageSize), dbusutil.ToError(err) } -func (m *Manager) PackagesDownloadSize(packages []string) (int64, *dbus.Error) { +func (m *Manager) packagesDownloadSize(packages []string) (int64, *dbus.Error) { m.service.DelayAutoQuit() m.ensureUpdateSourceOnce() var err error @@ -370,7 +369,7 @@ func (m *Manager) SetAutoClean(enable bool) *dbus.Error { return nil } -func (m *Manager) SetRegion(region string) *dbus.Error { +func (m *Manager) setRegion(region string) *dbus.Error { m.service.DelayAutoQuit() err := m.config.SetAppstoreRegion(region) return dbusutil.ToError(err) @@ -405,10 +404,10 @@ func (m *Manager) UnRegisterAgent(sender dbus.Sender, path dbus.ObjectPath) *dbu return nil } -func (m *Manager) UpdatePackage(sender dbus.Sender, jobName string, packages string) (job dbus.ObjectPath, +func (m *Manager) updatePackage(sender dbus.Sender, jobName string, packages string) (job dbus.ObjectPath, busErr *dbus.Error) { m.service.DelayAutoQuit() - jobObj, err := m.updatePackage(sender, jobName, packages) + jobObj, err := m.delUpdatePackage(sender, jobName, packages) if err != nil { return "/", dbusutil.ToError(err) } @@ -431,91 +430,16 @@ func (m *Manager) DistUpgradePartly(sender dbus.Sender, mode system.UpdateType, return m.distUpgradePartly(sender, mode, needBackup) } -// PrepareFullScreenUpgrade option json -> struct -// -// type fullUpgradeOption struct { -// DoUpgrade bool -// DoUpgradeMode system.UpdateType -// IsPowerOff bool -// PreGreeterCheck bool -// AfterGreeterCheck bool -// } -func (m *Manager) PrepareFullScreenUpgrade(sender dbus.Sender, option string) *dbus.Error { - // 1070以下版本option为空 - supportOption := len(strings.TrimSpace(option)) > 0 - checkExecPath := func() (bool, error) { - // 只有dde-lock可以设置 - execPath, _, err := getExecutablePathAndCmdline(m.service, sender) - if err != nil { - logger.Warning(err) - return false, err - } - if !strings.Contains(execPath, "dde-lock") && !strings.Contains(execPath, "deepin-offline-update-tool") { - err = fmt.Errorf("%v not allow to call this method", execPath) - logger.Warning(err) - return false, err - } - - return strings.Contains(execPath, "deepin-offline-update-tool"), nil - } - var isOffline bool - uid, err := m.service.GetConnUID(string(sender)) - if err == nil && uid == 0 { - logger.Info("auth root caller") - } else { - isOffline, err = checkExecPath() - if err != nil { - return dbusutil.ToError(err) - } - } - +func (m *Manager) prepareFullScreenUpgrade(sender dbus.Sender, option string) *dbus.Error { // 如果没有/usr/bin/dde-update,则需要进入fallback流程 const fullScreenUpdatePath = "/usr/bin/dde-update" if !system.NormalFileExists(fullScreenUpdatePath) { - err = fmt.Errorf("%v not exist, need run fallback process", fullScreenUpdatePath) + err := fmt.Errorf("%v not exist, need run fallback process", fullScreenUpdatePath) logger.Warning(err) return dbusutil.ToError(err) } logger.Info("start PrepareFullScreenUpgrade") - if isOffline { - content, err := json.Marshal(&fullUpgradeOption{ - DoUpgrade: true, - DoUpgradeMode: system.OfflineUpdate, - IsPowerOff: false, - PreGreeterCheck: false, - AfterGreeterCheck: false, - }) - if err != nil { - logger.Warning(err) - return dbusutil.ToError(err) - } - if utils2.IsSymlink(optionFilePathTemp) { - _ = os.RemoveAll(optionFilePathTemp) - } - _ = os.WriteFile(optionFilePathTemp, content, 0644) - } else if supportOption { - opt := fullUpgradeOption{} - err = json.Unmarshal([]byte(option), &opt) - if err != nil { - logger.Warning(err) - return dbusutil.ToError(err) - } - // 在线更新时填充部分属性 - opt.DoUpgrade = true - opt.PreGreeterCheck = false - opt.AfterGreeterCheck = false - content, err := json.Marshal(opt) - if err != nil { - logger.Warning(err) - return dbusutil.ToError(err) - } - if utils2.IsSymlink(optionFilePathTemp) { - _ = os.RemoveAll(optionFilePathTemp) - } - _ = os.WriteFile(optionFilePathTemp, content, 0644) - } - for { pid, err := m.service.GetConnPID(string(sender)) if err != nil { @@ -553,7 +477,7 @@ func (m *Manager) PrepareFullScreenUpgrade(sender dbus.Sender, option string) *d } // 如果上述方法出错,需要采用重启lightdm方案,此时所有图形session也都会退出 - _, err = m.systemd.RestartUnit(0, "lightdm.service", "replace") + _, err := m.systemd.RestartUnit(0, "lightdm.service", "replace") if err != nil { logger.Warning(err) return dbusutil.ToError(err) @@ -562,7 +486,7 @@ func (m *Manager) PrepareFullScreenUpgrade(sender dbus.Sender, option string) *d return nil } -func (m *Manager) QueryAllSizeWithSource(mode system.UpdateType) (int64, *dbus.Error) { +func (m *Manager) queryAllSizeWithSource(mode system.UpdateType) (int64, *dbus.Error) { var sourcePathList []string for _, t := range system.AllInstallUpdateType() { category := mode & t @@ -595,21 +519,10 @@ func (m *Manager) PrepareDistUpgradePartly(sender dbus.Sender, mode system.Updat return jobObj.getPath(), nil } -func (m *Manager) CheckUpgrade(sender dbus.Sender, checkMode system.UpdateType, checkOrder uint32) (job dbus.ObjectPath, busErr *dbus.Error) { - m.service.DelayAutoQuit() - job, err := m.checkUpgrade(sender, checkMode, checkType(checkOrder)) - if err != nil { - logger.Warning(err) - return "", dbusutil.ToError(err) - } - logger.Info("CheckUpgrade jobPath:", job) - return job, nil -} - -func (m *Manager) UpdateOfflineSource(sender dbus.Sender, paths []string, option string) (job dbus.ObjectPath, busErr *dbus.Error) { +func (m *Manager) updateOfflineSource(sender dbus.Sender, paths []string, option string) (job dbus.ObjectPath, busErr *dbus.Error) { m.service.DelayAutoQuit() - jobObj, err := m.updateOfflineSource(sender, paths, option) + jobObj, err := m.delUpdateOfflineSource(sender, paths, option) if err != nil { logger.Warning(err) return "/", dbusutil.ToError(err) @@ -618,7 +531,7 @@ func (m *Manager) UpdateOfflineSource(sender dbus.Sender, paths []string, option return jobObj.getPath(), nil } -func (m *Manager) PowerOff(sender dbus.Sender, reboot bool) *dbus.Error { +func (m *Manager) powerOff(sender dbus.Sender, reboot bool) *dbus.Error { checkExecPath := func() error { // 只有dde-update可以设置 execPath, _, err := getExecutablePathAndCmdline(m.service, sender) @@ -660,7 +573,7 @@ func (m *Manager) PowerOff(sender dbus.Sender, reboot bool) *dbus.Error { } // SetUpdateSources 设置系统、安全更新的仓库 -func (m *Manager) SetUpdateSources(sender dbus.Sender, updateType system.UpdateType, repoType config.RepoType, repoConfig []string, isReset bool) *dbus.Error { +func (m *Manager) setUpdateSources(sender dbus.Sender, updateType system.UpdateType, repoType config.RepoType, repoConfig []string, isReset bool) *dbus.Error { // 管理员鉴权 err := checkInvokePermission(m.service, sender) if err != nil { diff --git a/src/lastore-daemon/manager_unit.go b/src/lastore-daemon/manager_unit.go index abbd0851e..cee30d5e6 100644 --- a/src/lastore-daemon/manager_unit.go +++ b/src/lastore-daemon/manager_unit.go @@ -416,7 +416,7 @@ func (m *Manager) getNextUpdateDelay() time.Duration { return remained + _minDelayTime } -func (m *Manager) handleSystemEvent(sender dbus.Sender, eventType string) error { +func (m *Manager) delHandleSystemEvent(sender dbus.Sender, eventType string) error { uid, err := m.service.GetConnUID(string(sender)) if err != nil { logger.Warning(err) diff --git a/src/lastore-daemon/manager_update.go b/src/lastore-daemon/manager_update.go index 9a99c5a3d..0eef45de7 100644 --- a/src/lastore-daemon/manager_update.go +++ b/src/lastore-daemon/manager_update.go @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2018 - 2022 UnionTech Software Technology Co., Ltd. +// +// SPDX-License-Identifier: GPL-3.0-or-later + package main import ( @@ -113,11 +117,6 @@ func (m *Manager) updateSource(sender dbus.Sender) (*Job, error) { handleUpdateSourceFailed(j) } job.setPreHooks(map[string]func() error{ - string(system.RunningStatus): func() error { - // 检查更新需要重置备份状态,主要是处理备份失败后再检查更新,会直接显示失败的场景 - m.statusManager.SetABStatus(system.AllCheckUpdate, system.NotBackup, system.NoABError) - return nil - }, string(system.SucceedStatus): func() error { m.refreshUpdateInfos(true) m.PropsMu.Lock() diff --git a/src/lastore-daemon/manager_upgrade.go b/src/lastore-daemon/manager_upgrade.go index 3e63b1f69..784f047da 100644 --- a/src/lastore-daemon/manager_upgrade.go +++ b/src/lastore-daemon/manager_upgrade.go @@ -1,9 +1,11 @@ +// SPDX-FileCopyrightText: 2018 - 2022 UnionTech Software Technology Co., Ltd. +// +// SPDX-License-Identifier: GPL-3.0-or-later + package main import ( "bytes" - "crypto/sha256" - "encoding/hex" "encoding/json" "errors" "fmt" @@ -11,15 +13,12 @@ import ( "os" "os/exec" "path/filepath" - "strconv" "strings" "sync" "syscall" "time" - "github.com/linuxdeepin/lastore-daemon/src/internal/config" "github.com/linuxdeepin/lastore-daemon/src/internal/system" - "github.com/linuxdeepin/lastore-daemon/src/internal/system/dut" "github.com/linuxdeepin/lastore-daemon/src/internal/updateplatform" "github.com/godbus/dbus/v5" @@ -47,7 +46,7 @@ func (m *Manager) distUpgradePartly(sender dbus.Sender, origin system.UpdateType if updateplatform.IsForceUpdate(m.updatePlatform.Tp) { mode = origin } - upgradeJob, createJobErr = m.distUpgrade(sender, mode, false, false, true) + upgradeJob, createJobErr = m.distUpgrade(sender, mode, false, false, false) if createJobErr != nil { if !errors.Is(createJobErr, JobExistError) { return "/", dbusutil.ToError(createJobErr) @@ -115,14 +114,10 @@ func (m *Manager) distUpgradePartly(sender dbus.Sender, origin system.UpdateType return "", dbusutil.ToError(err) } m.inhibitAutoQuitCountAdd() // 开始备份前add,结束备份后sub(无论是否成功) - var abHandler dbusutil.SignalHandlerId - var canBackup bool - var hasBackedUp bool - var abErr error inhibit(true) defer func() { // 没有开始更新提前结束时,需要处理抑制锁和job - if abErr != nil || startJobErr != nil { + if startJobErr != nil { inhibit(false) err = m.CleanJob(upgradeJob.Id) if err != nil { @@ -132,106 +127,8 @@ func (m *Manager) distUpgradePartly(sender dbus.Sender, origin system.UpdateType } }() m.statusManager.SetUpdateStatus(mode, system.WaitRunUpgrade) - if needBackup { - // m.statusManager.SetABStatus(mode, system.NotBackup, system.NoABError) - canBackup, abErr = m.abObj.CanBackup(0) - if abErr != nil || !canBackup { - logger.Info("can not backup,", abErr) - - msg := gettext.Tr("Backup failed!") - action := []string{"continue", gettext.Tr("Proceed to Update")} - hints := map[string]dbus.Variant{"x-deepin-action-continue": dbus.MakeVariant( - fmt.Sprintf("dbus-send,--system,--print-reply,--dest=org.deepin.dde.Lastore1,/org/deepin/dde/Lastore1,org.deepin.dde.Lastore1.Manager.DistUpgradePartly,uint64:%v,boolean:%v", mode, false))} - go m.sendNotify(updateNotifyShowOptional, 0, "preferences-system", "", msg, action, hints, system.NotifyExpireTimeoutDefault) - m.inhibitAutoQuitCountSub() - m.statusManager.SetABStatus(mode, system.BackupFailed, system.CanNotBackup) - abErr = errors.New("can not backup") - return "", dbusutil.ToError(abErr) - } - hasBackedUp, err = m.abObj.HasBackedUp().Get(0) - if err != nil { - logger.Warning(err) - } else if hasBackedUp { - m.statusManager.SetABStatus(mode, system.HasBackedUp, system.NoABError) - } - if !hasBackedUp { - // 没有备份过,先备份再更新 - abErr = m.abObj.StartBackup(0) - if abErr != nil { - logger.Warning(abErr) - - msg := gettext.Tr("Backup failed!") - action := []string{"backup", gettext.Tr("Back Up Again"), "continue", gettext.Tr("Proceed to Update")} - hints := map[string]dbus.Variant{ - "x-deepin-action-backup": dbus.MakeVariant( - fmt.Sprintf("dbus-send,--system,--print-reply,--dest=org.deepin.dde.Lastore1,/org/deepin/dde/Lastore1,org.deepin.dde.Lastore1.Manager.DistUpgradePartly,uint64:%v,boolean:%v", mode, true)), - "x-deepin-action-continue": dbus.MakeVariant( - fmt.Sprintf("dbus-send,--system,--print-reply,--dest=org.deepin.dde.Lastore1,/org/deepin/dde/Lastore1,org.deepin.dde.Lastore1.Manager.DistUpgradePartly,uint64:%v,boolean:%v", mode, false))} - go m.sendNotify(updateNotifyShowOptional, 0, "preferences-system", "", msg, action, hints, system.NotifyExpireTimeoutDefault) - - m.inhibitAutoQuitCountSub() - m.statusManager.SetABStatus(mode, system.BackupFailed, system.OtherError) - return "", dbusutil.ToError(abErr) - } - m.statusManager.SetABStatus(mode, system.BackingUp, system.NoABError) - handleBackupFailed := func(errMsg string) { - m.statusManager.SetABStatus(mode, system.BackupFailed, system.OtherError) - logger.Warning("ab backup failed:", errMsg) - // 备份失败后,需要清理原来的job,因为是监听信号,所以不能通过上面的defer处理. - inhibit(false) - err = m.CleanJob(upgradeJob.Id) - if err != nil { - logger.Warning(err) - } - m.statusManager.SetUpdateStatus(mode, system.CanUpgrade) - msg := gettext.Tr("Backup failed!") - action := []string{"backup", gettext.Tr("Back Up Again"), "continue", gettext.Tr("Proceed to Update")} - hints := map[string]dbus.Variant{ - "x-deepin-action-backup": dbus.MakeVariant( - fmt.Sprintf("dbus-send,--system,--print-reply,"+ - "--dest=org.deepin.dde.Lastore1,/org/deepin/dde/Lastore1,org.deepin.dde.Lastore1.Manager.DistUpgradePartly,uint64:%v,boolean:%v", mode, true)), - "x-deepin-action-continue": dbus.MakeVariant( - fmt.Sprintf("dbus-send,--system,--print-reply,"+ - "--dest=org.deepin.dde.Lastore1,/org/deepin/dde/Lastore1,org.deepin.dde.Lastore1.Manager.DistUpgradePartly,uint64:%v,boolean:%v", mode, false))} - go m.sendNotify(updateNotifyShowOptional, 0, "preferences-system", "", msg, action, hints, system.NotifyExpireTimeoutDefault) - } - var ownerChangedHandler dbusutil.SignalHandlerId - abHandler, err = m.abObj.ConnectJobEnd(func(kind string, success bool, errMsg string) { - if kind == "backup" { - m.abObj.RemoveHandler(abHandler) - m.sysDBusDaemon.RemoveHandler(ownerChangedHandler) - if success { - m.statusManager.SetABStatus(mode, system.HasBackedUp, system.NoABError) - // 开始更新 - startJobErr = startUpgrade() - if startJobErr != nil { - logger.Warning(startJobErr) - } - } else { - handleBackupFailed(errMsg) - } - } - }) - if err != nil { - logger.Warning(err) - } - ownerChangedHandler, err = m.sysDBusDaemon.ConnectNameOwnerChanged(func(name string, oldOwner string, newOwner string) { - if strings.HasPrefix(name, "com.deepin.ABRecovery") && oldOwner != "" && newOwner == "" { - // ab异常退出 - m.abObj.RemoveHandler(abHandler) - m.sysDBusDaemon.RemoveHandler(ownerChangedHandler) - handleBackupFailed("The backup process exits abnormally") - } - }) - } else { - // 备份过可以直接更新 - startJobErr = startUpgrade() - } - } else { - // 无需备份,直接更新 - startJobErr = startUpgrade() - } + startJobErr = startUpgrade() if startJobErr != nil { logger.Warning(startJobErr) return "", dbusutil.ToError(startJobErr) @@ -278,9 +175,9 @@ func (m *Manager) distUpgrade(sender dbus.Sender, mode system.UpdateType, isClas var job *Job var uuid string mergeMode := mode - if mode != system.UnknownUpdate { - mergeMode = mode & (^system.UnknownUpdate) - } + //if mode != system.UnknownUpdate { + // mergeMode = mode & (^system.UnknownUpdate) + //} /* 1. 仅有第三方仓库或没有第三方仓库时,mergeMode为当期更新内容,和原有逻辑一致; 2. 多仓库包含第三方时,先融合非第三方仓库内容生成path,CreateJob中,分别创建排除第三方的更新job和第三方更新job,源配置分别在CreateJob后和CreateJob时设置; @@ -345,24 +242,9 @@ func (m *Manager) distUpgrade(sender dbus.Sender, mode system.UpdateType, isClas } startJob.setPreHooks(map[string]func() error{ string(system.RunningStatus): func() error { - // 防止还在检查更新的时候,就生成了meta文件,此时meta文件可能不准 - uuid, err = m.prepareAptCheck(mode) - if err != nil { - logger.Warning(err) - m.updatePlatform.PostStatusMessage(fmt.Sprintf("%v gen dut meta failed, detail is: %v", mode.JobType(), err.Error())) - if unref != nil { - unref() - } - return err - } + uuid = utils.GenUuid() logger.Info(uuid) m.updatePlatform.CreateJobPostMsgInfo(uuid, job.updateTyp) - systemErr := dut.CheckSystem(dut.PreCheck, mode == system.OfflineUpdate, nil) // 只是为了执行precheck的hook脚本 - if systemErr != nil { - logger.Info(systemErr) - m.updatePlatform.PostStatusMessage(fmt.Sprintf("%v CheckSystem failed, detail is: %v", mode.JobType(), systemErr.Error())) - return systemErr - } if !system.CheckInstallAddSize(mode) { return &system.JobError{ ErrType: system.ErrorInsufficientSpace, @@ -381,13 +263,6 @@ func (m *Manager) distUpgrade(sender dbus.Sender, mode system.UpdateType, isClas endJob.setPreHooks(map[string]func() error{ string(system.SucceedStatus): func() error { - systemErr := dut.CheckSystem(dut.MidCheck, mode == system.OfflineUpdate, nil) - if systemErr != nil { - logger.Info(systemErr) - m.updatePlatform.PostStatusMessage(fmt.Sprintf("%v CheckSystem failed, detail is: %v", mode.JobType(), systemErr.Error())) - return systemErr - } - if mode&system.SystemUpdate != 0 { recordUpgradeLog(uuid, system.SystemUpdate, m.updatePlatform.SystemUpdateLogs, upgradeRecordPath) } @@ -537,10 +412,6 @@ func (m *Manager) preFailedHook(job *Job, mode system.UpdateType, uuid string) e if err != nil { logger.Warning(err) } - canBackup, abErr := m.abObj.CanBackup(0) - if abErr != nil { - canBackup = false - } if strings.Contains(errType, system.ErrorDamagePackage.String()) { // 包损坏,需要下apt-get clean,然后重试更新 cleanAllCache() @@ -549,38 +420,15 @@ func (m *Manager) preFailedHook(job *Job, mode system.UpdateType, uuid string) e hints := map[string]dbus.Variant{"x-deepin-action-retry": dbus.MakeVariant("dde-control-center,-m,update")} go m.sendNotify(updateNotifyShowOptional, 0, "preferences-system", "", msg, action, hints, system.NotifyExpireTimeoutDefault) } else if strings.Contains(errType, system.ErrorInsufficientSpace.String()) { - // 空间不足 - // 已备份 - msg := gettext.Tr("Updates failed: insufficient disk space. Please reboot to avoid the effect on your system.") - action := []string{"reboot", gettext.Tr("Reboot")} - hints := map[string]dbus.Variant{"x-deepin-action-reboot": dbus.MakeVariant("dbus-send,--session,--print-reply,--dest=org.deepin.dde.shutdownFront1,/org/deepin/dde/shutdownFront1,org.deepin.dde.shutdownFront1.Restart")} - // 未备份 - if !canBackup { - msg = gettext.Tr("Updates failed: insufficient disk space.") - action = []string{} - hints = nil - } - go m.sendNotify(updateNotifyShowOptional, 0, "preferences-system", "", msg, action, hints, system.NotifyExpireTimeoutDefault) + msg := gettext.Tr("Updates failed: insufficient disk space.") + action := []string{} + go m.sendNotify(updateNotifyShowOptional, 0, "preferences-system", "", msg, action, nil, system.NotifyExpireTimeoutDefault) } else { - // 其他原因 - // 已备份 - msg := gettext.Tr("Updates failed. Please reboot to avoid the effect on your system.") - action := []string{"reboot", gettext.Tr("Reboot")} - hints := map[string]dbus.Variant{"x-deepin-action-reboot": dbus.MakeVariant("dbus-send,--session,--print-reply,--dest=org.deepin.dde.shutdownFront1,/org/deepin/dde/shutdownFront1,org.deepin.dde.shutdownFront1.Restart")} - // 未备份 - if !canBackup { - msg = gettext.Tr("Updates failed.") - action = []string{} - hints = nil - } - go m.sendNotify(updateNotifyShowOptional, 0, "preferences-system", "", msg, action, hints, system.NotifyExpireTimeoutDefault) + msg := gettext.Tr("Updates failed.") + action := []string{} + go m.sendNotify(updateNotifyShowOptional, 0, "preferences-system", "", msg, action, nil, system.NotifyExpireTimeoutDefault) } } - // 安装失败删除配置文件 - err = m.delRebootCheckOption(all) - if err != nil { - logger.Warning(err) - } if errorContent.IsCheckError { m.updatePlatform.SaveJobPostMsgByUUID(uuid, updateplatform.CheckFailed, job.Description) } else { @@ -621,37 +469,7 @@ func (m *Manager) preFailedHook(job *Job, mode system.UpdateType, uuid string) e } func (m *Manager) preUpgradeCmdSuccessHook(job *Job, needChangeGrub bool, mode system.UpdateType, uuid string) error { - supportRebootCheck := true - if m.config.EnableVersionCheck { - var minorVersionInt int - info, err := updateplatform.GetOSVersionInfo("/etc/os-version") - if err != nil { - logger.Warning(err) - } else { - if version, ok := info["MinorVersion"]; ok { - minorVersionInt, _ = strconv.Atoi(version) - } - } - supportRebootCheck = minorVersionInt >= 1070 - } - - if supportRebootCheck && !m.config.GetPlatformStatusDisable(config.DisabledRebootCheck) { - if needChangeGrub { - // 更新成功后修改grub默认入口为当前系统入口 - err := m.grub.createTempGrubEntry() - if err != nil { - logger.Warning(err) - } - } - // 设置重启后的检查项;重启后需要检查时,需要将本次job的uuid记录到检查配置中,无需检查时只要将uuid直接记录到 upgradeJobMetaInfo 中即可 - err := m.setRebootCheckOption(mode, uuid) - if err != nil { - logger.Warning(err) - } - } else { - // 不需要重启检查时,此处可以直接执行整个流程成功的处理逻辑 - m.handleAfterUpgradeSuccess(mode, job.Description, uuid) - } + m.handleAfterUpgradeSuccess(mode, job.Description, uuid) m.statusManager.SetUpdateStatus(mode, system.Upgraded) job.setPropProgress(1.00) m.updatePlatform.PostStatusMessage(fmt.Sprintf("%v install package success,need reboot and check", mode)) @@ -668,7 +486,7 @@ func (m *Manager) afterUpgradeCmdSuccessHook() error { msg := gettext.Tr("Restart the computer to use the system and applications properly.") action := []string{"reboot", gettext.Tr("Reboot Now"), "cancel", gettext.Tr("Reboot Later")} hints := map[string]dbus.Variant{ - "x-deepin-action-reboot": dbus.MakeVariant("dbus-send,--session,--print-reply,--dest=org.deepin.dde.shutdownFront1,/org/deepin/dde/shutdownFront1,org.deepin.dde.shutdownFront1.Restart"), + "x-deepin-action-reboot": dbus.MakeVariant("dbus-send,--session,--print-reply,--dest=org.deepin.dde.ShutdownFront1,/org/deepin/dde/ShutdownFront1,org.deepin.dde.ShutdownFront1.Restart"), "x-deepin-NoAnimationActions": dbus.MakeVariant("reboot")} go m.sendNotify(updateNotifyShow, 0, "system-updated", summary, msg, action, hints, system.NotifyExpireTimeoutNoHide) return nil @@ -676,10 +494,6 @@ func (m *Manager) afterUpgradeCmdSuccessHook() error { // 整个更新流程走完后(安装、检测(如果需要)全部成功) func (m *Manager) handleAfterUpgradeSuccess(mode system.UpdateType, des string, uuid string) { - err := m.grub.changeGrubDefaultEntry(normalBootEntry) - if err != nil { - logger.Warning(err) - } m.updatePlatform.SaveJobPostMsgByUUID(uuid, updateplatform.UpgradeSucceed, des) go func() { m.inhibitAutoQuitCountAdd() @@ -733,171 +547,6 @@ func onlyDownloadOfflinePackage(pkgsMap map[string]system.PackageInfo) error { return nil } -// 生成meta.json和uuid 暂时不使用dut,使用apt -func (m *Manager) prepareDutUpgrade(job *Job, mode system.UpdateType) (string, error) { - // 使用dut更新前的准备 - var uuid string - var err error - if mode == system.OfflineUpdate { - // 转移包路径 - err = onlyDownloadOfflinePackage(m.offline.upgradeAblePackages) - if err != nil { - return "", err - } - job.option["--meta-cfg"] = system.DutOfflineMetaConfPath - uuid, err = dut.GenDutMetaFile(system.DutOfflineMetaConfPath, - system.LocalCachePath, - m.offline.upgradeAblePackages, - m.offline.upgradeAblePackages, nil, m.offline.upgradeAblePackages, m.offline.removePackages, nil, genRepoInfo(mode, system.OfflineListPath)) - if err != nil { - logger.Warning(err) - return "", err - } - } else { - job.option["--meta-cfg"] = system.DutOnlineMetaConfPath - var pkgMap map[string]system.PackageInfo - var removeMap map[string]system.PackageInfo - mode &= system.AllInstallUpdate - if mode == 0 { - return "", errors.New("invalid mode") - } - - // m.allUpgradableInfoMu.Lock() - // pkgMap = m.mergePackagesByMode(mode, m.allUpgradableInfo) - // m.allUpgradableInfoMu.Unlock() - // m.allRemovePkgInfoMu.Lock() - // removeMap = m.mergePackagesByMode(mode, m.allRemovePkgInfo) - // m.allRemovePkgInfoMu.Unlock() - - coreListMap := make(map[string]system.PackageInfo) - if m.coreList != nil && len(m.coreList) > 0 { - for _, pkgName := range m.coreList { - coreListMap[pkgName] = system.PackageInfo{ - Name: pkgName, - Version: "", - Need: "skipversion", - } - } - } else { - loadCoreList := func() map[string]system.PackageInfo { - coreListMap := make(map[string]system.PackageInfo) - data, err := os.ReadFile(coreListVarPath) - if err != nil { - return nil - } - var pkgList PackageList - err = json.Unmarshal(data, &pkgList) - if err != nil { - return nil - } - for _, pkg := range pkgList.PkgList { - coreListMap[pkg.PkgName] = system.PackageInfo{ - Name: pkg.PkgName, - Version: "", - Need: "skipversion", - } - } - return nil - } - coreListMap = loadCoreList() - } - uuid, err = dut.GenDutMetaFile(system.DutOnlineMetaConfPath, - system.LocalCachePath, - pkgMap, - coreListMap, nil, nil, removeMap, - m.updatePlatform.GetRules(), genRepoInfo(mode, system.OnlineListPath)) - - if err != nil { - logger.Warning(err) - return "", err - } - } - return uuid, nil -} - -// 生成meta.json和uuid -func (m *Manager) prepareAptCheck(mode system.UpdateType) (string, error) { - var uuid string - var err error - // pkgMap repo和system.LocalCachePath都是占位用,没有起到真正的作用 - pkgMap := make(map[string]system.PackageInfo) - pkgMap["lastore-daemon"] = system.PackageInfo{ - Name: "lastore-daemon", - Version: "1.0", - Need: "exist", - } - var repo []dut.RepoInfo - if mode == system.OfflineUpdate { - repo = genRepoInfo(system.OfflineUpdate, system.OfflineListPath) - } else { - repo = genRepoInfo(mode, system.OnlineListPath) - } - - // coreList 生成 - coreListMap := make(map[string]system.PackageInfo) - if m.coreList != nil && len(m.coreList) > 0 { - for _, pkgName := range m.coreList { - coreListMap[pkgName] = system.PackageInfo{ - Name: pkgName, - Version: "", - Need: "skipversion", - } - } - } else { - loadCoreList := func() map[string]system.PackageInfo { - coreListMap := make(map[string]system.PackageInfo) - data, err := os.ReadFile(coreListVarPath) - if err != nil { - return nil - } - var pkgList PackageList - err = json.Unmarshal(data, &pkgList) - if err != nil { - return nil - } - for _, pkg := range pkgList.PkgList { - coreListMap[pkg.PkgName] = system.PackageInfo{ - Name: pkg.PkgName, - Version: "", - Need: "skipversion", - } - } - return nil - } - coreListMap = loadCoreList() - } - // 使用dut检查前的准备 - if mode == system.OfflineUpdate { - uuid, err = dut.GenDutMetaFile(system.DutOfflineMetaConfPath, - system.LocalCachePath, - pkgMap, - coreListMap, nil, nil, nil, nil, repo) - if err != nil { - logger.Warning(err) - return "", &system.JobError{ - ErrType: system.ErrorUnknown, - ErrDetail: err.Error(), - IsCheckError: true, - } - } - } else { - mode &= system.AllInstallUpdate - if mode == 0 { - return "", errors.New("invalid mode") - } - uuid, err = dut.GenDutMetaFile(system.DutOnlineMetaConfPath, - system.LocalCachePath, - pkgMap, - coreListMap, nil, nil, nil, - m.updatePlatform.GetRules(), repo) - if err != nil { - logger.Warning(err) - return "", err - } - } - return uuid, err -} - func (m *Manager) mergePackagesByMode(mode system.UpdateType, needMergePkgMap map[system.UpdateType]map[string]system.PackageInfo) map[string]system.PackageInfo { typeArray := system.UpdateTypeBitToArray(mode) var res map[string]system.PackageInfo @@ -937,28 +586,6 @@ func (m *Manager) mergePackagesByMode(mode system.UpdateType, needMergePkgMap ma return res } -// 生成repo信息 -func genRepoInfo(typ system.UpdateType, listPath string) []dut.RepoInfo { - var repoInfos []dut.RepoInfo - for _, file := range getPackagesPathList(typ, listPath) { - info := dut.RepoInfo{ - Name: filepath.Base(file), - FilePath: file, - HashSha256: "", - } - data, err := os.ReadFile(file) - if err != nil { - logger.Warning(err) - continue - } - hash := sha256.New() - hash.Write(data) - info.HashSha256 = hex.EncodeToString(hash.Sum(nil)) - repoInfos = append(repoInfos, info) - } - return repoInfos -} - func getPackagesPathList(typ system.UpdateType, listPath string) []string { var res []string var urls []string diff --git a/src/lastore-daemon/offline_repo.go b/src/lastore-daemon/offline_repo.go index 71abf9429..098dd0da5 100644 --- a/src/lastore-daemon/offline_repo.go +++ b/src/lastore-daemon/offline_repo.go @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2018 - 2022 UnionTech Software Technology Co., Ltd. +// +// SPDX-License-Identifier: GPL-3.0-or-later + package main import ( @@ -11,7 +15,6 @@ import ( "github.com/linuxdeepin/lastore-daemon/src/internal/system" "github.com/linuxdeepin/lastore-daemon/src/internal/system/apt" - "github.com/linuxdeepin/lastore-daemon/src/internal/system/dut" "github.com/godbus/dbus/v5" ) @@ -344,7 +347,7 @@ func (m *OfflineManager) CleanCache() error { return os.RemoveAll(unzipOupDir) } -func (m *Manager) updateOfflineSource(sender dbus.Sender, paths []string, option string) (job *Job, err error) { +func (m *Manager) delUpdateOfflineSource(sender dbus.Sender, paths []string, option string) (job *Job, err error) { var environ map[string]string if !system.IsAuthorized() { return nil, errors.New("not authorized, don't allow to exec update") @@ -430,22 +433,3 @@ func (m *Manager) updateOfflineSource(sender dbus.Sender, paths []string, option } return job, nil } - -// 临时废弃 -func (m *OfflineManager) checkOfflineSystemState() bool { - _, err := dut.GenDutMetaFile(system.DutOfflineMetaConfPath, - system.LocalCachePath, - m.upgradeAblePackages, - m.upgradeAblePackages, nil, m.upgradeAblePackages, m.removePackages, nil, genRepoInfo(system.OfflineUpdate, system.OfflineListPath)) - if err != nil { - logger.Warning(err) - return false - } - - err = dut.CheckSystem(dut.PreCheck, true, nil) - if err != nil { - logger.Warning(err) - return false - } - return true -} diff --git a/src/lastore-daemon/offline_utils.go b/src/lastore-daemon/offline_utils.go index ae3802f7e..03433acdc 100644 --- a/src/lastore-daemon/offline_utils.go +++ b/src/lastore-daemon/offline_utils.go @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2018 - 2022 UnionTech Software Technology Co., Ltd. +// +// SPDX-License-Identifier: GPL-3.0-or-later + package main import ( diff --git a/src/lastore-daemon/updater.go b/src/lastore-daemon/updater.go index 30d7d2e6b..d1b781c0d 100644 --- a/src/lastore-daemon/updater.go +++ b/src/lastore-daemon/updater.go @@ -75,10 +75,10 @@ type Updater struct { UpdateTarget string - OfflineInfo string + offlineInfo string - P2PUpdateEnable bool // p2p更新是否开启 - P2PUpdateSupport bool // 是否支持p2p更新 + p2PUpdateEnable bool // p2p更新是否开启 + p2PUpdateSupport bool // 是否支持p2p更新 } func NewUpdater(service *dbusutil.Service, m *Manager, config *Config) *Updater { @@ -108,11 +108,11 @@ func NewUpdater(service *dbusutil.Service, m *Manager, config *Config) *Updater state, err := u.systemdManager.GetUnitFileState(0, p2pService) if err != nil { logger.Warning("get p2p service state err:", err) - u.P2PUpdateEnable = false - u.P2PUpdateSupport = false + u.p2PUpdateEnable = false + u.p2PUpdateSupport = false } else { - u.P2PUpdateEnable = false - u.P2PUpdateSupport = true + u.p2PUpdateEnable = false + u.p2PUpdateSupport = true if state == "enabled" { unit, err := u.getP2PUnit() if err != nil { @@ -123,7 +123,7 @@ func NewUpdater(service *dbusutil.Service, m *Manager, config *Config) *Updater logger.Warning("get p2p SubState err:", err) } if value == "active" { - u.P2PUpdateEnable = true + u.p2PUpdateEnable = true } } } @@ -243,7 +243,7 @@ const ( aptSourceOrigin = aptSource + ".origin" ) -func (u *Updater) restoreSystemSource() error { +func (u *Updater) delRestoreSystemSource() error { // write backup file current, err := os.ReadFile(aptSource) if err == nil { @@ -327,11 +327,11 @@ func (u *Updater) getP2PUnit() (systemd1.Unit, error) { return unit, nil } -func (u *Updater) setP2PUpdateEnable(enable bool) error { - if !u.P2PUpdateSupport { +func (u *Updater) delSetP2PUpdateEnable(enable bool) error { + if !u.p2PUpdateSupport { return fmt.Errorf("unsupport p2p update") } - if u.P2PUpdateEnable == enable { + if u.p2PUpdateEnable == enable { return nil } files := []string{p2pService} diff --git a/src/lastore-daemon/updater_ifc.go b/src/lastore-daemon/updater_ifc.go index b53c02f5c..ca47e2c3b 100644 --- a/src/lastore-daemon/updater_ifc.go +++ b/src/lastore-daemon/updater_ifc.go @@ -86,9 +86,9 @@ func (u *Updater) ListMirrorSources(lang string) (mirrorSources []LocaleMirrorSo return u.listMirrorSources(lang), nil } -func (u *Updater) RestoreSystemSource() *dbus.Error { +func (u *Updater) restoreSystemSource() *dbus.Error { u.service.DelayAutoQuit() - err := u.restoreSystemSource() + err := u.delRestoreSystemSource() if err != nil { logger.Warning("failed to restore system source:", err) return dbusutil.ToError(err) @@ -236,8 +236,8 @@ func (u *Updater) SetDownloadSpeedLimit(limitConfig string) *dbus.Error { return nil } -func (u *Updater) SetP2PUpdateEnable(enable bool) *dbus.Error { - err := u.setP2PUpdateEnable(enable) +func (u *Updater) setP2PUpdateEnable(enable bool) *dbus.Error { + err := u.delSetP2PUpdateEnable(enable) if err != nil { logger.Warning(err) return dbusutil.ToError(err) diff --git a/src/lastore-tools/update_message.go b/src/lastore-tools/update_message.go index 97cb53167..a41063abb 100644 --- a/src/lastore-tools/update_message.go +++ b/src/lastore-tools/update_message.go @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2018 - 2022 UnionTech Software Technology Co., Ltd. +// +// SPDX-License-Identifier: GPL-3.0-or-later + package main import ( diff --git a/usr/share/dsg/configs/org.deepin.dde.lastore/org.deepin.dde.lastore.json b/usr/share/dsg/configs/org.deepin.dde.lastore/org.deepin.dde.lastore.json index 8a602ed63..20c434856 100644 --- a/usr/share/dsg/configs/org.deepin.dde.lastore/org.deepin.dde.lastore.json +++ b/usr/share/dsg/configs/org.deepin.dde.lastore/org.deepin.dde.lastore.json @@ -113,7 +113,7 @@ "visibility": "private" }, "update-mode": { - "value": 5, + "value": 13, "serial": 0, "flags": [ "global" @@ -124,7 +124,7 @@ "visibility": "private" }, "check-update-mode": { - "value": 5, + "value": 13, "serial": 0, "flags": [ "global" @@ -256,9 +256,7 @@ "visibility": "private" }, "allow-post-system-upgrade-message-version": { - "value": [ - "Professional","E" - ], + "value": [], "serial": 0, "flags": [ "global" @@ -461,7 +459,7 @@ "visibility": "private" }, "enable-core-list": { - "value": true, + "value": false, "serial": 0, "flags": [ "global" diff --git a/usr/share/lightdm/lightdm.conf.d/90-deepin-upgrade.conf b/usr/share/lightdm/lightdm.conf.d/90-deepin-upgrade.conf deleted file mode 100644 index 1f4aaf708..000000000 --- a/usr/share/lightdm/lightdm.conf.d/90-deepin-upgrade.conf +++ /dev/null @@ -1,3 +0,0 @@ -[Seat:*] -# TODO 或许后面应该用system服务的方式实现 为解决内部中间版本兼容问题加了回来,后面应该删除,防止出现控制中心更新后,注销系统出现检查的问题 -display-setup-script=/var/lib/lastore/scripts/gen_upgrade_check_config.sh \ No newline at end of file diff --git a/var/lib/lastore/scripts/gen_upgrade_check_config.sh b/var/lib/lastore/scripts/gen_upgrade_check_config.sh deleted file mode 100755 index a41a6dc9d..000000000 --- a/var/lib/lastore/scripts/gen_upgrade_check_config.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/bash -if [ -e "/tmp/update_has_run" ] ;then - echo "not first run gen_upgrade_check_config.sh" - exit 0 -fi - -if [ -e "/etc/deepin/deepin_update_option.json" ] && [ ! -e "/tmp/deepin_update_option.json" ] ; then - # 如果文件存在,则创建软连接 - ln -s "/etc/deepin/deepin_update_option.json" "/tmp/deepin_update_option.json" - systemctl start lastore-daemon.service > /dev/null || true & -else - echo "deepin_update_option.json not exist or don't need create link" -fi - -touch "/tmp/update_has_run" \ No newline at end of file diff --git a/var/lib/lastore/scripts/upgrade_check.sh b/var/lib/lastore/scripts/upgrade_check.sh deleted file mode 100755 index db22637ed..000000000 --- a/var/lib/lastore/scripts/upgrade_check.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/bash -if [ -e "/tmp/update_has_run" ] ;then - echo "not first run upgrade_check.sh" - exit 0 -fi - -if [ -e "/etc/deepin/deepin_update_option.json" ] && [ ! -e "/tmp/deepin_update_option.json" ] ; then - # 如果文件存在,则创建软连接 - ln -s "/etc/deepin/deepin_update_option.json" "/tmp/deepin_update_option.json" - systemctl start lastore-daemon.service > /dev/null || true & -else - echo "deepin_update_option.json not exist or don't need create link" -fi - -touch "/tmp/update_has_run" \ No newline at end of file