View previous topic :: View next topic |
Author |
Message |
beandog Bodhisattva


Joined: 04 May 2003 Posts: 2070 Location: /usa/utah
|
Posted: Wed Aug 09, 2006 8:52 pm Post subject: Per-package USE flags that need explanation: input needed! |
|
|
Splitting off from an earlier thread discussing how to improve things in Gentoo, one topic that came up was that some packages have USE flags which the reason may not be clear what it will do if enabled or disabled.
dusik put it rather well:
dusik wrote: |
Personally, I find it rather obscure when a package can optionally use, say, java or python, but how do I know if I need that functionality? Take, for example:
Code: | [ebuild R ] app-office/openoffice-bin-2.0.3 USE="gnome -java" |
It would be nice to know what I'm missing if I choose -java. Sure, I could go research what the deal is with openoffice using Java, but if the ebuild dev had the capability to include a line saying "java - adds x, y, z functionality" it would really benefit all the users. After all, Java is a hefty dependency!
I'm not complaining, I just think I see room for improvement, and I'd like to hear some feedback on this. Perhaps, why this isn't really needed or isn't possible, or whatever. |
One thing I can do is at least get some kind of a webpage up somewhere that will at least document the per-package USE flag descriptions. (Don't expect me to actually get it implemented into portage -- I'm not a portage dev, and stuff like that needs to be discussed debated among all the devs.)
To do that though, we need both examples like the one above where clarification is needed, and then actually know what the USE flags enable / disable. You can do that by both looking in the ebuilds to see what configure options it's adding to --use or --enable, and then looking at configure --help in the package to see what changes.
At the very least, help us get a list of which USE flags + programs need to be documented.
Thanks
---
Confusing USE flags / package combinations:
- openoffice-bin gnome java
- icewm silverxp
- mplayer dvd dvdread xmms
_________________ If it ain't broke, tweak it. dvds | blurays | blog | wiki
Last edited by beandog on Wed Aug 09, 2006 10:15 pm; edited 2 times in total |
|
Back to top |
|
 |
think4urs11 Bodhisattva


Joined: 25 Jun 2003 Posts: 6659 Location: above the cloud
|
Posted: Wed Aug 09, 2006 9:17 pm Post subject: |
|
|
hmm, just got curious about the given example and used my google-talents
best shot for a description could/might be this one: OO-2 Java functionality
no idea though whether or not this gives the whole picture _________________ Nothing is secure / Security is always a trade-off with usability / Do not assume anything / Trust no-one, nothing / Paranoia is your friend / Think for yourself |
|
Back to top |
|
 |
dusik Tux's lil' helper


Joined: 04 Jan 2005 Posts: 129 Location: Durham, NC, USA
|
Posted: Wed Aug 09, 2006 9:28 pm Post subject: |
|
|
Think4UrS11 wrote: | hmm, just got curious about the given example and used my google-talents |
Indeed, that's helpful as far as the given example goes, but what we're really interested in is giving people a way to judge whether or not they want to use particular package options without googling and looking in the ebuild and the configure script.
So, first, to get a general idea of the real scope of the issue, it would be helpful if people posted examples that they personally found frustrating or confusing. For me, a lot of the really big packages come to mind, because they tend to have a lot of use flags, with some obscure ones.
For example, media-gfx/gimp uses "lcms - Adds lcms support (color management engine)". Great, what does that do? It also has a python use flag. What does it do using python? It's a global use flag, so euse doesn't give a gimp-specific description. We're all using Portage, which depends on Python anyway, so is there any reason *not* to include python in the Gimp? It's just not clear. See the issue? |
|
Back to top |
|
 |
ph03n1x l33t


Joined: 06 Feb 2003 Posts: 756
|
Posted: Wed Aug 09, 2006 9:30 pm Post subject: |
|
|
Errm maybe I'm missing the point but if I understand you guys right you want an explanation for the useflags a package uses. What about:
Code: | equery uses package | if I'm not completely mistaken it should provide exactly this info. |
|
Back to top |
|
 |
dusik Tux's lil' helper


