[Aptitude-devel] Bug#931482: Old forbid-versions hanging around in /var/lib/aptitude/pkgstates
積丹尼 Dan Jacobson
jidanni at jidanni.org
Sat Jul 6 00:34:45 BST 2019
Package: aptitude
Version: 0.8.11-7
Severity: minor
The only way to find old ForbidVer entries is
# grep-status -sPackage,ForbidVer -F ForbidVer --ge 0 /var/lib/aptitude/pkgstates
Package: chromium-common
ForbidVer: 74.0.3729.108-1
As one couldn't just look for any "F" in this list
# aptitude search ~i|grep chromium-common
i A chromium-common - web browser - common resources used by the chromium packages
as the package has already advanced to a newer version:
# aptitude show chromium-common
Package: chromium-common
Version: 75.0.3770.90-1
New: yes
State: installed
Forbidden version: 74.0.3729.108-1
So to maintain a clean /var/lib/aptitude/pkgstates without old ForbidVer
hanging around, one must do
# grep-status -sPackage,ForbidVer -F ForbidVer --ge 0 /var/lib/aptitude/pkgstates
and then
# aptitude show on any packages found,
and then compare the two versions shown,
and if the ForbidVer is lower, then do
To revert the action, “aptitude install <package>” will
remove the ban. To remove the forbidden version without
installing the candidate version, the current version should
be appended: “install <package>=<version>”.
as mentioned on the aptitude man page.
Also mention "aptitude purge <package>" will remove the ban. And one
doesn't even have to answer "y" when asked if your really want to remove it.
OK, so maybe the man page should say
"Note: forbid-version is not cleared by full-upgrade, safe-upgrade, ...
etc." (if indeed true. I'm not sure.)
And
"use grep-status ... ... ... to find all packages that have a
forbid-version notation. aptitude search ~i|grep F... won't show them
all."
Also maybe forbid-version should be added to
?action(action), ~aaction
Matches packages upon which the given action is going to be
performed. action can be “install”, “upgrade”, “downgrade”,
“remove”, “purge”, “hold” (tests whether a package has been
placed on hold), or “keep” (tests whether a package will be
unchanged).
but then again there is this "but is it forbidden against an obsolete
version" problem that needs to be documented.
(Also note the ForbidVer may refer to a version number way ahead...
once offered in experimental, but we forbid it, and then they removed it
from experimental. (user is subscribed to sid and experimental)
More information about the Aptitude-devel
mailing list