From aadbfd9e3f975d568f6ebd8485dfb4aa33bc0e63 Mon Sep 17 00:00:00 2001 From: Junghyun Yeon Date: Fri, 14 May 2021 11:40:50 +0900 Subject: [PATCH] Add version constraint for pkg upgrade in platform update Installer will not be invoked for packages which are version of old and new are same. Change-Id: I98ba2fda168b9586c35bf3a9075c5d502b76b3dc Signed-off-by: Junghyun Yeon --- src/pkg_upgrade/src/pkg_upgrader_factory.cc | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/pkg_upgrade/src/pkg_upgrader_factory.cc b/src/pkg_upgrade/src/pkg_upgrader_factory.cc index 85c15a6..da59dcd 100644 --- a/src/pkg_upgrade/src/pkg_upgrader_factory.cc +++ b/src/pkg_upgrade/src/pkg_upgrader_factory.cc @@ -43,6 +43,17 @@ list> PkgUpgraderFactory::Merge( const auto* old_pkg = FindPkgById(old_pkgs, new_pkg.GetId()); if (old_pkg != nullptr) { // UPDATE + pkgmgrinfo_version_compare_type result; + if (pkgmgrinfo_compare_package_version( + old_pkg->GetVersion().c_str(), + new_pkg.GetVersion().c_str(), + &result) != PMINFO_R_OK) + continue; + + if (old_pkg->IsReadOnly() == new_pkg.IsReadOnly() && + result == PMINFO_VERSION_SAME) + continue; + if (old_pkg->IsReadOnly() && new_pkg.IsReadOnly()) { // RO to RO pkgs.emplace_back(new SimpleUpgrader(new_pkg, PkgOperation::UPDATE)); -- 2.34.1