Joined: 04 Jan 2005 Posts: 129 Location: Durham, NC, USA
|
Posted: Wed Aug 09, 2006 9:39 pm Post subject: |
|
|
ph03n1x wrote: | Errm maybe I'm missing the point but if I understand you guys right you want an explanation for the useflags a package uses. What about:
Code: | equery uses package | if I'm not completely mistaken it should provide exactly this info. |
Oh, that's nice, actually! It gives the same info as euse -i, but in a convenient table. Thanks.
It doesn't appear to entirely solve the problem, because for global use flags it gives the global description. So, e.g.:
Code: | + + python : Adds support/bindings for the Python language |
That's still pretty vague in the context of a specific package. So, I guess now we can narrow this down to the question: is there a way for an ebuild dev to override the global description of a use flag? If so, then that would entirely solve the problem (assuming ebuild devs actually did that where it makes sense).
Thanks for the tip, ph03n1x! |
|
Back to top |
|
 |
think4urs11 Bodhisattva


Joined: 25 Jun 2003 Posts: 6659 Location: above the cloud
|
Posted: Wed Aug 09, 2006 9:44 pm Post subject: |
|
|
@dusik:
sure, and beandog wanted an example and yes i do see your issue, but as you said yourself, we need to have 'real world' examples.
So now we have openoffice with a (more or less good, not sure) description about _what_ the java flag actually does, i.e. which functionality inside OO depeends on the presence of a JRE.
To get certain about such issues the only person who knows is the ebuild maintainer of course.
So either we force the devs to create some better flag descriptions _or_ we find some volunteers who do the job. It could become a tricky task to find out exactly what a use-dependency gives if/when even upstream doesn't exactly describes when/why/what. _________________ Nothing is secure / Security is always a trade-off with usability / Do not assume anything / Trust no-one, nothing / Paranoia is your friend / Think for yourself |
|
Back to top |
|
 |
dusik Tux's lil' helper


