Install (and maintain) port with different compile options than pkgng provides

I am running one installation of FreeBSD 10.1 and I use pkgng exclusively to install software until now.

Unfortunately, there is a package that is not compiled with the compile time options I need when installed via pgk(*).

If I understand correctly, to achieve my goal to install that software with different compile time options, I must use the ports collection and compile the software myself using the switches I require. After installing the port, pkgng will manage it as if it was installed via pkg install. To prevent pkgng from reinstalling the software using its standard package I would have to lock the package (which in turn also locks it's dependencies (or the packages it depends on? or both))?

And I have to install the ports tree (it's not there on my system right now) as well as keep it up to date (using portsnap?). That does waste a lot of precious memory on my SSD...

One more option I can think of would be to use poudriere (or something similar) and only keep a copy of the "to be changed" port(s) locally while fetching everything else from the default repositories. Would that work?

Is there another (better/easier/more adhering to the standard) way?

How do other administrators handle this situation?


Cheers
fwy...

(*) Now, it's about lighttpd's "LUA" option, but in the end it's a general question.
 
One more option I can think of would be to use poudriere (or something similar) and only keep a copy of the "to be changed" port(s) locally while fetching everything else from the default repositories. Would that work?

Is there another (better/easier/more adhering to the standard) way?
Yes, set up the mentioned poudriere and build all packages you need there, even the ones that do not require different options. Have all your systems use only that repository. That's the only way to keep everything in sync and not get conflicting packages while still maintaining your sanity.
 
Yes, set up the mentioned poudriere and build all packages you need there, even the ones that do not require different options.

Or install and configure ports-mgmt/synth to install most packages from the official repository, while building only those ports affected by your custom options. If you've only got one machine, Synth will offer you the most convenience while avoiding conflicts.
 
Back
Top