On Mon, Dec 28, 2009 at 9:06 PM, Rémi Cardona <remi@gentoo.org> wrote:
RESOLVED -> WONTFIX
Others and myself have spent considerable time making those deps the way
they are because :
1) upstream packaging is a bit uncommon
2) ebuild deps don't fit with upstream deps
3) a few embedded devs told me they wiped /usr/include when making images
What all this has to do with the fact that they are just build dependencies? Just wondering.
So if you want to fix this properly, a new DEP variable needs to be
cooked up : "add the following deps to ebuilds' DEPEND when those ebuids
DEPEND on this ebuild".
Other package managers out there have explicit build dependency lists, so, if DEPEND is not really a list of build dependencies, yeah, I agree, we need a list describing "strict" build dependencies.
Until such a variable exist, having the protos in both DEPEND and
RDEPEND is the only _valid_ solution.
On Monday 28 December 2009 20:50:17 Fabio Erculiani wrote:
> What all this has to do with the fact that they are just build
> dependencies? Just wondering.
They're not just build dependencies. They're required to use the library in a
certain way, namely to compile other programs against it. As long as we
don't have compile-against dependencies, the only correct way to express that
is RDEPEND (and also DEPEND because they're /also/ needed to build the
library itself).
12-28-2009, 08:04 PM
Fabio Erculiani
x11-libs/lib*: wrong RDEPENDs bug
On Mon, Dec 28, 2009 at 9:51 PM, David Leverton
<levertond@googlemail.com> wrote:
> On Monday 28 December 2009 20:50:17 Fabio Erculiani wrote:
>> What all this has to do with the fact that they are just build
>> dependencies? Just wondering.
>
> They're not just build dependencies. *They're required to use the library in a
> certain way, namely to compile other programs against it. *As long as we
> don't have compile-against dependencies, the only correct way to express that
> is RDEPEND (and also DEPEND because they're /also/ needed to build the
> library itself).
To me you are saying that DEPEND would work just fine. No?
Sorry, some more bits here:
AFAIK, Portage considers DEPEND when used as "source-based package manager" (and emerge --depclean stuff) while it ignores them when binpkgs come into play.
So, (I ask Zac to correct me), putting x11-protos to DEPEND doesn't really change much for 99% of Portage users (those who are using it to *compile* pkgs). While it changes a lot for binary package managers, which hopefully don't consider DEPEND at all (at least this was the initial idea). The fact is, since Portage binary package management is really and unfortunately a "joke" as of today, the amount of people using it versus the amount of people not using it is really big (that's why I wrote a separate app). Thus, many ebuilds have broken RDEPEND/DEPEND and as you (all) have proven, there is not even a real "container" of build dependencies nor a clear idea among developers (my initial email wanted to bring devs to this exact point, it seems I did it).
Moreover, the amount of legacy, undocumented, perhaps *workaroundish* solutions inside Portage codebase are not really helping in fixing this situation. I say, unfortunately, not to blame anybody. A lot of work is being done lately to try to improve it.
On 12/28/2009 10:51 PM, David Leverton wrote:
> On Monday 28 December 2009 20:50:17 Fabio Erculiani wrote:
>> What all this has to do with the fact that they are just build
>> dependencies? Just wondering.
>
> They're not just build dependencies. They're required to use the library in a
> certain way, namely to compile other programs against it. As long as we
> don't have compile-against dependencies, the only correct way to express that
> is RDEPEND (and also DEPEND because they're /also/ needed to build the
> library itself).
>
That's what I've been trying to say (also with my example).
That is, they are more than DEPENDs.
Thanks,
Samuli
12-28-2009, 08:47 PM
Fabio Erculiani
x11-libs/lib*: wrong RDEPENDs bug
On Mon, Dec 28, 2009 at 10:32 PM, Samuli Suominen <ssuominen@gentoo.org> wrote:
On 12/28/2009 10:51 PM, David Leverton wrote:
On Monday 28 December 2009 20:50:17 Fabio Erculiani wrote:
What all this has to do with the fact that they are just build
dependencies? Just wondering.
They're not just build dependencies. *They're required to use the library in a
certain way, namely to compile other programs against it. *As long as we
don't have compile-against dependencies, the only correct way to express that
is RDEPEND (and also DEPEND because they're /also/ needed to build the
library itself).
That's what I've been trying to say (also with my example).
That is, they are more than DEPENDs.
How comes,
this is the list of files owned by xproto:
Fabio Erculiani demis ki::
> How comes,
> this is the list of files owned by xproto:
>
> /usr/include/X11/extensions/dmxext.h
> /usr/include/X11/extensions/dmxproto.h
> /usr/share/doc/dmxproto-2.2.2/ChangeLog.bz2
> /usr/lib64/pkgconfig/dmxproto.pc
> /usr/include/X11/DECkeysym.h
.....
>
> How can a bunch of .h and pkgconfig files *do* all that magic you are
> talking about?
>
X preprocesses some files at each startup(using the C preprocessor(cpp) via
xrdb configuration tool) Strange but true.
Macros defined by these .h files might be used during this configuration.
--
Gokdeniz Karadag
12-28-2009, 08:51 PM
Ciaran McCreesh
x11-libs/lib*: wrong RDEPENDs bug
On Mon, 28 Dec 2009 22:54:42 +0100 (CET)
Fabio Erculiani <lxnay@gentoo.org> wrote:
> In any case, I think that this situation should be addressed, and
> perhaps a comment from PMS might help.
The PMS side is that we know that the current three DEPEND variables
are nowhere near enough, and there are proposals for fixing it
properly, but they're not things that are easy to implement in Portage,
so there's no timescale.
In the mean time, RDEPEND is the closest we have to a dependency saying
"if I'm used to satisfy a build dependency, then this must also be
installed".
--
Ciaran McCreesh
12-28-2009, 08:54 PM
Samuli Suominen
x11-libs/lib*: wrong RDEPENDs bug
On 12/28/2009 11:47 PM, Fabio Erculiani wrote:
>
>
> On Mon, Dec 28, 2009 at 10:32 PM, Samuli Suominen <ssuominen@gentoo.org>
> wrote:
>> On 12/28/2009 10:51 PM, David Leverton wrote:
>>> On Monday 28 December 2009 20:50:17 Fabio Erculiani wrote:
>>>> What all this has to do with the fact that they are just build
>>>> dependencies? Just wondering.
>>>
>>> They're not just build dependencies. They're required to use the
>>> library in a
>>> certain way, namely to compile other programs against it. As long as we
>>> don't have compile-against dependencies, the only correct way to
>>> express that
>>> is RDEPEND (and also DEPEND because they're /also/ needed to build the
>>> library itself).
>>>
>>
>> That's what I've been trying to say (also with my example).
>> That is, they are more than DEPENDs.
>
> How comes,
> this is the list of files owned by xproto:
>
...
> How can a bunch of .h and pkgconfig files *do* all that magic you are
> talking about?
There's no magic involved.
In order to _use_ libXext, which in this case is building something
against libXext, also xextproto must be around, because libXext's
includes are including xextproto's includes.
As in, libXext must have xextproto around to be a complete package.
12-28-2009, 08:54 PM
Fabio Erculiani
x11-libs/lib*: wrong RDEPENDs bug
In any case, I think that this situation should be addressed, and perhaps a comment from PMS might help.