olli@
Developer
Where exactly is the “flavors” feature documented? I mean, for a user, not for a ports developer. We now have that feature for almost 10 years, but the documentation is still very good at hiding it from users …
The respective chapter in the FreeBSD Handbook says nothing about ports flavors. The ports(7) manual page mentions it in a terse example (it’s example 3 near the bottom of the page), but it doesn’t really explain anything.
What is the “official” way to find out if a port has flavors? And how to get a list of the supported flavors, and which one is the default flavor?
Of course I can look at the Makefile (I’m a developer, so I know how to read Makefiles), I can type
On a related note: Some ports have migrated from options to flavors for X11 support (for example net/mtr). I can see that this makes things easier for package building. But it makes things more difficult for users. If X11 is an option, when building the port, the usual config dialog pops up, so the user clearly sees that he has the option to build the port with or without X11 support. However, now that it is a flavor instead, that fact is pretty much hidden. When he builds the port, the dialog does not mention X11 at all, and the fact that the port may be built without X11 support is not apparent anymore.
TL;DR – In my opinion, the flavors feature is a good idea basically, but the implementation leaves something to be desired, as does the documentation.
The respective chapter in the FreeBSD Handbook says nothing about ports flavors. The ports(7) manual page mentions it in a terse example (it’s example 3 near the bottom of the page), but it doesn’t really explain anything.
What is the “official” way to find out if a port has flavors? And how to get a list of the supported flavors, and which one is the default flavor?
Of course I can look at the Makefile (I’m a developer, so I know how to read Makefiles), I can type
make -V FLAVORS, and by inspecting the Ports framework's *.mk files you can find out that there is such a thing as make pretty-flavors-package-names – all of that is not documented anywhere. Or did I miss something?On a related note: Some ports have migrated from options to flavors for X11 support (for example net/mtr). I can see that this makes things easier for package building. But it makes things more difficult for users. If X11 is an option, when building the port, the usual config dialog pops up, so the user clearly sees that he has the option to build the port with or without X11 support. However, now that it is a flavor instead, that fact is pretty much hidden. When he builds the port, the dialog does not mention X11 at all, and the fact that the port may be built without X11 support is not apparent anymore.
TL;DR – In my opinion, the flavors feature is a good idea basically, but the implementation leaves something to be desired, as does the documentation.