PkgIterator Pkg = Ver.ParentPkg();
// See if the current version is ok
- if (Pkg.CurrentVer() == Ver && List->IsFlag(Pkg,pkgOrderList::Configured) == true &&
+ if (Pkg.CurrentVer() == Ver && List->IsNow(Pkg) == true &&
Pkg.State() == PkgIterator::NeedsNothing)
{
Bad = false;
{
VerIterator Ver(Cache,*I);
PkgIterator Pkg = Ver.ParentPkg();
- // Found a break, so unpack the package
- if (List->IsNow(Pkg)) {
+ // Check if it needs to be unpacked
+ if (List->IsFlag(Pkg,pkgOrderList::InList) && Cache[Pkg].Delete() == false) {
+ // Found a break, so unpack the package
SmartUnPack(Pkg, false);
}
}