Bruno <bonbons67 <at> internet.lu> writes: > > On Monday 10 October 2005 14:53, Chris Gianelloni wrote: > > > > Here's my question... use.local.desc is already package-specific, so why > > would we need yet *another* place to put package-specific definitions? > > Would it not be enough to have use.local.desc overlay on use.desc? If > > package foo uses global USE flag bar in a way different from the > > description in use.desc, then it should list the USE flag in > > use.local.desc with the correct description for that package. > > > The additionnal info about USE flags should not be what is this or that USE > flag used differently for, but rather what *exactly* does the use-flag > influence. What exact features of the program are enabled/disabled/changed by > the given USE flag. > Some USE flags are used to either compile against a lib that's shipped with a > package or with the system version of that lib. Would be useful to know. > > Then there are USE flags like static which are very unprecise. Do they mean > that the program is 100% stand-alone (e.g. does not link against any lib) or > does it have to do with *.a, *.la files being installed, or just reduce the > count of libs linked against... > > In addition, providing the info in the package metadata is cleaner as > information about a given package is in one place, and there is not one file > with 1k lines with many USE flags and their use for each and every package. > > The aim is to allow to know what happens without reading the ebuild AND the > configure script and makefiles of a package. > > Bruno >
I agree with the people who say that a USE flag should do the same thing no matter which package it is associated with. But it is true there are instances where a USE flag does something different. Just look at the example about the perl flag on mysql that is noted above. That tells me that maybe that flag on mysql shouldn't be the perl flag, but some other flag pertaining to what those scripts do, not what they are written in. So step one is to make it so a flag always does the same thing no matter what ebuild it is associated with. However, there is a problem that many USE flags are undocumented or difficult to find documentation on. There are lots of flags that are seriously great mysteries to me. Especially with packages like mplayer which has a zillion flags. Also, even though I might know generally what a flag does I wont know specifically how that effects this package. So what I propose is that each flag has a general description in use.desc as they do now. But for each individual ebuild there will be detailed descriptions of each flag the maintainer can put in if they want. So the one sentence summaries of what a flag does will be there, but you can easily access a multi-sentence, detailed, e-build specific description when you are lost. Let's do an example. xscreensaver, mplayer and gdm all respect the xinerama use flag. And it is fair to say that on all of these the flag adds support for xinerama to the package, so changing the use flag is unecessary. However, on mlpayer and on gdm you could be more precise and say that flag adds support for selecting which xinerama screen the program displays on. Whereas with xscreensaver the flag allows you to display multiple instances of the screensaver, one per xinerama screen, as opposed to one instance that spans the entire full screen. I think it's pretty obvious how that more specific information can be helpful to users. I actually know a few people that have xinerama but purposefully don't apply the xinerama flag to xscreensaver because they prefer a single instance of the screensaver stretched out. That sort of documentation is very useful and desperately needed in portage. -- gentoo-dev@gentoo.org mailing list