[Petri Latvala] > It is an abuse of the Depends field. foo-data doesn't *need* foo for > its own operations. Nothing in -data fails to execute without foo > (because there's just data, nothing to execute).
Depends does not just mean "executables will crash or fail to load". It actually means "it is pointless to install this package without this other package". Having a package removed automatically because it no longer has any reason to be installed is a perfectly legitimate use for "Depends". That does not solve the circular dependency problem, granted. Perhaps there is need of a package flag that says "it is pointless to have this package installed by itself, so remove it if nothing depends on it". aptitude currently deduces this from its auto-install state flag, but perhaps a package itself ought to be allowed to express it. > Or maybe we need a new field for that purpose that only has effect on > uninstalls, like Uninstall-with: foo That's an alternative. Or a field (call it "Post-Depends") which means the same as Depends except that dpkg is told not to worry about the install/remove ordering - in other words, it's given a hint about where it can safely break the ordering loop. (Currently it has to guess.)
signature.asc
Description: Digital signature