Date: Sun, 7 Sep 2003 22:34:56 -0400 From: Rahul Siddharthan <rsidd@online.fr> To: chat@freebsd.org Subject: Re: The Old Way Was Better Message-ID: <20030908023456.GA3126@online.fr> In-Reply-To: <Pine.BSF.4.44.0309070044200.75233-100000@s1.stradamotorsports.com>
next in thread | previous in thread | raw e-mail | index | archive | help
For around 4 months now I've been mainly using Debian because I couldn't get FreeBSD to work on my new laptop. I really like the way they do things. In a nutshell, they always have *three* branches: "stable" -- frozen, only bugfixes go in "testing" -- stuff in a queue for a "stable" release "unstable" -- the main development distribution "Unstable" packages are typically the latest bleeding-edge versions, and therefore a new package may break a lot of others, etc. Packages are imported from "unstable" into "testing" automatically by a script, when it satisfies the criteria given at http://www.debian.org/devel/testing and "testing" becomes "stable" when the bug-count drops to acceptable levels (to facilitate this they "freeze" it when they think it's getting ready for a release). When "testing" becomes the new "stable", the old "stable" is archived. There are security advisories and bugfixes for "stable" but little else (so it's like our -RELEASE branches). It is thus ideal for production environments where you want a solid system and not the latest bells and whistles, but if you look at the package list it has a distinctly musty, old-fashioned smell. Security advisories are not a priority for "testing" or "unstable" (because of lack of resources). "unstable" tends to have the latest versions of packages so should be secure generally. I run a mixture of "testing" and "unstable" and the whole setup has been remarkably bugfree so far. I don't know how this could work for the FreeBSD base system, which is not a collection of packages. But it actually strikes me as an excellent idea for the ports system. My big peeve with the ports system has long been the way a single port can break your entire system: you have port foo 1.0 installed, but the latest version is 1.1 and port bar requires foo 1.1 and pulls it in, but that breaks 200 other packages using foo 1.0. Recent example: gettext. Older example, the one that bit me: libpng 1.0->1.2. (Of course, if you have lots of bandwidth and cpu time, you could just use portupgrade to rebuild all your ports. We need a better answer.) This really arises from the fact that the ports system can only have one version of a port at a time, so it is forced to be bleeding-edge. Even worse, it's the same ports tree for RELENG-4 and RELENG-5. Another bottleneck is that each contributed port must come in via a PR and then be committed by a committer, who ultimately is responsible for testing it and seeing what breaks, in contrast to Debian's more "distributed" system and automated unstable->testing move process. The DragonFly people seem to have some ambitious goals, and Matt even mentions Debian as an example of how to do packaging right. I'd like to give DF a spin, but I may have no better luck on this laptop than with FreeBSD. Rahul
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030908023456.GA3126>