From de873768c99c3857a465da0c602e660b825d1f7f Mon Sep 17 00:00:00 2001 From: renbin Date: Tue, 12 Dec 2023 14:44:19 +0800 Subject: [PATCH] fix: Conflicts contain pkg name install failed. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 在包冲突包名中含当前包名时,包安装过滤了这类场景, 但已安装包冲突检测没有,导致后续包升降级时,已安装 包冲突项和当前包一致,出现依赖冲突。 调整安装策略和apt一致,允许安装冲突包名和当前包名 一致的包。 Log: 修复特殊依赖安装冲突 Bug: https://pms.uniontech.com/bug-view-233895.html Influence: Conflicts --- src/deb-installer/manager/packagesmanager.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/deb-installer/manager/packagesmanager.cpp b/src/deb-installer/manager/packagesmanager.cpp index e54673e1..e0900e17 100644 --- a/src/deb-installer/manager/packagesmanager.cpp +++ b/src/deb-installer/manager/packagesmanager.cpp @@ -454,6 +454,16 @@ const ConflictResult PackagesManager::isInstalledConflict(const QString &package if (pkgName != packageName) continue; + /* 部分特殊软件包 conflicts 包名和当前包名一致,若一致,则认为无效 + e.g.: + Pakcage: ImageEnhance + Conflicts: ImageEnhance + Replaces: ImageEnhnace + */ + if (pkg->name() == info.first) { + continue; + } + // pass if arch not match if (!pkgArch.isEmpty() && pkgArch != packageArch && pkgArch != "any" && pkgArch != "native") continue;