Bug#623291: Clarify that dependency loops involving relations like Suggests are ok
> Wouldn't that create a circular dependency?
> pcscd Depends: libpcsclite1
> libpcsclite1 Suggests: pcscd
> I fixed a similar problem in #612972 a few weeks ago.
It seems that policy uses the term dependency for all package
relationships declared in debian/control. So unless one pays close
attention to the context, it is possible to read
Packages should therefore avoid circular dependencies where
possible, particularly if they have <prgn>postinst</prgn>
as meaning that a Depends relation in one direction with a Suggests
relation in the other direction is a circular dependency and something
to be avoided.
I do not think that is the intention. Potential fixes:
- Use the term "relationship" instead of "dependency" throughout. It
is confusing to call conflicts and Breaks relations dependencies
anyway (I guess a conflict with X is a dependency on not-X).
- Be more explicit that "circular dependencies" means chains of
Depends relations starting and ending at the same package. While at
it, mention that chains of Depends and Pre-Depends relationships
starting and ending at the same package are not allowed (in
addition to the existing text which says "Pre-Depends does not
permit circular dependencies to be broken").
What do you think? If this seems like a sensible thing to do, I'd be
happy to work on a patch.