Date: Tue, 30 Jun 2015 18:01:27 +0100 From: Mike Clarke <jmc-freebsd2@milibyte.co.uk> To: Ewald Jenisch <a@jenisch.at> Cc: <freebsd-questions@freebsd.org> Subject: Re: Mix'n'match between packages an ports? Message-ID: <20150630180127.30b5c124@curlew.lan> In-Reply-To: <20150630115303.GA1331@aurora.oekb.co.at> References: <20150630115303.GA1331@aurora.oekb.co.at>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 30 Jun 2015 13:53:03 +0200 Ewald Jenisch <a@jenisch.at> wrote: > Here's my question: Is a "mix and match" between binary and > source-installation (pkg.. vs. "make / portupgrade") possible on the > same machine, or is it one or the other? It can be done, but with care. I currently have 2 ports which need building from source due to needing non-standard configuration and 2 more which aren't available as packages. As others have suggested poudriere is one way to go. I have tried this and it's certainly an excellent product but for my case, where only a very small number of ports required building from source, it was rather like using a sledgehammer to crack a nut. It's important that you keep your ports tree in step with the FreeBSD repositories and, as has already been said, it can be a bit more complicated now that the packages aren't built on a fixed schedule. The solution is to use Reed Cartwright's sync-ports script <https://gist.github.com/reedacartwright/8622973baf89b263a6d7>. This will obtain revision information from the relevant build server and use svnlite to update your ports tree to match the same version. My updating procedure is as follows: pkg lock -l # To check that the ports you build from source are # locked - lock them if not. sync-ports. make -C /usr/ports index pkg updating | less # To check for possible issues. pkg upgrade pkg version -vIL= # If any of your locally built ports need updating they will show up here # If one of your ports needs rebuilding run pkg unlock the_port_name portmaster the_port_name pkg lock the_port_name By upgrading packages before attempting to rebuild any ports you ensure that all dependencies will be up to date and you won't need to build any of them unless the new version has acquired any new dependencies since the last upgrade. The same procedure applies for ports which aren't available as packages, except that you don't need to bother about locking them. I've been using this procedure for over 3 months now and not had any problems. -- Mike Clarke
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20150630180127.30b5c124>