On Mon, Sep 22, 2008 at 3:37 AM, Michael Homer
>> My distant, high-level perception of the issue: if I don't have
>> "tcltk" listed in my "gui" flags, or if I have "-tcltk" explicitly
>> listed in my flags configuration, then I _really_ don't want to see
>> any optional Tcl/Tk GUIs being built from any recipe I compile.
> How about just one of them, the one where you take it out of the generic flag.
> All other ways lie madness and spooky action at a distance. "There's more
> than one way to do it" isn't a good philosophy for configuration files, and
> one of the ways is a necessity here.
>
> -foo removes foo from the set of enabled flags at that point. That's all. If
> foo isn't in the set, that's a no-op. +foo adds foo to the set. If foo is
> already there, that's a no-op. There's no magic behaviour. Adding one flag
> will never remove others, and removing one will never cause weird behaviour
> later on. If a generic flag is turned on at the end of that, it takes the set
> and does its thing in the way you asked in your GenericFlags.conf.

So, if a generic flag adds foo at some point (dist or system) and then
I do -foo at the very last step (environment var), I'm still getting
rid of foo, right?

Case in point:

Scenario 1: if dist flags sets "gui: qt gtk tcltk" and system flags
sets "+gui" and I run "USE=-tcltk" on a recipe that has an optional
Tcl/Tk GUI, do I get a Tcl/Tk GUI built?

Scenario 2: if dist flags sets "-tcltk" and system flags sets "gui: qt
gtk tcltk" and I run "USE=+gui" on a recipe that has an optional
Tcl/Tk GUI, do I get the optional Tcl/Tk GUI?

My main concern is that the answer for scenario 1 is "no". I don't
mind if the answer for scenario 2 is "yes" or "no", as long as the
semantics are clearly defined. (Is the behavior of scenario 2 the
point of disagreement between Michael and Jonas?)

In any case, the trouble I'm having to understand the example Jonas
gave (apart from his inconsistent use of flag names ;) ) is probably
an indication that the whole thing is already pretty (too?)
complicated.

>> OTOH,
>> when I build aMSN, which has a Tcl/Tk GUI, I want that built on the
>> basis that Tcl/Tk is a mandatory dependency for it, and therefore it
>> should not be conditioned to a flag in the recipe.
> If a recipe flags a mandatory dependency, that recipe is broken. That
> shouldn't ever be a problem so long as we're paying attention in what goes
> into the store.

Good, looks like everyone agrees on this second part :)

-- Hisham
_______________________________________________
gobolinux-devel mailing list
gobolinux-devel@lists.gobolinux.org
http://lists.gobolinux.org/mailman/listinfo/gobolinux-devel

Reply via email to