A plea or sanity in port options menu

Gonzalo Nemmi gnemmi at gmail.com
Mon Feb 2 13:38:47 PST 2009


On Monday 02 February 2009 6:39:25 pm Bill Moran wrote:
> In response to Warren Block <wblock at wonkity.com>:
> > On Mon, 2 Feb 2009, Bill Moran wrote:
> > > How about:
> > >
> > >       Options for port-fu
> > > [ ] BRG   Bernstein Riggs Guillotine parsing
> > > [X] QFZ   Quantum Freeze Zulu rending
> > >
> > > At least that one gives me _some_ idea what those TLAs mean.
> >
> > There was talk some time ago of having extended descriptions.  Several
> > ideas, but the one that made the most sense to me would be a box at the
> > bottom that would display a description as you moved through the
> > options:
> >
> > [.] BRG
> > [X] QFZ
> >
> > Bernstein Riggs Guillotine parsing
> >
> > with the . representing the cursor/highlight position.  Move down and
> > the bottom line would change to say "Quantum Freeze Zulu rending".  The
> > nice thing about the box at the bottom is it would give a full line or
> > possibly several lines for explanations.
> >
> > Seems like it could be added without breaking the existing system with
> > an optional OPTIONS_DESC variable that would correspond with OPTIONS.
> > I don't really know how hard that would be; ideas are cheap,
> > implementation more costly.
>
> I don't think there's any need for any new features in the ports
> infrastructure.  I think it's just a matter of Makefile authors taking
> the time to describe their options.  A quick test of some ports turns
> up this one:
>
>  [ ] OPENGL  OpenGL support
>
> True but useless.  How about:
>
>  [ ] OPENGL  Use OpenGL graphics library
>
> ...which, at least give the user _some_ idea what they're doing.
>
> OpenGL probably isn't a good example, however.  It's pretty easy to Google
> OpenGL and figure out what it is.  Here's some more bizarre options:
>
>  [X] EPUB          Epub modules
>  [X] EXTENSIONS    Extensions
>  [X] TEMPLATE      Templates
>  [X] TOOLS         Tools
>
> I mean, if I enable "Extensions", what happens?  How do I figure out
> what happens?  I have to read the Makefile, at which point having these
> options on a menu is pretty pointless.  I mean, I can't even come up
> with a Google search to help me figure out what "tools" are involved
> here.
>
> There are some ports that do this very well.  For example:
>  [ ] NLS               Use internationalized messages
>  [ ] PAM               Build with PAM support (server only)
>  [ ] LDAP              Build with LDAP authentication support
>  [ ] MIT_KRB5          Build with MIT's kerberos support
>  [ ] HEIMDAL_KRB5      Builds with Heimdal kerberos support
>  [ ] OPTIMIZED_CFLAGS  Builds with compiler optimizations (-O3)
>  [X] XML               Build with XML data type (server)
>  [X] TZDATA            Use internal timezone database (server)
>  [ ] DEBUG             Builds with debugging symbols
>  [ ] ICU               Use ICU for unicode collation (server)
>  [ ] INTDATE           Builds with 64-bit date/time type (server)
>
> I mean, a Google on ICU is liable to bring up all sorts of medical drama
> websites, but I can do a search for "ICU unicode" and find my answer on
> the first result.  Not only am I told that optimized compiler flags are
> an option, but I'm told the exact one that will be used (-O3)
>
> The porters handbook doesn't seem to offer any helpful advice on these:
> http://www.freebsd.org/doc/en/books/porters-handbook/makefile-options.html
>
> In fact, the examples it provides are excellent examples of doing it
> WRONG.
>
> Let me see about making a patch to the porters handbook to provide some
> advice ...

+1,000,000 on your idea.

Yes .. you are absolutely right ... even if you know your way around make && 
gcc && compiling software .. and even if you _really_ know your way around 
make && gcc && compiling software, there's no chance on earth that anyone can 
tell what does every single option on every single Makefile actually mean.

As you pointed out:

[ ] BRG
[X] QFZ

means _nothing_ to 99.9% of the users... Be Really Grumpy? Buy Red Goggles? 
Quite Faster Zapping?? Quit Filtering Zealots??

This kind of things really hurts the "good documentation" reputation that 
FreeBSD has rightfully earned.

And I do agree with you:

" I don't think there's any need for any new features in the ports 
infrastructure.  I think it's just a matter of Makefile authors taking the 
time to describe their options. "

And once again .. this is the way to go for me too:

> There are some ports that do this very well.  For example:
>  [ ] NLS               Use internationalized messages
>  [ ] PAM               Build with PAM support (server only)
>  [ ] LDAP              Build with LDAP authentication support
>  [ ] MIT_KRB5          Build with MIT's kerberos support
>  [ ] HEIMDAL_KRB5      Builds with Heimdal kerberos support
>  [ ] OPTIMIZED_CFLAGS  Builds with compiler optimizations (-O3)
>  [X] XML               Build with XML data type (server)
>  [X] TZDATA            Use internal timezone database (server)
>  [ ] DEBUG             Builds with debugging symbols
>  [ ] ICU               Use ICU for unicode collation (server)
>  [ ] INTDATE           Builds with 64-bit date/time type (server)

no need to break anything ... just _be_verbose_

Regards
-- 
Blessings
Gonzalo Nemmi


More information about the freebsd-ports mailing list