cy@
Developer
hah, well... yes, except if you use ports packages from pkg.freebsd.org, in which case the text change causes all your packages to suddenly vanish until the builders catch up and publish packages for the new release. (then you get to learn about overriding${ABI}
in pkg.) this is one of the reasons i always tell people not to use pkg.f.o for -CURRENT, but it would be nice if we could make that work a bit nicer.
Because sometimes all we can base our updates on is a text string. This is a problem even if you have your own poudriere. The text string is baked into package meta-file. Could we (ports) do better? Most certainly. With compatibility shims in place this would never be a problem. Look at how symbols are versioned in libraries. A library will support multiple versions of a function or syscall, i.e. statfs(2). The library supports 64-bit and legacy (32-bit) inode arguments.
(also, for some reason the switch to 16 broke the net-snmp port, presumably because they have some whitelist of versions.)
That's because some software, typically GNU configure, looks at the version string. There's not getting around that. But generally, if one follows -CURRENT the changes are incremental.