@peteorrall At the beginning (I've not yet started using FreeBSD!), ports was quite simple as you can see here. https://cgit.freebsd.org/ports/commit/?id=d27f048e966a8ab178515e620cac9e0f417d0cdeThis is the first trackable commit on ports git repo.No considerations for common-to-multiple-ports-but-not-all cases (USES framework).No considerations for packaging.No considerations for OPTIONS.No considerations for dependencies.No considerations for upgrading.No considerations for deinstalling (no pkg-plist).Just to build single port.If somehow failed because of lack of dependencies, the admins must track what's missing and install them, recursively, by the admins themselves.First bunch of ports were as below. Quite limited and simple. https://cgit.freebsd.org/ports/commit/?id=7ca702f09f2945c1baaadef9b7bd13bd867de422Afterwards, as upgrading were too much a pain, the very first ports upgrading tool, sysutils/portupgrade (currently, moved to ports-mgmt/portupgrade) was developed and I've been quite excited to see it happen!. https://svnweb.freebsd.org/ports?view=revision&revision=39990Not sure why, but this commit cannot be seen in git repo (failed to convert from subversion?).As time goes by, a plenty of things are implemented / changed like this. https://cgit.freebsd.org/ports/tree/MkAnd for upgrading, I'm basically upgrading ports tree daily on my daily driver (stable/15 now). And on main, when I need to test NVIDIA GPU driver ports or found any CVEs affecting me appears.I recommend watching whichever FreshPorts or dev-commits-ports-main ML and upgrade when any CVEs bites you (means, affects any ports you've installed) or when anything you want to keep up-to-date is upgraded, at minimum.Note that official pkgs, which are built using ports tree, would delay with several reasons.