I was very enthusiastic about pkg (then called pkgng), and I'm very much dissapointed that several YEARS of its existence and bug reports (yes, I've submitted them to the right mailing list), have had no effect and it is now as broken as it was in the beginning in a critical area: it doesn't handle inter-package dependencies in a robust manner.
Unfortunately, once installed, common install and upgrade operations which take dependancies into effect don't do it, or do it incompletely or erronousely, so upgrading a complex package can leave the system in a broken state. [y/N]: y Fetching php53-fileinfo-5.3.29_3.txz: 100% 171 Ki B 175.5k B/s Checking integrity... The following 6 packages will be affected (of 0 checked): New packages to be INSTALLED: indexinfo: 0.2.2 gettext-runtime: 0.19.4 perl5: 5.18.4_11 p5-Locale-gettext: 1.05_4 Installed packages to be UPGRADED: php53: 5.3.27 - issue for Free BSD, since its packages are on a "rolling release" track.
A not too long time ago I was a big Free BSD user, with dozens of production installs.
Gradually, I've been using it less and less and now I feel I must describe why, in a hopefully productive and positive fashion. An operating system is useless without its applications, and the currently blessed binary package management system, the is seriously broken.
It is important to note that, when the paths are known to as matching the system default search paths, they are not emitted in the output usage, to avoid contaminating the compile and link command lines with duplicate search paths that could slow it down considerably and, in some cases, cause cross-compiling wrappers to fail.
I've been having a harrowing time lately just trying to get several C programs compiled because I can't find where the libraries are located and pkg-config seems to be out of order.