There is no way to know what port options mean (in general)
Wesley Shields
wxs at FreeBSD.org
Wed Mar 26 06:35:07 PDT 2008
On Wed, Mar 26, 2008 at 02:38:58AM -0700, Jeremy Chadwick wrote:
> On Wed, Mar 26, 2008 at 04:33:28PM +1100, Andrew Reilly wrote:
> > "make config" in many port directories produces an interactive
> > dialog where one may select various make environment variables
> > to be set. There is a one line description of each flag, to help
> > one make this selection. Unfortunately, in many situations, this
> > description is unhelpful, as flag FOO will have description "foo
> > support", or possiblly "libfoo support". Unless one is fairly
> > well familiar with both the package and the libraries, one can
> > not readily know what the implications of setting these controls
> > one way or the other is.
>
> What you want is something like what some ports offer (but it's a
> per-port thing): "make showconfig", which describes all the available
> knobs in detail.
The "showconfig" target is actually not a per-port thing, though I suppose
some ports could over-ride it. By default it doesn't give any more
information than what is contained in the "config" screen.
> I'm not saying what you want is unreasonable -- it's very reasonable.
>
> But there's no existing ports framework for documenting OPTIONS features
> in verbose detail for all ports which use OPTIONS. At this time it's a
> "per port" thing, and up to the port maintainer.
>
> Solving this problem:
>
> I don't agree with something like a pkg-options-descr file in each port,
> because that drastically increases the number of inodes used on the
> filesystem. Simultaneously, sticking long and verbose texts inside of
> the Makefile only clutters things.
While, it has to go somewhere and as a maintainer I have no problem
printing out a description of each option inside a custom target.
What's important is that there be some consistency in what that target
is called. Even better would be to provide a framework to ease the work
maintainers have to do. I envision the following:
- For each available option have a variable called DESC_$FOO which is a
string which describes that option in detail.
- Whatever that target is called should be in bsd.ports.mk and output
the contents of DESC_$FOO.
Maybe I'll work on this in my free time. :)
-- WXS
More information about the freebsd-ports
mailing list