>>649NetBSD's pkgsrc + pkg_comp I've found to be the best practice for tracking current BSD userland and ports.. If you can rebuild your entire system inside a chroot, /using/ that chroot, then it likely the latest commits haven't broken anything. As a Gentooman who wants to 'emerge -u world' every day, I think it actually an improvement on that.. (at least at my level of Gentoo proficiency– is there a way to snapshot/rollback installed versions of an entire system on that?)
I think in the ~15 years I've tracked NetBSD-current, only 6 or so times have things broken by doing it that way (whereas with Gentoo there's regular issues that need USE juggling…) Twice that was because of unintended contamination of environment variables in the chroot, and the rest were just major package fails (GNOME removing features that I wanted, the rare glitch by a pkgsrc maintainer..)
Actually, just this morning I did a clean-slate upgrade of this NetBSD box–
* compiled the latest kernel and installed/rebooted (config SYSTEM .. make depend && install, rebooted and saw the kernel still works)
* made a list of all installed software (pkg_chk -g)
* compiled new BSD sets (build.sh distribution sets)
* made a fresh pkg_comp chroot (pkg_comp removeroot … makeroot)
* build all the packages inside it (pkg_comp build `cat pkgchk.conf`)
* install the BSD sets on the live system (tar -C / …)
* removed all the installed packages (pkg_delete -r *[0-9])
* installed all the newly build packages (pkg_chk -C pkgchk.conf -a -b)
* rebooted… and get pissed-off at the UI changes in the latest Firefox
NetBSD also cross-compiles /really/ easy, to the point that there's no need to actually download install images for a system..
# build.sh -N1 -j10 -m macpcc distribution sets release
(30 minutes later, there's a macppc-netbsd-install.iso waiting for me..
# build.sh -m evbarm -a earmv7hf distribution sets release
(50 minutes later, there's a microsd image for my Beaglebone Black, and BSD sets for the RPI2..)
It gives the 8-core NetBSD box something to do.