New Port Options

Doug Hardie bc979 at
Sat Oct 6 05:01:48 UTC 2012

I just converted a port over to the new options structure and have a few observations.  I have not been involved in any of the discussions about the structure as I didn't have the time to get involved.  However, a couple things came to mind during the process:

1.  The Port handbook is actually quite good in the information it provides.  However, it does presume that you know a few things about the port structure that are probably common knowledge to anyone involved with it, but not to those of us who just "use" it.  The first update I made to the Makefile cause a slew of make errors that were pretty much useless.  They meant nothing to me.  My first thought was that somehow I had munged one of the includes and managed to include some random file rather than the right one.

My second idea was that I had typed the option names wrong, but that didn't seem to fit with the error messages either.  After quite a while of reading the handbook, I noticed that in the PORT_OPTIONS clause you have to precede the option name with a M.  That is not at all obvious and is easily missed. Why an M is also baffling.  I am sure there is a reason other then it just won't work otherwise.

2.  The syntax for a conditional expression for an option that is selected is completely different from that for an option that is not selected.  That is just weird.  The use of {} for one and () for the other again must have some reason other than it just won't work otherwise.  No clue is given in the handbook.

3.  The examples are a bit difficult to distinguish between {} and ().  I had to look quite a few times before I figured that out.

4.  The handbook shows for submitting a change to a port the use of a regular diff.  My recollection is that the last time a unified diff was requested so that things like the file names show.

I only maintain one port so the effort to make the changes would have been quite minor for additional ports.  Its really not that big a change from the maintainer's point of view.

More information about the freebsd-ports mailing list