Commit 5b9855b3 authored by Luca Giambonini's avatar Luca Giambonini

validator: if is a pkg to be removed skip the further verification steps.

the targetRemovals list contains the removed packages in the current operation.
When we are processing the replacement operation, the replaced packages are inserted in the targetRemovals List.
Later, after verifing that the pkg filesystemAdditions does not conflict with the files in the system, the pkg is validated. If the pkg analized in the current loop must be removed we must skip the package conflict and the database conflict because we want really to remove it, not verify if conflicts with an installed one.
parent 141d1824
......@@ -335,6 +335,13 @@ void ValidatorWorker::processNextPhase()
}
}
foreach (const QString &target, op->conflictingTargets()) {
// if is a pkg to remove or replace skip the checks
bool skip = false;
foreach (const QString targetRemove, targetRemovals){
if(targetRemove.contains(target)) skip = true;
}
if (skip) continue;
if (targetNames.contains(target)) {
// Corner case: the conflict might be a provides/conflicts problem. Let's check.
if (targetNames[target] == op) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment