I was just emerging apache and before I emerge something I always check with emerge -pv packagename to see if there are any useflags I might want to enable. I saw among others those useflags: -mpm-leader -mpm-peruser -mpm-prefork -mpm-threadpool -mpm-worker so I ran useinfo mpm to find out what they did (useinfo is an alias: alias useinfo='cat /usr/portage/profiles/use*.desc | grep'): laptop andreas # useinfo mpm net-www/apache:mpm-leader - Adds support for the leader Apache MPM net-www/apache:mpm-peruser - Adds support for the peruser Apache MPM net-www/apache:mpm-prefork - Adds support for the prefork Apache MPM net-www/apache:mpm-threadpool - Adds support for the threadpool Apache MPM net-www/apache:mpm-worker - Adds support for the worker Apache MPM Those descriptions doesn't say very much, you could work that out by reading the name of the useflag. Its as useless as having this comment in a source code: /* Print "Hello World" */ printf("Hello World"); Since everyone gets it anyway. This isn't apache only, most packages have descriptions like that for their useflags and the useflags that more than one package use are often like that too. It would be alot more useful to have descriptions that would help you in deciding if you want it or not, for example: net-www/apache:mpm-threadpool - Threadpool MPM, Good for big servers net-www/apache:mpm-prefork - Prefork MPM, Useful for small servers and developers (I just made the descriptions up, they may not reflect reality) So I suggest that all useflags should be looked trought and changed to something that can help the users decide if they want to use that useflag or not, and then have some policy or something (I don't know how gentoo development work) so it stays that way for new useflags.
Assigning this to apache maintainers. If you have suggestions concerning other local use flags description, please open separate bugs for each package concerned. Just please remember they the description should not be overly long as well, so the amount of information we can give to users is limited.
new descriptions: vericgar@phoenix ~/gentoo-x86/profiles $ grep mpm use.* use.local.desc:net-www/apache:mpm-leader - (experimental) Leader MPM - leaders/followers varient of worker MPM use.local.desc:net-www/apache:mpm-peruser - (experimental) Peruser MPM - child processes have seperate user/group ids use.local.desc:net-www/apache:mpm-prefork - Prefork MPM - non-threaded, forking MPM - similiar manner to Apache 1.3 use.local.desc:net-www/apache:mpm-threadpool - (experimental) Threadpool MPM - keeps pool of idle threads to handle requests use.local.desc:net-www/apache:mpm-worker - Worker MPM - hybrid multi-process multi-thread MPM fixed in CVS