On 8/17/05, Michel Talon <[EMAIL PROTECTED]> 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 :-)
