Stable tag will be slipped Sunday and release engineering will begin Monday

Paul Allen pallen at
Mon Apr 4 14:20:20 PDT 2005

> Bill, I don't think you've actually used Debian.  Try it and see.
> As for me, "resilient" is not the word I would think of when
> considering the FreeBSD ports tree.  I remember at least 2 serious
> snafus (involving libpng and gettext), and have forgotten dozens of
> minor hiccups, in my 4-5 years of using FreeBSD.  Usually nowadays,
> when such a major disruptive upgrade happens, detailed portupgrade
> instructions are posted on the lists, and things still seem to go
> wrong for users.

**Nothing in this message should be taken as advocacy for
any particular solution, this meant to be mostly historical
and didactic**

yes, I remember the gettext transition too.  The essence of
the problem there is that some people seem to be under the
impression that they can break API (or do something that
induces an ABI breakage) without changing the version number
as seen by ld.

The freebsd ports system was never really intended to deal
with this issue in a meaningful way.  It was intended to 
provide a prefab way to build--on FreeBSD--programs originally 
designed for other posix OSs.

In regards to Bill's 10% comment earlier.  That is the
difference between the base system + ports.  The Base System
reflects that fraction of software for which one team
ensures internal consistency and version stability.  Ports
was never meant to be held to the same consistency standards 
as the the base system.  Ports exists distinctly from the
base system precisely because the manpower necessary to
deliever the same compatability certainty with all of that
software does not exist.  Or at least this is the prevailing
theory.  Matt's VFS environment proposal could change all of
this--by simply eliminating the need to ensure consistency.
On the flip-side, Debian believed they could ensure
consistency over a large package set.  The result is
three-year old staleness.

One unfortunate side-effect of the current FreeBSD approach
is that configuring which parts of the base-system are 
installed has one interface (/etc/make.conf) whereas ports 
has /var/db/pkg.   This is an unneeded dicohotomy.

All this said, FreeBSD ports can handle major upgrades...
Just recently, I brought a system from running 5.2.1 
(w/ installed ports of the same era) to 5.3 using the 
standard upgrade procedure and portupgrade -a

Being able to do binary updates would be a nice incremental
improvement on FreeBSD ports.  But it is nice to have the
ports repository in the background.  There have been several
times when building particular versions myself, I have used
the port of a different version as a reference for what
changes I should expect to need to make.  
*This is invaluable* as a record of how the program was


More information about the Users mailing list