This partly reverts
d059cc2 and fixes bug #753297 in a more
general way by ensuring that CacheFile.BuildDepCache() builds
a pkgPolicy if there isn't one already.
if (DCache != NULL)
return true;
+ if (BuildPolicy(Progress) == false)
+ return false;
+
DCache = new pkgDepCache(Cache,Policy);
if (_error->PendingError() == true)
return false;
}
else if (_config->FindB("APT::Cmd::Upgradable") == true)
{
- pkgPolicy *policy = CacheFile.GetPolicy();
- if(P.CurrentVer() &&
- state.Upgradable() &&
- policy->GetCandidateVer(P) != P.CurrentVer())
+ if(P.CurrentVer() && state.Upgradable())
{
pkgPolicy *policy = CacheFile.GetPolicy();
output_set.insert(policy->GetCandidateVer(P));
std::string CandidateVerStr = GetCandidateVersion(CacheFile, P);
std::string InstalledVerStr = GetInstalledVersion(CacheFile, P);
std::string StatusStr;
- if(P.CurrentVer() == V &&
- state.Upgradable() &&
- state.CandidateVer != NULL &&
- policy->GetCandidateVer(P) != P.CurrentVer())
+ if(P.CurrentVer() == V && state.Upgradable())
{
strprintf(StatusStr, _("[installed,upgradable to: %s]"),
CandidateVerStr.c_str());