The New rpm Hell -or- Why yum and pup Seem To Be So Broken In Fedora

by Caitlyn Martin

Since I reviewed Fedora Core 5 back in April I've become increasingly frustrated with one aspect of what is otherwise a very well done distribution: package management and keeping my system secure and up to date. I've run into repeated instances of yum deciding I needed a lot of new packages and promptly failing over just one. pup, which is really just a pretty but somewhat crippled front end to yum, also fails in the same way. What I've discovered is that pup and yum aren't broken at all. The code is doing precisely what it was designed to do.

Let's look at today's failure as an example. I had been on vacation and my system was probably 10 days behind on updates. yum decided I needed to upgrade some 166 packages and add 2 more for dependencies. Fine, go do it. No chance. Here is the error message:

Error: Missing Dependency: libecal-1.2.so.3 is needed by package gnome-panel


That seems clear enough but it really isn't. gnome-panel wasn't being upgraded. Rather the package that contained libecal-1.2.so.3 was and doing the upgrade would break gnome-panel. Typing in:

yum whatprovides libecal-1.2.so.3


reveals that it is part of the evolution-data-server package. A new version of that package was rolled out without checking to see if any other package had a dependency on the old version. That is just plain sloppy package and repository management on the part of the Fedora Project people at Red Hat. If this happened just once it would be forgivable but this sort of failure has happened repeatedly over the past two months. To their credit the Fedora Project has, in each case, rolled out a new package for whatever they've broken in a day or two. Still, it shouldn't happen in the first place.

12 Comments

