On Fri, Dec 19, 2003 at 04:18:14PM +1000, Anthony Towns wrote: > On Mon, Dec 08, 2003 at 03:17:19PM +0100, Marc Haber wrote: > > Let A and B both be packages that provide virtual package C. A is the > > default C in Debian, and is therefore Priority: important. A depends > > on E and F, which must be Priority: important as well, as required by > > current Policy. > > > > Now let's look at a system where the local administrator has decided > > to use B instead of A. > > > > Since E and F are Priority: important, dselect > > happily proceeds to install E and F on the system, even if they are > > not needed since the system in question uses B instead of A. > > Now let's consider what happens if they've already installed the system, > with A, and hence E and F. The run dselect, or apt-get, or even dpkg, and > install B, remove A and are left with B, E and F. > > If that's not what's desired, your dependencies are wrong. >
Since any policy change now would probably be for sarge+1, let's assume aptitude or another interface with a notion of "installed only due to dependencies". With this I think the current behavior is (not experimentally verified though): (To make the examples clearer, imagine A=exim, B=nullmailer, E=cron, F=libldap2, this was a real example in woody). Initial system install, user unselects package A during system bootstrapping: If E and F are tagged "Important" they continue to be installed (as useless, non-conflicting cruft), because all the Important packages are initially marked as "Install on own merit". If E and F are tagged optional or lower, they were only marked as "Install due to dependency" and get implicitly unselected too, unless needed by other packages. Manual, post-install change, user requests removal of A and install of B: If E and F are tagged "Important" they continue to be installed (as useless, non-conflicting cruft), because all the Important packages were initially marked as "Install on own merit" during system install. If E and F are tagged optional or lower, they were only marked as "Install due to dependency" and get implicitly removed too, unless needed by other packages. So I think the proposer may have a valid point that upping package priorities to Standard or higher just because they are needed by packages above that line cause unnecessary cruft on end-user systems. Merry Xmas, Happy Solstice, Glaedelig Jul Jakob -- This message is hastily written, please ignore any unpleasant wordings, do not consider it a binding commitment, even if its phrasing may indicate so. Its contents may be deliberately or accidentally untrue. Trademarks and other things belong to their owners, if any.

