Freebsd – Non-interactive customization and installation of FreeBSD Ports

bsd-portsfreebsd

I'm new to FreeBSD, coming from a Linux background. I want to install a port, changing one of the default configuration options, in a non-interactive way (so that I can script the installation for automated configuration of my FreeBSD servers).

As a specific example, the graphics/ImageMagick-nox11 port has a default configuration option of PERL=on. I want to change this. I realize that I can make config and then just use the generated entry in /var/db/ports/ to avoid any interaction in the future, but this still requires the initial interaction to set the options in the ncurses interface.

Ideally I want to be able to do something like the following, to build the package with perl support disabled but accepting all other defaults:

$ make PERL=off BATCH=yes install clean

What is the proper way to accomplish this? Can I somehow place port-specific configuration options like this in /etc/make.conf?

Best Answer

I think ports-mgmt/portconf will do what do you want:

Portconf is a simple framework to set ports options in an universal way. Knobs set to specific ports are honoured by portmaster, portupgrade, portmanager and 'make install'.

Check more in pkg-message.

Related Question