Why Are You NOT Using FreeBSD ?

Rainer Duffner rainer at ultra-secure.de
Thu Jun 7 20:03:36 UTC 2012


Am 06.06.2012 um 20:59 schrieb Dave Hayes:
> 
> 
> I believe this is the first time I've seen more documentation labeled as
> "extraneous". :) I had thought to suggest an implementation by having a
> simple pkg-option-desr file which describes the options and implications
> in each port. Are you suggesting that such a file would be unwelcome? 
> 


No, but take a look at the nginx port, which (I'm too lazy to count) has gained a couple of dozens of options over the years.
It's a bit of an extreme example, I know - but nevertheless.
I've enabled some that I know what they do and some where I think I know what they do. Some are default on, so I left them on.
The rest I disabled if I knew I wouldn't ever need them.
Documenting all of them would probably be a huge endeavor - and I'm glad that Sergey keeps the ports updated super-fast and chases down all the updates of 3rd-party patches (which often have little more than the source itself as documentation) etc.
Asking him to do even more work - I wouldn't dare to do that ;-)

It's really the person who is running make config who has to read up on all the options and decide if (s)he needs them.
Sometimes, options only make sense in context of the selection of options of other ports and it thus may no be easily explainable in one line.
I don't maintain any ports, I just build about 600 of them in our private tinderbox.
IMO, you can't really maintain more than a couple of FreeBSD-servers professionally without some sort of central package-building.
The earlier people realize this, the less pain they will have to suffer. In practice, you realize it 50 or 100 servers too late...

The work that goes into the ports-tree is tremendous and once you start running your own tinderbox, maintain some 3rd-party patches yourself and just generally dig deeper into this stuff you begin to realize just how difficult this is. 

What I do (or try to do) on my tinderbox is to take a "frozen" ports-tree towards a release and build packages from it (trying to minimize the number of unique builds per portstree)
After the tree is open again, I try to get the stuff that interests me, the security-patches (e.g. the recent php bug) or other stuff that is useful for us as an update directly from CVS for the 600 or so ports that we actually use.
Of course, this only works until something in the ports-framework changes significantly (like that options-ng thing recently) and I either have to update the whole ports-tree or just wait till the next pre-release freeze.
I found that currently the fastest way to update my packages on a server is to pkg_delete -fa and then pkg_add the stuff back that I need (more or less the same packages everywhere, anyway). 
Portupgrade is far too slow to be of any practical use (and more than a handful of package-management-tools in the ports-mgnt category isn't really helpful, either - who has the time to test them all?)
I hope that pkgng will solve most of these problems and enable me to update my ports-tree more often.
Unfortunately, by then some of the FreeBSD-servers will have moved into our private cloud (using Joyent's private cloud, which, incidentally uses NetBSD's pkgsrc - we will have to see how that works out longtime)

Personally, I don't need more frequent FreeBSD-releases but two or maybe three ports-tree freezes per year would be good.

So, FreeBSD 9.0-RELEASE, FreeBSD 9.0-U1, FreeBSD 9.0U2 would be cool ;-)


Would that be a lot of additional work?





More information about the freebsd-stable mailing list