A plea or sanity in port options menu
Eitan Adler
eitanadlerlist at gmail.com
Mon Feb 2 16:29:23 PST 2009
Gonzalo Nemmi wrote:
> 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
If you could give me a list of ports which do this I would glad to work
on patches to send to the relevant maintainers.
--
Eitan Adler
"Security is increased by designing for the way humans actually behave."
-Jakob Nielsen
More information about the freebsd-ports
mailing list