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

So, how to get correct provider together with correct client?

> So I wouldn't mind fixing it to one package instead of a slot.
> I mean, if user compiled software X-1.0 and it depends on library
> Y-2.0, provided at the moment of X-1.0 compilation by package Z-3.0,
> then make X-1.0 depend on Z-3.0.
> If you were to remove Z-3.0 or upgrade it or even add other option by
> means of USE, have X-1.0 to be recompiled too... you could be even
> more correct to make it check CFLAGS too.
> Of course this correctness could piss users, then you could have a
> --nodeps or something like that to avoid this and use the old
> behaviour.
> --
> Gustavo Sverzut Barbieri
> --------------------------------------
>   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

icq: "317-492-912")

I like net more than life, cause if i do something wrong, then people
in net will tell me that i do, so that i can fix it -- people in life
will tell others that i do.

gentoo-portage-dev@gentoo.org mailing list

Reply via email to