Peter Humphrey <[EMAIL PROTECTED]> posted
[EMAIL PROTECTED], excerpted below, on  Sat, 12 Aug
2006 11:13:01 +0100:

>  Examples: 
> 
> -- 
> ~ # grep wmf /usr/portage/profiles/use.desc
> wmf - Adds support for the wmf vector image format
> ~ # grep X /usr/portage/profiles/use.desc
> X - Adds support for X11
> -- 
> 
> In the wmf case, only a small amount of code is affected, but in the X case 
> you get the entire X Window System!
> 
> Besides, the "adds support for foo" construction reminds me of BASIC 
> programs we used to see 25 years ago, in which the programmer had included 
> such gems as:
> 
> LET X=0;      REM set X to 0

/Yah!/  Those sorts of programs are always "interesting"!  :(
Unfortunately, the USE flag thing likewise.

> What's needed is a brief explanation of what including foo implies, and I 
> thought a plan was in place to do that. I'd be happy to help out with such 
> an effort.

The trouble, IMO, is in global vs. local flags.  "Support for X", fine,
and as varied as that support might be, that's about as detailed as one
can get in use.desc and stay accurate for all packages.  What's actually
needed is a use.local.desc that includes all packages with all flag
listings and a description of what each does in each package.  If it
means building against xlib, thus not only forcing xlib and its
dependencies in, but potentially meaning the program won't run if X is
hosed (the reason I have -X in package.use for links, I want it to
function as a text browser even -- /especially/ -- when X isn't working,
tho X support would be nice, it's not critical as is the functionality
when X fails), that's /entirely/ different than simply including a few
icons and a *.desktop file, when USE=X, excluding them when USE=-X.

Another example is net-nntp/pan, which I have some personal knowledge of
as I'm not only using it to post this message, but I'm involved upstream. 
The new 0.1xx betas of the 1.0 to be released probably early next month,
make use of USE=gnome to determine whether to pull in and build against
gnomelib (which pulls in a whole host of other gnome foundation
dependencies) or not.  However, the link against gnomelib is used for only
/one/, that's 1 as in /only/ one, thing -- whether pan checks the
configured gnome browser or uses the $BROWSER environmental variable.
That's /all/ it uses it for.  Now even some folks using gnome may prefer
the flexibility of using the $BROWSER var, thus allowing pan to be
configured for a browser other than that configured for gnome.
Additionally, it may be useful to keep such a trival libgnome linkage out,
as with the links/X example above, so pan can continue to be used with
other desktop environments if gnome is screwed up for some reason or
another.

If gnome support meant something rather fancier, say integration of some
gnome applets or something, or at least use of the gnome mimetype database
to determine what to run for all sorts of stuff, not just the browser,
that's rather different than simple browser-choice-determination-only
support, and it'd be nice if there were some way to say exactly what the
USE=gnome actually did.

Be that as it may, I don't believe anything of the sort is likely to
happen for Gentoo in general.  Maybe ufed or similar will integrate such
detailed explanations at some point (I've never used it, maybe it does
now?), but I've seen nothing on gentoo-dev suggesting there's a movement
to support such a thing in general, and I'm sure I would have if there
were serious discussion of such a thing.

-- 
Duncan - List replies preferred.   No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master."  Richard Stallman

-- 
[email protected] mailing list

Reply via email to