PackageSet conflictPackages = packageManager
.getConflictPackagesInUpdate(installableMetaPkgs);
Log.log("Remove conflict packages => " + conflictPackages);
+ System.out.println(conflictPackages);
if (monitor != null) {
monitor.setProgressTitle("Remove Conflict Packages");
*/
public PackageSet getConflictPackagesInUpdate(PackageSet packageSet) {
PackageSet conflicts = getConflictPackages(packageSet);
- return intersect(conflicts, installedPackages);
+
+ conflicts.addAll(reverseDep(conflicts));
+
+ return intersect(installedPackages, conflicts);
}
// Methods for remove process
return reverseSet(dep);
}
+ private PackageSet reverseDep(PackageSet packages) {
+ PackageSet reversePackages = new PackageSet();
+
+ for (Package pkg : packages) {
+ reversePackages.addAll(reverseDep(pkg));
+ }
+
+ return reversePackages;
+ }
+
/**
* Need reverse depends when remove.
* @param p