On 3/20/06, tvali <[EMAIL PROTECTED]> wrote: > 2006/3/20, Gustavo Sverzut Barbieri <[EMAIL PROTECTED]>: > > > > I do think you're overcomplicating things where you shouldn't. > > > > Declaring stuff manually will always break, and to ensure a safe > > system, it's better to use compiler information. > > In all cases, dependancy should be based on interfaces, not code. > > All packages may: > * Provide an interface > * Use an interface > > Depending on useflags, OS and other compile options, it differs, which > interfaces are provided and used. > > This is, abstractly, what portage does with interfaces. > > If portage uses some interface, it may need it's header files when > building. It may also need another lib for static build. This means > that binary check is not possible in all cases. > > Now, the problem is: > * How to get an information about a package, which specifies exactly, > which interface is needed. How to get it before building in case when > this interface is needed to be emerged before compilation [before > linking everything together, at least]. Which is a form of this > information and what could be read out from that? > * How to get information about which interfaces are provided by which > packages *not yet emerged* -- by their current use flags(?). This > means that it must be possible to know, which interfaces are provided > by packages, without first building it -- and the form given by binary > check must be the same as the form of descriptor used by this package > check. > > So, how to get correct provider together with correct client?
Ok, I agree with you that this would be the perfect solution, but it would demand too much effort to have this right. I'm not proposing the final-perfect solution, just something better than we have now. It would not cover every case, but would cover most cases in a satisfactory way. -- Gustavo Sverzut Barbieri -------------------------------------- Jabber: [EMAIL PROTECTED] MSN: [EMAIL PROTECTED] ICQ#: 17249123 Skype: gsbarbieri Mobile: +55 (81) 9927 0010 Phone: +1 (347) 624 6296; [EMAIL PROTECTED] GPG: 0xB640E1A2 @ wwwkeys.pgp.net -- gentoo-portage-dev@gentoo.org mailing list