On Monday 04 July 2005 09:18, Brian D. Harring wrote: > On Fri, Jul 01, 2005 at 08:16:46PM -0500, Kito wrote: > > Accurate deps should be a goal for the tree, a long term one > > obviously... > > Picking at the words (not you), but "long term" == it gets ignored > till someone starts screaming/foaming at the mouth. > > If BDEPEND were added, it's extra data that next version of > portage could use to do crazy stuff, and it wouldn't screw up existing > portage in anyway. > > What crazy stuff? Aside from having _full_ deps so we can trust > portage not to do something stupid if the profile is missing, BDEPEND > provides classification of a set of atoms that must be native to a > system. > > Since there is a seperation of what is effectively chost (bdepend) and > ctarget (depend), you're giving portage a classification of depends > for a package that it can use to do (what I'm calling) interdomain > deps.
Aside from the "crazy stuff", the extra depend information will help get out of circular dependencies. To illustrate, I'll give an example. foo DEPENDs on bar DEPENDs on baz RDEPENDs on foo foo RDEPENDs on bar RDEPENDs on baz RDEPENDs on foo Only foo is installed. With the current available dependency information, this circular dependency cannot be broken. Why? It is not known whether a package's DEPENDs need to be executed or not. To be clear, baz DEPENDs on foo foo RDEPENDs on bar bar is not installed. foo might need to run bar for baz to build (implicit DEPEND from baz to bar) If we add BDEPEND into the mix and "baz" doesn't have a BDEPEND on "foo" the circular dependency can be broken and the whole lot can be installed. Yes, it may be an extreme example but I can guarantee cases exist within the tree where circular deps can't be broken without BDEPEND information when a satisfying packages are not installed. Furthermore, it will greatly speed up dependency resolution because there will actually be *fewer* dependencies to deal with. Regards, Jason Stubbs -- gentoo-dev@gentoo.org mailing list