Date: Fri, 01 Apr 2011 11:51:57 +0200 From: Matthias Andree <mandree@FreeBSD.org> To: freebsd-ports@freebsd.org Subject: Re: Automating Port Building- Setting options on the command line Message-ID: <4D95A03D.2030807@FreeBSD.org> In-Reply-To: <4D952102.4020101@astart.com> References: <4D952102.4020101@astart.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Am 01.04.2011 02:49, schrieb Patrick Powell: > First, before you tell me to do it, I have already RTFM, done a google > search, > and even looked for examples. Here is what I am trying to do. > > I have to generate a set of packages for amd64 and i386 systems. > > I usually have a simple script that does: > > cd /usr/ports/XXX > make > make install > make package > cp <generated package> /.../repository > > > This served my simple needs well, as most of the time I had gone through > the configuration process and set up the default options that I wanted. > > But this requires me to > a) run through this process once by hand > b) copy the /var/db/ports/* to a machine with another > architecture > c) pray that the port options are the same on the i386 and amd64 > versions. > > > What I would like to do is pass in a set of default options on the > command line > such as: > > cd /usr/ports/lang/php5-extensions > make configure THIS=yes THAT=no > make > make install > make package > > I just know that somebody out there is doing this better, slicker, > and with more savvy than I am doing this. > > OK. How do I do this? And just in case there are some others out there, > could you put this information, or a hint to it, in the ports(7) > document? Just wondering what's keeping you from passing a set of WITH_ and WITHOUT_ options on all the make (not just the configure) command line. The OPTIONS framework should cope with that, and standard knobs are documented in /usr/ports/KNOBS. Also note that just "make package WITH_this=yes WITHOUT_that=no" should suffice, no need to configure/"make"/install separately. Also, you can tell portmaster to package newly-built ports (and use -m to pass options on the make command line like you suggest), which means that the package you're building and also all its dependencies are built with the options in -m (or /etc/make.conf) and stored as regular packages under /usr/ports/packages/. HTH
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4D95A03D.2030807>