Never-MarkAuto-Sections:: oldlibs gives wrong behavior
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
apt (Ubuntu) |
Fix Released
|
Medium
|
Unassigned |
Bug Description
The /etc/apt/
Never-
{
[...]
"oldlibs";
};
This was added back in 2010, with the following rationale:
message:
add "oldlibs" to the APT::Never-
for transitional packages
This replaced a previous provisional 'transitional' section.
I don't understand exactly why this was done, but it seems very incorrect to me. The effect of Never-MarkAuto-
$ apt-cache show libblas3gf
Package: libblas3gf
Priority: optional
Section: libs
Installed-Size: 40
Maintainer: Ubuntu Developers <email address hidden>
Original-
Architecture: all
Source: blas
Version: 1.2.20110419-5
Depends: libblas3
Filename: pool/main/
Size: 2920
MD5sum: fb2afb44fdbdaf8
SHA1: be8056468c7b966
SHA256: 067cf1cdbb79372
Description-en: Transitional package for libblas
Several minor changes to the C interface have been incorporated.
One can maintain both versions on a system simultaneously to aid
in the transition.
Homepage: http://
Description-md5: 8bf7be122ddac62
Bugs: https:/
Origin: Ubuntu
Supported: 18m
Task: ubuntu-usb, kubuntu-full, kubuntu-
$ apt-mark showmanual | grep libblas3
libblas3
libblas3gf
$
I think the *intent* was to ensure that when a package becomes a transitional package, it can then be removed without causing the real package that is the target of the transition to also be removed. But I don't think this is a correct interpretation of the 'oldlibs' section; packages in oldlibs are generally not leaf packages, and their dependencies are generally real dependencies rather than dependencies for purpose of a transition. Can we revisit this use of oldlibs?
FWIW, we seem to be doing a poor job in general of getting packages correctly marked for autoremoval. On my desktop system:
$ for pkg in $(apt-mark showmanual) ; do grep-status -FPackage -X $pkg -a -FSection -X libs -sPackage; done | uniq | wc -l
889
$
I don't think those are all due to this particular bug, but I'm pretty sure they're almost all wrong. :/
Changed in apt (Ubuntu): | |
importance: | Undecided → Critical |
importance: | Critical → Medium |
On 6 November 2012 08:31, Steve Langasek <email address hidden> wrote:
> FWIW, we seem to be doing a poor job in general of getting packages
> correctly marked for autoremoval. On my desktop system:
>
> $ for pkg in $(apt-mark showmanual) ; do grep-status -FPackage -X $pkg -a -FSection -X libs -sPackage; done | uniq | wc -l
> 889
> $
>
> I don't think those are all due to this particular bug, but I'm pretty
> sure they're almost all wrong. :/
Potential sources of this:
- upgrading packages with some combinations of aptitude
(< 0.6.4-1) and apt (≥ 0.8.11.2); [1]
- some other issues in current versions of aptitude (problem resolver;
cancelling removal of packages);
- upgrading packages with python-aptdaemon (e.g. via
software-center). [2]
These are just the cases that I am aware of. I have investigated some :MarkInstall et al.) with “mark
others (apt, python-apt) which seem to be ok, though python-apt
conflates “FromUser=true” (pkgDepCache:
this package manually installed” in mark_upgrade, which is not
strictly true.
If the system is a relatively fresh install, then it is easier to
determine whether the issue is still present.
[1] http:// bugs.debian. org/432017# 152 bugs.debian. org/685044
[2] http://