Marking this as released, as the behavior changed a while ago to "move"
the autobit state of oldlibs on removal, rather than just marking the
dependencies as manual; option APT::Move-Autobit-Sections in
** Changed in: apt (Ubuntu)
Status: Confirmed => Fix Released
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to apt in Ubuntu.
Never-MarkAuto-Sections:: oldlibs gives wrong behavior
Status in apt package in Ubuntu:
The /etc/apt/apt.conf.d/01autoremove file includes the following
This was added back in 2010, with the following rationale:
add "oldlibs" to the APT::Never-MarkAuto-Sections as its used
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-Sections is to mark the
*dependencies* of a package in this section as manually installed.
This means that if you're using the historically accurate meaning of
the 'oldlibs' section, any library dependencies of an old library will
be marked manually installed, and thus will never be autoremoved when
the old library will no longer be needed. E.g.:
$ apt-cache show libblas3gf
Maintainer: Ubuntu Developers <ubuntu-devel-disc...@lists.ubuntu.com>
Original-Maintainer: Debian Science Team
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.
Task: ubuntu-usb, kubuntu-full, kubuntu-active-full, edubuntu-desktop-kde,
edubuntu-desktop-gnome, edubuntu-usb, ubuntustudio-video,
ubuntustudio-publishing, ubuntustudio-photography, ubuntustudio-graphics
$ apt-mark showmanual | grep libblas3
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
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
I don't think those are all due to this particular bug, but I'm pretty
sure they're almost all wrong. :/
To manage notifications about this bug go to:
Mailing list: https://launchpad.net/~touch-packages
Post to : email@example.com
Unsubscribe : https://launchpad.net/~touch-packages
More help : https://help.launchpad.net/ListHelp