Hi, I've wrote some bits of code for portage that allows easy access to use.[local.]desc files. The idea behind it follows some ML discussions [1,2] about per-package USE flags descriptions that would override the default global descriptions. I took the easiest-to-implement approach I could think of, which is to do that thanks to use.local.desc. Basically, if a dev wants to give a package-specific decsription for a flag because its behavior is a bit different than the usual one (or he wants to give some "that's a loss of functionnality" warnings, etc.), he just has to add an entry to use.local.desc, and this description will overrides the usual use.desc global one. Users can see this special descriptions at emerge --pretend/--ask time if they use the --use-desc-special option. In additions, users who are also interested in seeing all local (resp. all local or global) USE flag descriptions can use the --use-desc-local (resp. --use-desc-all) option. The selected descriptions will appear summarized after the packages list. Parsing of use.[local.]desc files is done in a new portage module, "pym/portage_use_desc.py". I've also patched repoman and equery to use this module instead of their own code (i will CC portage-tools@ because of equery). Ideas/comments/flames welcome (but maybe if it's about using some xml file) [1] http://thread.gmane.org/gmane.linux.gentoo.portage.devel/618 [2] http://thread.gmane.org/gmane.linux.gentoo.devel/26035 Reproducible: Always Steps to Reproduce:
Created attachment 53193 [details] pym/portage_use_desc.py
Created attachment 53194 [details, diff] emerge--portage_use_desc.patch The emerge patch that adds --use-desc-* options. It's against 2.0.51.19.
Created attachment 53195 [details, diff] emerge--portage_use_desc.patch Oops, no, sorry, that one...
Created attachment 53196 [details, diff] equery--portage_use_desc.patch The patch for equery (gentoolkit-0.2.0).
Created attachment 53197 [details, diff] repoman--portage_use_desc.patch The patch for repoman (2.0.51.19 again).
Created attachment 53198 [details] use_desc_checker And a not that interesting small script i made to find flags that could be candidate for beeing global or that have some special per-package descriptions.
Putting a hold on feature requests for portage as they are drowning out the bugs. Most of these features should be available in the next major version of portage. But for the time being, they are just drowning out the major bugs and delaying the next version's progress. Any bugs that contain patches and any bugs for etc-update or dispatch-conf can be reopened. Sorry, I'm just not good enough with bugzilla. ;)
Created attachment 71423 [details] pym/portage_use_desc.py iirc, no change but a s:\$Header:\$Id:
Created attachment 71424 [details, diff] portage-2.0-svn20051024-use_desc-emerge.patch integration in emerge - updated for recent 2.0 SVN.
Created attachment 71425 [details, diff] portage-2.0-svn20051024-use_desc-repoman.patch Cleanup of repoman - updated for 2.0 SVN
Created attachment 71426 [details, diff] portage-2.0-svn20051024-use_desc-documentation.patch documentation of the new emerge options (man/emerge.1 and pym/emergehelp.py)
Created attachment 71427 [details, diff] gentoolkit-svn20051024-use_desc-equery.patch Cleanup of equery - updated for recent SVN
Created attachment 71428 [details] bin/use_desc_checker minor updates to the use{,.local}.desc checker (added --help, fix uncaught exceptions)
Reopening now that patches are up-to-date.
Created attachment 81282 [details, diff] portage-2.1-pre5-use_desc-emerge.patch New version of the emerge integration patch. It is refactored to fit the recent changes made to depgrah.display(). It also adds a new option, "--use-desc-new", which prints descriptions of flags which are used for the first time by some packages (the yellow "flag%" ones). Other patchs (documentation and repoman+equery cleanups) are probably out of sync too. I would happily update them if asked though.
*** Bug 127805 has been marked as a duplicate of this bug. ***