Reducing the size of the ports tree (brainstorm v2)

Mark Felder feld at
Wed Nov 5 21:30:47 UTC 2014

On Wed, Nov 5, 2014, at 10:16, Roger Marquis wrote:
> Was a time when FreeBSD was believed to be a more stable and compatible
> platform than Linux.  Of course all that backwards compatibility was
> thrown out the window with this year's make and pkg updates, which made
> management at my business much more receptive to the linux admin's calls
> for linux-everywhere, but this is a matter for the community to decide.

FreeBSD spent 20 years not changing and you know what we got for it? An
ugly mess. Please keep in mind that nobody is changing the core OS.
They're simply bringing our package mangement from the 1990s to the
2000s, and hopefully after that dust settles we can move to the 2010s.
Yes, through this transition it's painful if you are used to never
having to touch your custom ports. The change important and the benefits
are far-reaching.

I don't care how good of a FreeBSD admin anyone is. You can't tell me
you won't find any of the following instances on your servers before

- duplicate packages registered in pkg_info
- leftover files *everywhere*. find /usr/local -type f -print0 | xargs
-0 -n50 pkg_which | grep "not found"
- broken binaries discovered via pkg_libchk

This is disgusting. You might as well just be extracting tarballs and
not using a package manager because the only benefit you're gaining from
the old ports tree is the automation of *building* and *installing*.

Here's the lifecycle of a typical pre-pkgng server:

1) Install FreeBSD
2) Install your ports/packages
3) Server is in production
4) Attempt to update ports/packages
5) Disaster is now waiting to happen

Every time you need to update you might as well rm -rf /usr/local and
start over. Some ports even barfed all over the base system, so
reinstalling wouldn't be a bad idea either. In fact, that was often the
solution where I used to work -- wait until a serious enough
vulnerability is affecting the server and then reinstall from scratch
with the latest RELEASE.

> For most of us end-users it doesn't matter as we use portsnap
> (and update speed really isn't an issue).

The goal is to make pkg the norm and ports the very rare exception. This
will increase consistency, lower false bug reports, and greatly
ease/increase adoption by lowering the barriers and raising the sanity
of a FreeBSD server over its lifecycle.


More information about the freebsd-ports mailing list