In foo.debian-user, you wrote: > On Mon, 29 Mar 1999, Mitch Blevins wrote: > > Apt will keep a boolean flag called 'Auto' for each package installed > > on your system. 'Auto' is short for 'Automatically uninstall this > > package when it is not required anymore because of a dependency'. > > What about a counter for the number of packages that depends on it. If the > count is 0, the package can be safely removed. I think this work even for > local packages, since you provide your local package increments the > counter on packages it depends on.
A counter field is totally independant from the Auto flag. Just because a package has no other packages depending on it does not mean that it should be removed. For example, xpilot is an excellent game, and I wouldn't want it removed... but nothing depends on it. The Auto flag is just a boolean to determine if a package should be removed IFF no other packages depend on it. Having /usr/local packages be calculated into the dependency information can be accomplished using the "equivs" package. An explicit counter is not needed. > > So, when you install package foo, and apt automatically installs > > libfoo1 and libfoo2 because they are required by foo, then they will > > be marked with the 'Auto' flag. Later, if you deinstall foo, then apt > > will also deinstall libfoo1 and libfoo2, provided they are no longer > > needed by any other packages. > > But, what if libfoo1 || libfoo2 is need by some other package? Hmmm... an ambiguous situation if both libfoo1 and libfoo2 have the Auto flag set. I assume that the implementers would either leave both on the system, or deinstall one of them on a first-come first-serve basis. -Mitch

