FreeBSD Ports vs. Gentoo Portage (a matter of concept)
gabor.kovesdan at t-hosting.hu
Tue Feb 7 03:55:51 PST 2006
>FreeBSD Prospect <mailings.freebsd at o0l0o.org> wrote:
>>Reading a lot about FreeBSD recently made me really curious. I know, that the
>>founder of Gentoo (the well known GNU/Linux meta-distribution, which is also
>>based on compiling everything from source) was using FreeBSD for some time,
>>before continuing creating Gentoo, what's why portage (the Gentoo software
>>management system) is generally based on FreeBSD's ports.
>>FreeBSD is generally seen as being more secure, more stable, has a lot more
>>software in ports, and used to be the better choice especially for production
>>servers. Now I am wondering, how this is even possible considering the
>> - Portage divides all software into three states: hardmasked, masked
>>unstable/testing (~arch) and stable (arch).
>> - In ports there is no such difference, which means the lastest software is
>>just available using the usual port management features, without the need to
>>fiddle around with unmasking something, to be able to install it. In most
>>cases (even the usual desktop stuff, like Gnome & KDE) software in ports is
>>more up-to-date than in portage.
>>That means, to be able to compare Gentoo Linux with FreeBSD, you would have to
>>run a pure unstable (~arch) Gentoo system, which is generally not
>>recommended, and especially not for a production system.
>>So how is it possible, that FreeBSD is considered to be more suited as a
>>production environment, if it runs the latest software-versions, which are
>>considered unstable/testing in Gentoo?
>Since FreeBSD splits the "system" into (Kernel+Userland/World = base) and the rest,
>the base is considered stable and recommended for production, whether the rest
>is to be considered stable and usable for production is the responsibility
>of the maker of that software and the user.
>How can the FreeBSD project say whether some Oracle or PostgreSQL
>port or package is stable enough for production?
>>How comes, that a FreeBSD system is considered to cause less work do
>>administer this way (thinking of regular updates of installed ports, and if
>>it's only for security fixes - compare that to the frequent changes in ~arch
>Exactly because of the split between Base (Kernel+Userland) and the
>>And shouldn't a FreeBSD system break more often, if kept up to date on a
>>regular basis (this is meant concerning the software installed from ports,
>>not the base-system)?
>No it shouldn't and it also doesn't, thanks to the efforts of the
>porters. Thanks guys!
>>Maybe I am missing something here, or maybe the procedure to get something
>>into ports is different (more test in advance by the contributors/devs?), but
>>I could not find more info about that matter until now.
>>Don't get me wrong, I think the portage way with the three different states is
>>useful, and the more I read about the ports system in FreeBSD, the less I
>>think, ports are superior to portage (at least if you are used to portage and
>>USE flags). But hands down, using Gentoo, even a stable (arch) system can
>>break from time to time, and a mixture of stable (arch) and unstable/testing
>>(~arch) packages may also not be the best approach (try to "hold" an unstable
>>package by using something like "=sys-apps/baselayout-1.12.0_pre13-r1" and
>>see that particular ebuild disappear in favor of newer unstable versions with
>>portage complaining about no suitable versions being available for your
>That is exactly why a FreeBSD system is less of a hassle.
>What's the point of all that masking and unmasking, stable and unstable?
>Ontology is obsolete ;-)
>>The FreeBSD way, to split the base system (the OS itself) from addon software,
>>is a really good idea, so that the base system can be kept stable and profen
>>to be well tested, but I just don't understand, how this is fitting under one
>>hat, with having a stable OS & all the lastest add-on software installed. How
>>does this work out in the FreeBSD world?
>It works out great, because people know whom to complain to.
>Why complain to the system guys when GNOME is broken?
>But there is something to your argument, Ports are a moving target.
>But packages aren't. And when installing a Port you create a package.
>So if you're happy with that particular version of the Port, save the
I also consider it very important. Before a release comes out there is a
code freeze to ensure that the code is very stable and reliable, and
only security fixes and bugfixes can be committed with the particular
approval from the releng team. Similarly, there is a ports freeze before
the release. This has the same goal for the ports tree, only the portmgr
team can approve a commit. So, the ports tree gets well-tested and
stable. After that it gets tagged and the package builds are done from
this tagged version for the upcoming release. After the tagging the
ports tree is open again. In this open state, less tested or less stable
software might go to the ports tree, too, but if you don't like that
fact, or have problems with a particular software you can take the
released packages and use them.
More information about the freebsd-questions