make KNOBS
Chris H.
chris# at 1command.com
Tue Feb 26 11:42:06 UTC 2008
Hello Jeremy, and thank you for your /very/ informative reply.
You rock! :)
Quoting Jeremy Chadwick <koitsu at freebsd.org>:
> On Mon, Feb 25, 2008 at 11:35:23PM -0800, Chris H. wrote:
>> But am struggling with finding the port(s) equivalent. If there isn't
>> one, I'd be more that happy to dedicate a domain/ web site solely to
>> providing this resource. Perhaps a wiki that I, and anyone else can
>> add the WITH_/WITHOUT_ options, along with descriptions of exactly
>> /what/ they provide. Seems like a /real/ valuable, and /needed/
>> resource.
>
> There is no equivalent. Some ports allow "make showconfig" to show you
> what knobs there are, but the majority do not. And with the OPTIONS
> framework, it deprecates the need for "showconfig" entirely.
Yes, I've noticed there are differences, and /assumed/ that this was
simply a "migration" period that would /eventually/ provide a more
consistent/robust "tuning" mechanism for the config/make process.
Just dreaming? :)
>
> Additionally, the WITH/WITHOUT variables seen in the Makefile are not
> always what they seem. For ports that use OPTIONS, you cannot define
> these on the command-line (e.g. make WITHOUT_FRUIT=yes);
I believe that /should/ be:
WITHOUT_FRUIT=true - (true/false)
--------------^^^^
> you absolutely
> MUST do 'make config' and then toggle them there. (This is one piece of
> the OPTIONS framework which I have always disliked, because some of us
> use /etc/make.conf to define WITH/WITHOUT variables, and prefer to do
> "cd /usr/ports/whatever && make clean && make && make install" and not
> have something interactive pop up.
May I insert a "me too" here?
> That's for another discussion
> though...)
I'll be contributing to /that/ discussion. :)
>
> Also, there are some variables which are generally "global" across most
> ports, such as WITHOUT_IPV6. You wouldn't want to list those off in
> every single port, because that'd be somewhat redundant.
My approach (for the most part) seems to overcome this. An example
of my final choice(s) related to our earlier Apache2 discussion:
in make.conf
.if ${.CURDIR:M*/www/apache20}
WITH_MPM=worker
WITH_KQUEUE_SUPPORT=true
WITH_AUTH_MODULES=true
WITH_DAV_MODULES=true
WITH_MISC_MODULES=true
WITH_PROXY_MODULES=true
WITH_THREADS_MODULES=true
.endif
This allows for a "per port" WITH_/WITHOUT_, somewhat eliminating the
"redundancy/ies", and let's me circumvent the "global" limitations.
> There is no
> existing list of these "global"-like variables either, although some are
> listed in the /usr/ports/Mk/bsd.*.mk files.
Yes, I've looked to those, and /did/ find some helpful tuning KNOBS.
>
> Providing a web site listing them all off would not make much sense,
> because ports change very often/quickly (the site would become outdated
> the minute someone changes a port to add/remove a feature), and there's
> no guarantee that the maintainer of the port will go to your site and
> edit the Wiki page.
Yea, I considered this. But even so, many don't change enough to invalidate
the information that might have already been provided. It also allows
for those whom have figured out many/some of the "tuning" variables, even
though they aren't the port Author. So I felt it would/could still be a
valuable resource.
>
> Instead, I would think said effort would be better spent implementing
> the "showconfig" feature apply to all ports, and have it understand
> OPTIONS stuffs.
Agreed. I think that would be the /ultimate/ answer to this situation. :)
Once again, thank you for your informative reply.
--Chris H
>
> --
> | Jeremy Chadwick jdc at parodius.com |
> | Parodius Networking http://www.parodius.com/ |
> | UNIX Systems Administrator Mountain View, CA, USA |
> | Making life hard for others since 1977. PGP: 4BD6C0CB |
>
>
--
panic: kernel trap (ignored)
More information about the freebsd-stable
mailing list