Fix essential update

Essential components should be updated before any other component is
updated/installed. This did not happen always as when one essential
component was found and that did not have any updates, the search was
stopped and normal install flow was continued. Fixed so that all
essential components are checked if they contain update.

Task-number: QTIFW-1299
Change-Id: I754c50f672dd5f13105c710522603e90799d61c5
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
This commit is contained in:
Katja Marttila 2019-02-19 13:22:59 +02:00
parent f9fe3bc452
commit 6f655ff640

View File

@ -1220,17 +1220,17 @@ bool PackageManagerCore::fetchPackagesTree(const PackagesList &packages, const L
const QString name = update->data(scName).toString();
if (!installedPackages.contains(name)) {
success = false;
break; // unusual, the maintenance tool should always be available
continue; // unusual, the maintenance tool should always be available
}
const LocalPackage localPackage = installedPackages.value(name);
const QString updateVersion = update->data(scVersion).toString();
if (KDUpdater::compareVersion(updateVersion, localPackage.version) <= 0)
break; // remote version equals or is less than the installed maintenance tool
continue; // remote version equals or is less than the installed maintenance tool
const QDate updateDate = update->data(scReleaseDate).toDate();
if (localPackage.lastUpdateDate >= updateDate)
break; // remote release date equals or is less than the installed maintenance tool
continue; // remote release date equals or is less than the installed maintenance tool
success = false;
break; // we found a newer version of the maintenance tool