It is highly desireable to keep the number of flavors down for quality reasons. - each additional flavor means an extra build to test. - not all flavors will make it to bulk build, because it takes a lot of time to build 5000 packages.
Accordingly, some usage scenarios are wrong. If you have some port that requires X11 only for some of its parts, making a no_x11 flavor is a bad idea. Using MULTI_PACKAGES to put the X11 part in its own subpackage is a good idea (and it's much simpler to do than it used to be). Normal users will just install what they need, and not care about the building part (they won't have to, since both packages will be built). If you still want to provide a simpler build that does not depend on X11, that's what PSEUDO_FLAVORS are for. You can write a no_X11 pseudo flavor that will only build the subpackage that does not depend on x11, and not the rest of it. It would be nice if some other developers could update various documentation, including the faq, to point people in the direction of MULTI_PACKAGES+PSEUDO_FLAVORS for this very common scenario...
