3 ms·
Of course, but this is true for any OS. Some random freeware you download isn't magically going to be in sync with your release of Windows, either. In FreeBSD
by umanwizard 8y ago
Of course, but this is true for any OS. Some random freeware you download isn't magically going to be in sync with your release of Windows, either.
In FreeBSD at least there is a real, fully-featured, usable OS out of the box, all consistent, in one source tree at /usr/src which is quite easy to read, change, and build. Unlike most GNU/Linux distros where each random thing like "grep" is its own package developed by its own separate group of people.
- loeg 8y agoAllow me to clarify: the way FreeBSD ports are built, updated, and pushed to mirrors means that ABI compatibility may sneak in accidentally and that updating subsets of your installed package base is unreliable and may introduce, e.g., applications that depend on missing SONAMEs. Linux distros avoid this problem by separating the process of committing to an individual port/source package; building that individual package, and possibly rebuilding dependencies; and pushing out updates, which are atomic and can contain an updated library and all of its dependencies. My experience is that Linux package managers (dnf/rpm anyway) are better at catching operations that would introduce broken ABIs, as well. In contrast, the FreeBSD ports model is to invoke poudriere periodically and rebuild all ports at once, then push the entire set out to mirrors. There is no automation that checks for ABI changes in libraries, and pkg(1) does not do a great job of confirming that a library upgrade does not break installed programs (or other libraries) via SONAME bump; much less symbol changes not reflected in SONAME.