FreeBSD is (more or less) moving towards pkgng, which has roughly the same goals. I'm not sure what the OpenBSD guys are doing
And yes, it's only for distribution. But if it works well, it's the only thing end users should care about. Though I'm not exactly sure the BSDs have basic end users in the way linux does.
> FreeBSD is (more or less) moving towards pkgng, which has roughly the same goals.
Yeah, but the BSDs always had pkg_add and other pkg_* tools, pkgin is just a nice alternative that works on more than one system... I don't believe it provides any crucial feature that was missing in the pkg_tools.
> And yes, it's only for distribution. But if it works well, it's the only thing end users should care about.
From OpenBSD's FAQ:
The ports tree is meant for advanced users.
Everyone is encouraged to use the pre-compiled binary packages.
Basically, if you're running unmodified OS (i.e. official release) and don't enable any options disabled by default in the ports then you're just wasting CPU power rebuilding stuff that you could easily grab from the nearest mirror.
As far as I can tell, there is no tool in FreeBSD base that provides a simple way to check and update all ports using binaries. FreeBSD's pkg_add only handles direct installs of new packages. Upgrade management, things like "update everything" or "update this package and its dependencies" is usually done through one of the external tools like portmaster, portupgrade, pkg_upgrade, etc. Which interact with the ports tree and pkg_add behind the scenes, but with additional info on dependencies to keep the whole thing sane. They do the job okay, but they all have their quirks.
From its man page, it seems OpenBSD's pkg_add supports updating (and a lot of other things), so I guess they don't have this problem to start with. That's interesting, I wonder why the feature is lacking on the FreeBSD side.
Also, it's only used for packages distribution and the packages are still build from the ports: