On 03/09/15 09:43, heasley wrote: > If one builds a package from ports in order to use different options, for > example building with postgres support instead of mysql, or builds a > specific version, but otherwise utilizes binary packages, how is this > indicated to 'pkg upgrade'? > > For example. On this system I've built gld with postgres instead of mysql > and postfix with another option. The mysql dependency is coming from the > binary gld with the default options. And, in theory postfix has different > options, but also needs an update. > > So, is it possible to tell pkg(8) about the different options/local built, > but still complain when a version update is necessary? > > # pkg upgrade > Updating FreeBSD repository catalogue... > FreeBSD repository is up-to-date. > All repositories are up-to-date. > ... > > New packages to be INSTALLED: > mysql56-client: 5.6.23 > > Installed packages to be UPGRADED: > postgresql94-server: 9.4.0 -> 9.4.1 > postgresql94-client: 9.4.0 -> 9.4.1_1 > postfix: 2.11.3_4,1 -> 2.11.4,1 > > Installed packages to be REINSTALLED: > gld-1.8_2 (options changed)
The best way I've found of doing this is to set up a local poudriere instance to build the packages you want to customize, plus anything that depends directly on them. You can then set your local pkgrepo as higher priority than the main FreeBSD repo in /usr/local/etc/pkg/repos/foo.conf. You might also want 'CONSERVATIVE_UPGRADE=yes' in /usr/local/etc/pkg.conf A poudriere setup for building just a few packages doesn't need a whole lot of system resources. You'll need to tune poudriere.conf so it doesn't try and max out usage of everything -- maybe limit it to a single builder. You can serve the packages it builds either by HTTP, or if everything is all on the same machine, you can just use a file:///.... URL in your repo conf. Cheers, Matthew
signature.asc
Description: OpenPGP digital signature