Joined: 04 Jan 2005 Posts: 129 Location: Durham, NC, USA
|
Posted: Wed Aug 09, 2006 9:51 pm Post subject: |
|
|
Think4UrS11 wrote: | To get certain about such issues the only person who knows is the ebuild maintainer of course.
So either we force the devs to create some better flag descriptions _or_ we find some volunteers who do the job. It could become a tricky task to find out exactly what a use-dependency gives if/when even upstream doesn't exactly describes when/why/what. |
At this point, my question is primarily whether there already exists a way for ebuild devs to provide a package-specific description of a global use flag (and they're just not using it), or they don't do that because they don't have a way to do it. Take openoffice-bin, for example. The best I currently know how to get is:
Code: | $ equery uses openoffice-bin
[ Searching for packages matching openoffice-bin... ]
[ Colour Code : set unset ]
[ Legend : Left column (U) - USE flags from make.conf ]
[ : Right column (I) - USE flags packages was installed with ]
[ Found these USE variables for app-office/openoffice-bin-2.0.3 ]
U I
+ + gnome : Adds GNOME support
- - java : Adds support for Java |
( note: I've snipped out all the linguas stuff )
These descriptions really don't give me any useful information regarding whether or not I would find it beneficial to use or not use those options, particularly the Java. I suppose I can guess that +gnome would mean something like "better integration with the Gnome desktop environment", but even there I'm not 100% sure. |
|
Back to top |
|
 |
Dralnu Veteran


Joined: 24 May 2006 Posts: 1919
|
Posted: Wed Aug 09, 2006 10:03 pm Post subject: |
|
|
ph03n1x wrote: | Errm maybe I'm missing the point but if I understand you guys right you want an explanation for the useflags a package uses. What about:
Code: | equery uses package | if I'm not completely mistaken it should provide exactly this info. |
Thats a little help, but the problem still is this: Still a one-liner answer.
equery uses icewm
...
-- silverxp : Apply ybuttons.cc.patch necessary for SilverXP theme
...
Ok, so what exactly does that do? This is an odd example, granted, but think about it this way: What is the SilverXP theme? What is ybuttons.cc.patch?
The problem here I think comes down more to the fact its just poor documentation, or poor naming of use flags. Ok, for instance:
foo : -python java perl -ruby
Ok, thats fine. What do they all do? Well, if you tried something like:
foo : -python_script java_plugin perl_script -ruby_script
instead of leaving us with odd looking USE flags, rename them (I realize this may be an upstream issue, but KDE if memory serves is monolithic by nature, too...). Heck, tag into emerge something like emerge --very-verbose. Display
[ ] foo
Java : Enable Java Scripting
Python: Enable Python Scripting
KDE : Enable native KDE support
along with the standard
[ ] foo : java python kde
you get from emerge -pv.
Edit:
Also, in general. USE flag docs from what i have seen are so poor (I made a comment in another thread. USE flags, both online and local, are outdated badly) it isn't even laughable. _________________ The day Microsoft makes a product that doesn't suck, is the day they make a vacuum cleaner.
Last edited by Dralnu on Wed Aug 09, 2006 10:06 pm; edited 1 time in total |
|
Back to top |
|
 |
slonocode Apprentice


Joined: 03 Jun 2002 Posts: 273
|
Posted: Wed Aug 09, 2006 10:05 pm Post subject: |
|
|
Think4UrS11 wrote: | @dusik:
sure, and beandog wanted an example and yes i do see your issue, but as you said yourself, we need to have 'real world' examples.
So now we have openoffice with a (more or less good, not sure) description about _what_ the java flag actually does, i.e. which functionality inside OO depeends on the presence of a JRE.
To get certain about such issues the only person who knows is the ebuild maintainer of course.
So either we force the devs to create some better flag descriptions _or_ we find some volunteers who do the job. It could become a tricky task to find out exactly what a use-dependency gives if/when even upstream doesn't exactly describes when/why/what. |
Well if the dev doesn't know exactly than they don't know. But overall many use flags could do with better explanations of the functionality added/omitted and why you might want or not want that functionality.
What does it mean for mplayer to have xmms support? If I have xmms on my system I suppose I'd enable it but I still have no idea what it does or why I might want/notwant it.
Mplayer has dvd and dvdread flag. Ok I surely want mplayer to have dvd functionality but do I need both? Why would I want support for libdvdread if I've already enabled dvd functionality?
Does it require the perspective of someone who doesn't already know to go through and find which of the use flags needs to be documented more thoroughly? I suppose it might. But there could also be a standard set for documenting the function of a flag from the beginning.
Last edited by slonocode on Thu Aug 10, 2006 12:36 am; edited 1 time in total |
|
Back to top |
|
 |
dusik Tux's lil' helper


Joined: 04 Jan 2005 Posts: 129 Location: Durham, NC, USA
|
Posted: Wed Aug 09, 2006 10:55 pm Post subject: |
|
|
Ok, so here's an idea:
Why not let an ebuild provide a (possibly lengthy) blurb on use flag suggestions/considerations, that ebuild devs could use for nontrivial packages? Maybe it would be accessible via equery?
I think that right now the root problem is that ebuild devs don't even have an obvious convenient way to communicate such info to the end user. |
|
Back to top |
|
 |
Dralnu Veteran


Joined: 24 May 2006 Posts: 1919
|
Posted: Thu Aug 10, 2006 2:10 am Post subject: |
|
|
dusik wrote: | Ok, so here's an idea:
Why not let an ebuild provide a (possibly lengthy) blurb on use flag suggestions/considerations, that ebuild devs could use for nontrivial packages? Maybe it would be accessible via equery?
I think that right now the root problem is that ebuild devs don't even have an obvious convenient way to communicate such info to the end user. |
I think thats the case with alot of things. From what little I have seen, it seems the devs tend to go their own way with things with little thought of others. Features seem to be more of a "Hey, lets do this" or "Here is a better way to do _____" instead of "This is something we need".
Good example: emerge --search and eix. Shouldn't there be only one, instead of the two? Why two programs?
IMHO, I think as a whole, Gentoo needs to get an idea on what should be done/what we need instead of going on over all this crap and trying to make something brand spankin' new, and try to upgrade and incorporate things that really need it.
Portage needs a good way to handle USE flags. Granted plain text works, but for things like eix, revdep-rebuild, and emerge --depclean, there should be a solid, hopefully central, database for all this instead of wasting disk space on numerous dup repositories, but I'm getting off track here.
I'm sure something can be done, and I'm sure there is probably a good way to do it, but I'm just curious if the devs really want to look any into it, and get their noses out of their own projects. This isn't a case where a person can ignore everything and work on just their project, you need to see what others are doing, and especially with Portage/Emerge, try to give others the tools they need to make their lives easier, along with the end-users. _________________ The day Microsoft makes a product that doesn't suck, is the day they make a vacuum cleaner. |
|
Back to top |
|
 |
Penguin of Wonder Apprentice


Joined: 17 Jan 2006 Posts: 280 Location: West Virginia
|
Posted: Thu Aug 10, 2006 2:17 am Post subject: |
|
|
This sounds like somethig that could (or even should) be listed at sites like www.gentoo-portage.com
Has anyone thought about talking to the guy who runs that site (or another one like it I'm not aware of) to see if he could help? _________________ My Linux Blog
AMD64 3700+
2G DDR 3200 Ram
320G HDD |
|
Back to top |
|
 |
dusik Tux's lil' helper


Joined: 04 Jan 2005 Posts: 129 Location: Durham, NC, USA
|
Posted: Thu Aug 10, 2006 2:48 am Post subject: |
|
|
Dralnu wrote: | From what little I have seen, it seems the devs tend to go their own way with things with little thought of others. |
Well, I think that's unfair to the devs! I actually think they've been doing a great job. There's certainly some information divide between the devs and the community -- you've correctly observed that the really useful programmes have to be hunted down over time, instead of new users being directed to a central repository of handy (vital to a pleasant experience, even!) goodies (gentoolkit, eix, etc.).
I myself really don't understand why the officially suggested way (in the official handbook) of searching is emerge --search. However, it's also important to remember that it's not the same as eix. The latter is pre-index search (that's why it's faster). But yes, they could advise using eix-sync instead of emerge --sync.
This is all a separate topic though. Let's stick to the point, which is right now: Do devs have a way to provide better use-flag description on a per-package basis, and if not, then how can we implement that possibility. |
|
Back to top |
|
 |
Dralnu Veteran


Joined: 24 May 2006 Posts: 1919
|
Posted: Thu Aug 10, 2006 5:41 am Post subject: |
|
|
dusik wrote: | Dralnu wrote: | From what little I have seen, it seems the devs tend to go their own way with things with little thought of others. |
Well, I think that's unfair to the devs! I actually think they've been doing a great job. There's certainly some information divide between the devs and the community -- you've correctly observed that the really useful programmes have to be hunted down over time, instead of new users being directed to a central repository of handy (vital to a pleasant experience, even!) goodies (gentoolkit, eix, etc.).
I myself really don't understand why the officially suggested way (in the official handbook) of searching is emerge --search. However, it's also important to remember that it's not the same as eix. The latter is pre-index search (that's why it's faster). But yes, they could advise using eix-sync instead of emerge --sync.
This is all a separate topic though. Let's stick to the point, which is right now: Do devs have a way to provide better use-flag description on a per-package basis, and if not, then how can we implement that possibility. |
[offtopic] Unfair, maybe, but thats just my observation atm. They do do a good job, but there are still problems that seem to be very fundamental to me[/offtopic]
This is a thought: Get a working (by that I mean up-to-date) online repository. That would be a start, if nothing else. _________________ The day Microsoft makes a product that doesn't suck, is the day they make a vacuum cleaner. |
|
Back to top |
|
 |
beandog Bodhisattva


Joined: 04 May 2003 Posts: 2070 Location: /usa/utah
|
Posted: Thu Aug 10, 2006 5:47 am Post subject: |
|
|
Dralnu wrote: | This is a thought: Get a working (by that I mean up-to-date) online repository. That would be a start, if nothing else. |
What do you mean? Something like this, perhaps: http://packages.gentoo.org/ _________________ If it ain't broke, tweak it. dvds | blurays | blog | wiki |
|
Back to top |
|
 |
dusik Tux's lil' helper


Joined: 04 Jan 2005 Posts: 129 Location: Durham, NC, USA
|
Posted: Thu Aug 10, 2006 2:03 pm Post subject: |
|
|
I feel like this thread keeps going off-topic. Maybe I should clarify what I'm trying to point out. Any ebuild provides certain info about itself, like, for app-office/openoffice-bin:
Code: | DESCRIPTION="OpenOffice productivity suite"
HOMEPAGE="http://www.openoffice.org/"
LICENSE="LGPL-2" |
So, I'm trying to start a discussion about whether it would be a good idea to let an ebuild specify descriptions for the USE flags that packages uses that will supplement the global descriptions. So, for example, when you look up the USE flag descriptions for openoffice-bin, instead of seeing:
Code: | java - Adds support for Java |
you'll be seeing, e.g.:
Code: | java - Adds form creation wizard to ooBase; ... |
If I'm still not getting the point across, please ask me to clarify. I *know* we have online package repositories, and it's entirely beside the issue. The topic of this thread is very specific. |
|
Back to top |
|
 |
beandog Bodhisattva


Joined: 04 May 2003 Posts: 2070 Location: /usa/utah
|
Posted: Thu Aug 10, 2006 2:10 pm Post subject: |
|
|
dusik wrote: | So, I'm trying to start a discussion about whether it would be a good idea to let an ebuild specify descriptions for the USE flags that packages uses that will supplement the global descriptions. So, for example, when you look up the USE flag descriptions for openoffice-bin, instead of seeing: |
Yes, it's a good idea.
Having only 3 examples isn't going to make anyone take the enhancement seriously, though. _________________ If it ain't broke, tweak it. dvds | blurays | blog | wiki |
|
Back to top |
|
 |
dusik Tux's lil' helper


Joined: 04 Jan 2005 Posts: 129 Location: Durham, NC, USA
|
Posted: Thu Aug 10, 2006 3:12 pm Post subject: |
|
|
beandog wrote: | Having only 3 examples isn't going to make anyone take the enhancement seriously, though. |
Yeah, we need more people to comment on this (and to stay on topic too). Maybe we should bring this up on one of the mailing lists to get more exposure? |
|
Back to top |
|
 |
Dralnu Veteran


Joined: 24 May 2006 Posts: 1919
|
Posted: Thu Aug 10, 2006 3:15 pm Post subject: |
|
|
beandog wrote: | Dralnu wrote: | This is a thought: Get a working (by that I mean up-to-date) online repository. That would be a start, if nothing else. |
What do you mean? Something like this, perhaps: http://packages.gentoo.org/ |
I was talking about the USE flag database, not package list. _________________ The day Microsoft makes a product that doesn't suck, is the day they make a vacuum cleaner. |
|
Back to top |
|
 |
beandog Bodhisattva


Joined: 04 May 2003 Posts: 2070 Location: /usa/utah
|
Posted: Thu Aug 10, 2006 3:40 pm Post subject: |
|
|
Dralnu wrote: | beandog wrote: | Dralnu wrote: | This is a thought: Get a working (by that I mean up-to-date) online repository. That would be a start, if nothing else. |
What do you mean? Something like this, perhaps: http://packages.gentoo.org/ |
I was talking about the USE flag database, not package list. |
Oh, you mean use.desc and use.local.desc.
If the descriptions are out of date, file a bug. _________________ If it ain't broke, tweak it. dvds | blurays | blog | wiki |
|
Back to top |
|
 |
dusik Tux's lil' helper


Joined: 04 Jan 2005 Posts: 129 Location: Durham, NC, USA
|
Posted: Thu Aug 10, 2006 4:59 pm Post subject: |
|
|
beandog wrote: | Oh, you mean use.desc and use.local.desc.
If the descriptions are out of date, file a bug. |
Hey, that might be the simplest solution - to be able to override global use flag description in use.local.desc!
I just gave that a try and it's the global description that shows up, though. |
|
Back to top |
|
 |
dusik Tux's lil' helper


Joined: 04 Jan 2005 Posts: 129 Location: Durham, NC, USA
|
Posted: Thu Aug 10, 2006 5:04 pm Post subject: |
|
|
dusik wrote: | I just gave that a try and it's the global description that shows up, though. |
Sorry, I spoke too hastily. The local description does not show up using equery uses package, but it does show up using euse -i flag:
Code: | $ euse -i java
global use flags (searching: java)
************************************************************
[- d ] java - Adds support for Java
local use flags (searching: java)
************************************************************
[- d ] java (app-office/openoffice-bin):
*** CUSTOM DESCRIPTION GOES HERE *** |
So there is a way for ebuild devs to do that! But the discrepancy between the equery and euse results I think indicates a lack of direct awareness of this issue among the devs, so maybe it really is a good idea to float this concept on the dev mailing list. |
|
Back to top |
|
 |
beandog Bodhisattva


Joined: 04 May 2003 Posts: 2070 Location: /usa/utah
|
|
Back to top |
|
 |
dusik Tux's lil' helper


Joined: 04 Jan 2005 Posts: 129 Location: Durham, NC, USA
|
Posted: Thu Aug 10, 2006 6:03 pm Post subject: |
|
|
@beandog: Thanks; will do!  |
|
Back to top |
|
 |
Trent Arms n00b

Joined: 23 Mar 2006 Posts: 8 Location: Ohio, USA
|
Posted: Fri Aug 11, 2006 5:02 am Post subject: |
|
|
So is this thread effectively dead then? I've come across this very problem many times now but could never figure out just hat to do about it. I keep a combined use.desc and package.use.desc in my home directory, but it can only be so exact. A recent example is wxGTK. What do sdl and odbc do for it exactly? What about joystick even? Unless I suddenly learn to read massive amounts of code at a glance, I'll never even have time to figure it out. |
|
Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|