Compatability with FreeBSD Ports [debian package tools]

ejc eric.j.christeson at gmail.com
Wed Aug 17 08:12:30 PDT 2005


On 8/17/05, Michel Talon <talon at xxxxxxxxxxxxxxxx> wrote:

> > Portage looks nice for the first time you use, until you hit a major
> > problem with it.
> 
> I have never used portage, but a lot of people are very happy with it.
> But for sure i have encountered severe breakage in FreeBSD ports, so
> i don't see any reason to despise the Gentoo work.

I run Gentoo at work and fight with portage every day and, believe me,
you don't want to.  I came from a FreeBSD ports background and dealt
with breakage there -- even had portupgrade and friends barf a few
times, but it was nothing like portage.  Some problems are related to
portage itself, but most of them are problems with the
(dis)organization behind it.

Portage problems:
1.  It's not easy to use an older version of software.  We can't
upgrade to mysql 4.x for political reasons and have to run 3.x 
Portage constantly wants to upgrade to 4.  I pinned it to 3.x, but
that breaks builds of many packages that depend on mysql.  Most of
them have an optional dependency, which I don't really use, but since
mysql was installed when these packages were first installed, they now
depend on it.  There's no nice automatic way to find all of these and
make them not depend on mysql.

2.  There are at least 3 places where a package can be masked. 
/etc/portage/packages.mask, USE flags,
/usr/portage/profiles/packages.mask and those are the ones I know
about.  Some may have been deprecated, but they are still used.

3.  Trying to build something that is masked is a nightmare.  Why
would anyone want to do this?  Sometimes it takes forever for a new
port to be unmasked.  FreeBSD's gnome team is usually 2 months ahead
of Gentoo's for new releases.  If the port or a next-level dependency
are masked, I believe it's easy to figure out what to unmask.  If it's
a deeper dependency, you have to try the build, decipher the error,
unmask, rinse and repeat.  Try that for something like gnome with a
few hundred dependencies -- all masked.

4.  Finding dependencies isn't easy -- see #3.  The only way I found
was to keep trying and deal with them one at a time as emerge errored
out.

5.  Inside joke, how do you emerge the rsync package -- emerge rsync
??  This one isn't brokem anymore, but it used to cause me grief every
time.

Organizational problems:
1.  It is common to wait a week or so after every portage update in
case something is broken.  This may seem like common sense, but it
follows from being burned numerous times.  There was a period where
portage was downgraded after almost every upgrade.

2.  Things often sit in a masked state for a long time before being
unmasked.  I understand this is a volunteer effort, but it's often not
clear from the ChangeLog why something is waiting.  #3 above shows why
this is a problem.

3.  Downgrading ports for no appearant reason.  Once again, the
ChangeLog often doesn't say why it's downgraded -- it just is.

I've only used FreeBSD ports and portage, and as bad as ports is
sometimes, it's much better than portage.  People talking about using
portage has me looking for a clue-by-four :-)






More information about the Users mailing list