On Wed, 06 Dec 2006 23:38:57 +0100, Hisham Muhammad <[EMAIL PROTECTED]>  
wrote:

> On 12/6/06, Jonas Karlsson <[EMAIL PROTECTED]> wrote:
>> On Wed, 06 Dec 2006 00:25:10 +0100, Hisham Muhammad  
>> <[EMAIL PROTECTED]>
>> wrote:
>>
>> > On 12/5/06, Jonas Karlsson <[EMAIL PROTECTED]> wrote:
>> >> On Tue, 05 Dec 2006 23:39:47 +0100, Hisham Muhammad
>> >> <[EMAIL PROTECTED]>
>> >> wrote:
>> >> > Won't work. PATH and LD_LIBRARY_PATH won't be enough. The proto  
>> stuff
>> >> > installs headers. Then you'll have to handle C_INCLUDE_PATH. And if
>> >> > something uses C++, then CPLUS_INCLUDE_PATH and so on and so on  
>> and so
>> >> > on. It's hackish. And then some other recipe in the future may look
>> >> > for share/ stuff which won't work unless properly symlinked. Doing
>> >> > this is asking for meta-recipes to break in mysterious ways.
>> >> >
>> >> "and so on and so on and so on."
>> >> I can only see that there are six variables to take care of (PATH,
>> >> MANPATH, INFOPATH, LD_LIBRARY_PATH, C_INCLUDE_PATH and
>> >> CPLUS_INCLUDE_PATH)
>> >> of which two have to have two entries bin/sbin and lib/libexec.
>> >
>> > No, the set of variables is unbounded: think of PkgConfig, Python,
>> > etc. Potentially, any program can create an environment variable that
>> > establishes a path dependency that can be necessary in a later step.
>> >
>> I still don't see the problem. The only problem I see with not  
>> symlinking
>> is that one has to update environmental variables so that the files
>> installed (and not symlinked) are found. If an app creates environmental
>> variables to resources outside of that dir, I can't see how that would
>> break things. Maybe I'm missing something.
>
> I gave you an example already. Pkgconfig won't be able to find .pc
> files installed by subrecipes until they are symlinked. Ok, so then
> you could say "handle PKG_CONFIG_PATH too then". This breaks the
> earlier argument that "I can only see that there are six variables to
> take care of". Like I said, the set of variables is unbounded. Any app
> can come up with a scheme that requires an additional var to be
> handled, and then one would have to run after them as things break
>
Ok, you've convinced me :)

>
>> > In another email, you suggested for sub-recipes to have 200+
>> > hand-maintained Dependencies files, while we removed Dependencies
>> > files from sub-recipes precisely because of the maintenance burden.
>>
>> I still think that dependencies should be in every sub-recipe.
>
> And who is going to figure out the dependencies for each of the 200+
> subrecipes? Most importantly, how? Removing Dependencies from
> subrecipes was André's idea, which I agreed with. He may be able to
> provide more insights on the rationale for this decision.
>
There are not that many dependencies. The complete meta recipe Xorg has 9  
dependencies. If you look at the separate sub packages, i.e. Xorg Libs,  
they have about 3 depenndecies each. Of cource they depend on earlier  
parts of the Xorg meta, but we can't check on that atm, as we don't know  
what's installed in the meta directory.

>> Look at my
>> other thread, where one of the components of Xorg 7.1 needed another
>> component of Xorg 7.1 (but the latter wasn't installed due to an error  
>> by
>> me). I would like to be able to update sub apps separatly, when it's
>> possible.
>
> Not running the whole compilation in order opens the gate for errors
> like the one you had. When going against the recommended and tested
> behavior of compiling a meta-recipe all at once, there's the option of
> emulating Compile's own behavior by using Compile -n -e -k on the
> subrecipe at your own risk.
>
Perhaps I used the wrong example, as my point didn't get through. What I  
meant was that if dependencies was listed in the sub recipes I would have  
got a warning that the dependency wasn't installed (but again that require  
that we know what's installed in the meta directory).

As for 'Compile --app-name --app-version -keep', I think that the sub  
recipes should emulate this by specifying 'part_of_name=Xorg' and  
'part_of_version=7.1' inside the recipe (the variable names could be  
discussed).

>> The difference, the way I see it, is that dependencies fail once in a
>> while, but your idea of add do_symlink=no had the possibility to fail
>> 200+ -#_of_proto times.
>
> Which is why I only advocated it for proto's. (Of course, I proposed
> it as an alternative to tweaking env vars, not as an alternative to
> subrecipe dependencies).
>
It did not sound like you meant proto only, but more as in "start with  
proto and then experiment with the rest", but I guess we misunderstood  
eachother again :)

Anyway I feel like we should approach this some other way as I'm stuck on  
that we don't know what files are installed in the meta directory.

-- 
/Jonas

Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
_______________________________________________
gobolinux-devel mailing list
gobolinux-devel@lists.gobolinux.org
http://lists.gobolinux.org/mailman/listinfo/gobolinux-devel

Reply via email to