Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 26 Feb 2008 03:05:09 -0800
From:      "Chris H." <chris#@1command.com>
To:        Jeremy Chadwick <koitsu@freebsd.org>
Cc:        freebsd-stable@freebsd.org
Subject:   Re: make KNOBS
Message-ID:  <20080226030509.mn558t4afk8cgkgs@webmail.1command.com>
In-Reply-To: <20080226080349.GA20881@eos.sc1.parodius.com>
References:  <20080225215522.r3jb5v548o0scks8@webmail.1command.com> <20080226070516.GB32690@team.vega.ru> <20080225233523.acl5s1lo8wgsw4wg@webmail.1command.com> <20080226080349.GA20881@eos.sc1.parodius.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Hello Jeremy, and thank you for your /very/ informative reply.
You rock! :)
Quoting Jeremy Chadwick <koitsu@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)






Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080226030509.mn558t4afk8cgkgs>