X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/f19525d509d45790ae1adcd126c06431aecf522c..6e71ec6fcdcaa926c98fa58cd4af38e42556df15:/apt-private/private-show.cc?ds=sidebyside diff --git a/apt-private/private-show.cc b/apt-private/private-show.cc index 792c455a8..03229476e 100644 --- a/apt-private/private-show.cc +++ b/apt-private/private-show.cc @@ -258,6 +258,8 @@ bool ShowPackage(CommandLine &CmdL) /*{{{*/ CacheSetHelperVirtuals helper(true, GlobalError::NOTICE); APT::CacheSetHelper::VerSelector const select = _config->FindB("APT::Cache::AllVersions", true) ? APT::CacheSetHelper::ALL : APT::CacheSetHelper::CANDIDATE; + if (select == APT::CacheSetHelper::CANDIDATE && CacheFile.GetDepCache() == nullptr) + return false; APT::VersionList const verset = APT::VersionList::FromCommandLine(CacheFile, CmdL.FileList + 1, select, helper); int const ShowVersion = _config->FindI("APT::Cache::Show::Version", 1); for (APT::VersionList::const_iterator Ver = verset.begin(); Ver != verset.end(); ++Ver) @@ -356,13 +358,15 @@ bool ShowSrcPackage(CommandLine &CmdL) /*{{{*/ bool Policy(CommandLine &CmdL) { pkgCacheFile CacheFile; - pkgCache *Cache = CacheFile.GetPkgCache(); - pkgPolicy *Plcy = CacheFile.GetPolicy(); - pkgSourceList *SrcList = CacheFile.GetSourceList(); - if (unlikely(Cache == NULL || Plcy == NULL || SrcList == NULL)) + pkgSourceList const * const SrcList = CacheFile.GetSourceList(); + if (unlikely(SrcList == nullptr)) + return false; + pkgCache * const Cache = CacheFile.GetPkgCache(); + if (unlikely(Cache == nullptr)) + return false; + pkgPolicy * const Plcy = CacheFile.GetPolicy(); + if (unlikely(Plcy == nullptr)) return false; - - bool OldPolicy = _config->FindI("APT::Policy", 1) < 1; // Print out all of the package files if (CmdL.FileList[1] == 0) @@ -394,24 +398,6 @@ bool Policy(CommandLine &CmdL) pkgCache::PkgIterator I = Cache->PkgBegin(); for (;I.end() != true; ++I) { - // Old code for debugging - if (OldPolicy) - { - if (Plcy->GetPriority(I) == 0) - continue; - - // Print the package name and the version we are forcing to - std::cout << " " << I.FullName(true) << " -> "; - - pkgCache::VerIterator V = Plcy->GetMatch(I); - if (V.end() == true) - std::cout << _("(not found)") << std::endl; - else - std::cout << V.VerStr() << std::endl; - - continue; - } - // New code for (pkgCache::VerIterator V = I.VersionList(); !V.end(); ++V) { auto Prio = Plcy->GetPriority(V, false); if (Prio == 0) @@ -456,17 +442,6 @@ bool Policy(CommandLine &CmdL) else std::cout << V.VerStr() << std::endl; - // Pinned version - if (OldPolicy && Plcy->GetPriority(Pkg) != 0) - { - std::cout << _(" Package pin: "); - V = Plcy->GetMatch(Pkg); - if (V.end() == true) - std::cout << _("(not found)") << std::endl; - else - std::cout << V.VerStr() << std::endl; - } - // Show the priority tables std::cout << _(" Version table:") << std::endl; for (V = Pkg.VersionList(); V.end() == false; ++V) @@ -475,10 +450,8 @@ bool Policy(CommandLine &CmdL) std::cout << " *** " << V.VerStr(); else std::cout << " " << V.VerStr(); - if (_config->FindI("APT::Policy", 1) < 1) - std::cout << " " << Plcy->GetPriority(Pkg) << std::endl; - else - std::cout << " " << Plcy->GetPriority(V) << std::endl; + + std::cout << " " << Plcy->GetPriority(V) << std::endl; for (pkgCache::VerFileIterator VF = V.FileList(); VF.end() == false; ++VF) { // Locate the associated index files so we can derive a description