[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Getting rid of circular dependencies

[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

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.)

Attachment: signature.asc
Description: Digital signature

Reply to: