diff options
| author | sid <sidtosh4@gmail.com> | 2024-07-03 10:20:32 +0100 |
|---|---|---|
| committer | sid <sidtosh4@gmail.com> | 2024-07-05 05:27:32 +0100 |
| commit | c575648f41ff09e72988976f8150e9bb51781cd4 (patch) | |
| tree | 57c94b7a34d031319f4a4fd4c0764aa477450007 /apt-private | |
| parent | 761852064521d9f34d3179c002427658342b6f03 (diff) | |
Show installed version (not candidate version) while removing a package
Showing a package version which was never installed in removals is
confusing.
Diffstat (limited to 'apt-private')
| -rw-r--r-- | apt-private/private-install.cc | 2 | ||||
| -rw-r--r-- | apt-private/private-output.cc | 10 | ||||
| -rw-r--r-- | apt-private/private-output.h | 2 |
3 files changed, 12 insertions, 2 deletions
diff --git a/apt-private/private-install.cc b/apt-private/private-install.cc index 599caac6d..57b5c0d5e 100644 --- a/apt-private/private-install.cc +++ b/apt-private/private-install.cc @@ -729,7 +729,7 @@ bool DoAutomaticRemove(CacheFile &Cache) "The following packages were automatically installed and are no longer required:", autoRemoveCount), Universe, [&Cache](pkgCache::PkgIterator const &Pkg) { return (*Cache)[Pkg].Garbage == true && (*Cache)[Pkg].Delete() == false; }, - &PrettyFullName, CandidateVersion(&Cache), "", note); + &PrettyFullName, CurrentVersion(&Cache), "", note); } else { diff --git a/apt-private/private-output.cc b/apt-private/private-output.cc index 2e8109583..4a946f2b8 100644 --- a/apt-private/private-output.cc +++ b/apt-private/private-output.cc @@ -596,7 +596,7 @@ void ShowDel(ostream &out,CacheFile &Cache) str.append("*"); return str; }, - CandidateVersion(&Cache), + CurrentVersion(&Cache), "action::remove"); } /*}}}*/ @@ -888,6 +888,14 @@ std::string PrettyFullName(pkgCache::PkgIterator const &Pkg) { return Pkg.FullName(true); } +std::string CurrentVersion(pkgCacheFile * const Cache, pkgCache::PkgIterator const &Pkg) +{ + return (*Cache)[Pkg].CurVersion; +} +std::function<std::string(pkgCache::PkgIterator const &)> CurrentVersion(pkgCacheFile * const Cache) +{ + return std::bind(static_cast<std::string(*)(pkgCacheFile * const, pkgCache::PkgIterator const&)>(&CurrentVersion), Cache, std::placeholders::_1); +} std::string CandidateVersion(pkgCacheFile * const Cache, pkgCache::PkgIterator const &Pkg) { return (*Cache)[Pkg].CandVersion; diff --git a/apt-private/private-output.h b/apt-private/private-output.h index 0eba6f4fb..8e1d47225 100644 --- a/apt-private/private-output.h +++ b/apt-private/private-output.h @@ -132,6 +132,8 @@ APT_PUBLIC bool YnPrompt(char const *const Question, bool Default = true); bool YnPrompt(char const * const Question, bool const Default, bool const ShowGlobalErrors, std::ostream &c1o, std::ostream &c2o); APT_PUBLIC std::string PrettyFullName(pkgCache::PkgIterator const &Pkg); +std::string CurrentVersion(pkgCacheFile * const Cache, pkgCache::PkgIterator const &Pkg); +std::function<std::string(pkgCache::PkgIterator const &)> CurrentVersion(pkgCacheFile * const Cache); std::string CandidateVersion(pkgCacheFile * const Cache, pkgCache::PkgIterator const &Pkg); std::function<std::string(pkgCache::PkgIterator const &)> CandidateVersion(pkgCacheFile * const Cache); std::string CurrentToCandidateVersion(pkgCacheFile * const Cache, pkgCache::PkgIterator const &Pkg); |