Ming Chow
2006-06-07 06:18:33
Thanks for writing this. And I thought I was the only one having this problem. Is anyone else? One question for you: did you remove evolution before this all happened? Yes, "yum -exclude=evolution-data-server" update is the workaround. As you can imply from the package name, libecal is the API for the calendar stuff in Evolution (http://www.gnome.org/projects/evolution/developer-doc/libecal/index.html) . Reinstalling evolution-data-server does no good. Worst of all, you can't remove it: a number of things including GAIM, gnome, evolution depends on it!
Caitlyn Martin
2006-06-07 11:05:10
You are very welcome. I seriously doubt we are the only two who've run into this. I do suspect inexperienced users who find pup or yum broken may try it again, find that things then work, and assume the problem was fixed on Red Hat's end which, in fact, is the correct answer.


No, I didn't try removing evolution. While I generally don't like it as an e-mail client I still need it. So long as I have clients who insist that I have an e-mail account on their Exchange server I need to use evolution's Exchange connector which is slightly less painful than using the OWA directly.


BTW, one clue for people in the same situation I am: While the OWA tries to be Internet Explorer specific it *DOES* work in Opera provided Opera reports itself as IE 6. It is indeed possible to access the OWA directly from a Linux box without installing anything Microsoft on your system.

Carla Schroder
2006-06-07 15:12:31
Yum is still a baby, compared to Debian's aptitude. Debian has a long history of strict quality control on packages in the official repositories, while the RPM world has always been more of a free-for-all, with all manner of half-baked RPMs spewing forth from myriad sources. A major contributor to RPM hell was poo packaging.


Yes, if they really want Fedora to be a true model of "excellence" (http://fedora.redhat.com/About/) the packaging and dependency-resolving system is going to have to improve a lot. I think it will.

Summer
2006-06-08 05:33:23
Another good article and you are definately right on when it comes to the question of why this must be addressed.
Chris Tyler
2006-06-08 06:12:07
I'm running FC5 on a large number of systems and I'm also teaching it at Seneca College, Toronto. I'm not encountering these types of problems on most of the systems and I think that it's largely due to the fact that they're running a superset of one of the package-sets offered during installation, as opposed to a subset. So taking a standard system and adding to it causes few problems, but taking a standard system and subtracting from it leads to grief. This obviously makes it a pain to slim a system down.


Let's face it -- solving these problems is a big task. The situation with Extras is even bigger than the one with Core, but there are folks actively working on it.


My biggest complaint about the repositories these days is the lag between kernel updates and the nVidia driver updates on Livna (I suspect the ATI users have a similar complaint). These delays often block my (scheduled) daily yum updates. (It would be really nice to see the nVidia driver builds automated so they happen within hours of a kernel update!)


While the Fedora dev teams sort these things out: are you filing bugzilla reports against the issues you encounter?

sys0p
2006-06-08 07:07:01
Most of these are part of running a bleeding edge distribution. "basic functionaly being managed poorly" is an overstatement. In most distributions including fedora, certain breakages occur from time to time.
Caitlyn Martin
2006-06-08 10:55:01
Carla: Despite it's relative youth I actually think yum is quite good. Perfect? Nope, but neither is apt. Apt is perhaps a bit better at odd dependency issues. The problem isn't yum. The problem is rolling out new packages without checking what the consequences will be.


Chris: I must disagree with you. My install is pretty much kitchen sink, not a subset. It really doesn't matter what you have installed. yum is truly excellent at installing missing bits for you. Basically if you don't run yum update almost daily you won't see these issues because they do get corrected rather quickly. Again, the issue is having different packages requiring different, conflicting libraries. It's a matter of not being thorough in checking what might break when you upgrade a piece of a distro. That it has happened repeatedly is pretty inexcusable.


sys0p: The problem is not that breakage happens from time to time. It is happening with disturbing regularity. It's sloppy management and it is pretty inexcusable for it to happen on so regular a basis. You do hit the nail on the head with one point: Fedora, as a test bed for future RHEL technology is bleeding edge and that does cause issues in and of itself from time to time. As Carla correctly pointed out, though, Fedora is making claims of excellence. The current situation isn't excellent, is it?

Ming Chow
2006-06-08 16:24:14
Well apparently, the problem has been solved:


Dependencies Resolved


=============================================================================
Package Arch Version Repository Size
=============================================================================
Updating:
evolution-data-server i386 1.6.2-1.fc5.1 updates 4.2 M
gdm i386 1:2.14.4-1.fc5.3 updates 3.6 M
gnome-panel i386 2.14.2-1.fc5.1 updates 3.1 M
gnome-panel-devel i386 2.14.2-1.fc5.1 updates 50 k
planner i386 0.13-4.4 updates 2.0 M


Transaction Summary
=============================================================================
Install 0 Package(s)
Update 5 Package(s)
Remove 0 Package(s)
Total download size: 13 M
Is this ok [y/N]: y
Downloading Packages:

Caitlyn Martin
2006-06-09 11:12:09
Yes, indeed, it's fixed this time. As I said in the article the Fedora Project always gets this issue fixed in a day or two. Then, a week or two later it happens again with different packages. Hopefully that's coming to an end.


The purpose of the article wasn't to document one failure or just to rant about FC5, a distro that, overall, I like quite well. It was also to show why this happens and provide a workaround for users who might not be familiar with the ins and outs of this issue.


BTW, I've been playing with Xubuntu Dapper for a few days now and I did run into a dependency issue withthat distro as well. However, it was with Universe packages (equivalent to Fedora Extras) while the Fedora issues have been with Core packages, which I view as far more serious.

Dubious Dave
2006-06-27 08:28:22
Try using yumex. It is a simple but powerful gui for using yum.


yum install yumex


You can see/select what needs updating and change selection after it tells you what additional dependancies are required. I don't use pup at all. You can also see everything available for install and removal that's controlled by yum.

Dark Phoenix
2006-07-29 20:12:14
As was mentioned before, try yumex. I don't understand why the Fedora people are so determined to push pup and ignore yumex; yumex feels much more complete (more like synaptic) than pup. Actually, pup reminds me of the Windows Control Panel's Add/Remove Programs section... which probably isn't good, considering the WCP sucks to begin with.

2006-07-31 00:14:56
I find smart package manager to be superior to yum or apt.