Using a current pkgsrc tree won’t work – the various pkgsrc tools that our system has are too old.
It might not be too big a step but we can use a tree from the second half of 2014.
The first line of the commit message should be in the form “[category]/[package]: summary of change.” Example: “print/ghostscript: add missing bsd.include”.
If it's a complex change, the commit message should provide additional explanation.
Doing so in verbose mode even shows that the 4.11 box now has a newer version of Open SSH installed that the Free BSD 11 workstation that I use to connect to it! Would you have guessed that I’d make it up to the 2016Q4 pkgsrc tree and even install the latest version of Open SSL and Open SSH?
😀 Free BSD 4.11 running a newer Open SSH than my Free BSD 11.0 workstation! But you can get surprisingly far in running somewhat modern software on it – more recent software at least than I initially thought would be possible! Here’s a little summary of some important program updates: binutils 2.12.1 (2002) - Open SSH 7.3 (2016) Not too bad, eh? Newer versions would probably be possible but there’s a gap in pkgsrc – which stuck with 2.17 for a long time and then directly moved to 2.22 which no longer builds on Free BSD 4.11.
Unfortunately the version that comes with the new pkgsrc tree won’t build anymore on an OS as old as Free BSD 4.11. But the newer tools will work with older versions of that libs, too.The second one shows how to configure the fresh system for remote access, bootstrap Pkgsrc, install Subversion to checkout Free BSD code and update the system to the stable branch.And part three mainly deals with upgrading Open SSH and the compilers.I found one but while it is way more complex it at least means that I got rid of that nasty blocker again: # cd /usr/pkgsrc/16/pkgtools/cwrappers # bmake extract # rm -r work/libnbcompat/* # cp -R /usr/pkgsrc/13/pkgtools/libnbcompat/work/libnbcompat-20120702/* /usr/pkgsrc/16/pkgtools/cwrappers/work/libnbcompat/ # cp work/cwrappers-20161125/mi_vector_hash.c work/cwrappers-20161125/mi_vector_hash.# cp work/cwrappers-20161125/fixup-libtool.c work/cwrappers-20161125/fixup-libtool.# sed 's/stdint.h/inttypes.h/' work/cwrappers-20161125/mi_vector_hash.work/cwrappers-20161125/fixup-libtool.c # cp /usr/pkgsrc/14/pkgtools/cwrappers/files/bin/getline.c /usr/pkgsrc/16/pkgtools/cwrappers/work/cwrappers-20161125/getline.# sed 's/ssize_t/size_t/' work/cwrappers-20161125/getline.work/cwrappers-20161125/getline.c # cp work/cwrappers-20161125/common.h work/cwrappers-20161125/common.# sed '107i\ size_t getline(char **, size_t *, FILE *);' work/cwrappers-20161125/common.# cd /usr/pkgsrc/16/pkgtools/bootstrap-mk-files # bmake package clean clean-depends # pkg_add -uu /usr/pkgsrc/16/packages/All/bootstrap-mk-files-20160908# cd /usr/pkgsrc/16/devel/bmake # bmake package clean clean-depends # pkg_add -uu /usr/pkgsrc/16/packages/All/bmake-20150505# cd /usr/pkgsrc/16/net/tnftp # bmake package clean clean-depends # pkg_add -uu /usr/pkgsrc/16/packages/All/tnftp-20151004nb1.tgz# cd /usr/pkgsrc/16/pkgtools/digest/ # bmake extract # cp work/digest-20160304/sha3.h work/digest-20160304/sha3.# cp work/digest-20160304/keccak.c work/digest-20160304/keccak.# cp work/digest-20160304/keccak.h work/digest-20160304/keccak.# cp work/digest-20160304/sha3.c work/digest-20160304/sha3.# sed 's/stdint.h/inttypes.h/' work/digest-20160304/sha3.is one of the packages that is linked against the old one and since libintl received a soname bump, it needs to be rebuilt.Since we want to update it anyway that’s not too bad.