[RFC] Why FreeBSD ports should have branches by OS version

demelier.david at gmail.com demelier.david at gmail.com
Thu Jun 22 18:43:27 UTC 2017

On Thu, 2017-06-22 at 10:43 -0700, Dave Hayes wrote:
> They are not useless to me.
> I maintain a fair number of different package repositories for
> various 
> purposes. Over a long period of time I've found that trying to build 
> from HEAD is a random crapshoot as to whether everything you want
> will 
> build without you having to svn random ports back and forth through
> the 
> revision tree (or patch them yourself), patch your build processes, 
> and/or ask for help (which you often might not get).
> In contrast, the quarterly branches (so far) have built everything
> I've 
> wanted cleanly and this has been true for some years. No, the 
> quarterlies are not perfect, but they seem to be closer to perfect
> than 
> HEAD is.

The problem is not if a port will build fine or not.

Let me use my example of www/node back. I have built the port www/node
in poudriere using this origin (so no version). At the time I've built
it it was a 6.x version. When I upgraded my machine, www/node has
switched to 7.x version and since this software follows semantic
versioning, every application using the 6.x branch may or may not work
anymore. And that was my case, etherpad could not start. Fortunately, I
had the chance that the port www/node6 existed and I could downgrade.

Some people would argue to upgrade etherpad to a version that supports
node 7.x but that is not always an option. Hint: how many application
are still not python 3 compatible ? :-)

Now, I'm in a state where if I pull the ports tree, I must check if
www/node6 still exists or I must not upgrade.

With releases branches I will be sure that:

  1. www/node will *always* be at a 6.x version;
  2. www/node will still be supported for the version of the FreeBSD


David Demelier

More information about the freebsd-ports mailing list