batching port builds

Nikolas Britton nikolas.britton at gmail.com
Sun Jul 2 09:48:27 UTC 2006


On 6/30/06, Kevin Kinsey <kdk at daleco.biz> wrote:
> Michael P. Soulier wrote:
> > On 30/06/06 David J Brooks said:
> >
> >> If you  do 'make -DBATCH' instead of 'make' -  you will use the preset
> >> defaults for each port with options. Or you can do
> >> 'make config-recursive' - which will offer you all the option screens for
> >> the port in whose directory you're currently in and all its dependencies.
> >>
> >> See 'man ports' for more information.
> >>
> >> To use those with 'portupgrade -a' will probably take some custom scripting.
> >
> > Ah, so there's no make.conf option for this?
> >
>
> ??  You can even set BATCH=yes in your environment.  I'm
> pretty sure you can in make.conf, also, but IIRC you might
> not want to do that . . .
>

Why??? What I do is set BATCH=yes in make.conf and If I need to change
the default options I use a if block in make.conf:

.if ${.CURDIR:M*/databases/mysql*}
BROKEN=yes
.endif

.if ${.CURDIR:M*/www/horde*}
WITHOUT_MYSQL=yes WITH_POSTGRESQL=yes
.endif

.if ${.CURDIR:M*/foo/bar}
baz
.endif

Et Cetera, etc.

The first one halts any port that wants MySQL as a dependence. The
rest is self explanatory. You can also put any make option in them
because it works like a Makefile, here is an imaginary example:

.if ${.CURDIR:M*/www/firefox*}
PORTNAME=opera
DISTVERSION=18
CPUTYPE=athlon512
MASTER_SITE_OVERRIDE=http://foobar
PERL_VER=8.6.5
PERL_VERSION=8.6.5
WANT_GNOME=no-way
WANT_QT=hell-yes
CFLAGS+= -O3
USE_GCC=10
OSVERSION=1200000
.include "${.CURDIR}/../../x11/kde3/Makefile"
.endif




-- 
BSD Podcasts @:
http://bsdtalk.blogspot.com/
http://freebsdforall.blogspot.com/


More information about the freebsd-questions mailing list