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