By Jonathan Corbet
May 3, 2011
Back in 2006, LWN looked at the rather
complicated story around the maintainership of the RPM package manager.
Given the importance of this tool for any RPM-based distribution, the
lack of a clear story on how it was being maintained was somewhat
discouraging. Later that year, the Fedora project
announced the creation of a new,
community-oriented project around RPM. Since then, things have been on the
quiet side, but recent events show that the RPM story has not yet run its
course.
The above-mentioned RPM project lives on at rpm.org; the 4.9.0
release was announced at the beginning of March. The code is actively
maintained and sees the addition of some small features, but the project does not
show any real signs of having big plans for the future. Only a
handful of committers show up in the repository; almost all of them
work for Red Hat. By all appearances, RPM is at least halfway into
maintenance mode.
But rpm.org is not the only RPM out there; a fork exists at rpm5.org. This version is maintained primarily
by Jeff Johnson, a former Red Hat employee who has set out to create a
better RPM outside of the company. This version has focused on wider portability,
has added features like new compression formats, and a number of other
things; the full feature list is not exactly easy to find, and searching for the
significant entries in the changelog is not
a project
for anybody who is short on time. One of the key features, though, seems
to be transactional
package management (also called "RPM ACID"); the idea here is to ensure
that any RPM operation either succeeds or fails fully, regardless of what
may happen in the middle. According to Jeff, killing an rpm4 operation in
the middle can
leave a corrupted system behind; rpm5 is meant to eliminate that
possibility.
The rpm5 fork arguably has more development activity and some interesting
new features. That said, it has remained a relatively obscure project; it
has been picked up by distributions like Alt Linux, ArkLinux, and Unity
Linux, but has not been seriously considered by the larger distributors.
That has changed, though, in recent months; the Mandriva 2011 plans
include a switch to rpm5. That has brought a lot more attention to this
fork, with some interesting outcomes.
It has not always been clear to everybody in the Mandriva camp that this
switch is a good idea; back in November, Eugeni Dodonov started an extensive discussion by asking about the
reasoning behind this change:
As far as I know, rpm4 is supported by Fedora/RedHat/CentOS and
SUSE/OpenSUSE among the major vendors. Rpm5, on its hand, is used
by AltLinux and Unity Linux. RPM4 is mostly stable, with long-time
pending issues and its behavior is well-known. RPM5 is under
constant development, with many features and without any large
install base.
Many others spoke up on both sides of the issue; the discussion grew rather
heated and unpleasant at times. The decision to go with rpm5 seemed to be
motivated by a number of considerations. Some of the new features were
attractive to Mandriva. The development community for
rpm5 was seen as being more active and open than for rpm4, which was seen
as dominated by Red Hat and relatively closed. Mandriva was carrying a
long list of patches against rpm4 which, evidently, could be upstreamed
into rpm5 but not into rpm4. The notion of compatibility with the other
large RPM-based distributions was seen as illusory at best; each
distribution was seen as heavily patching rpm4 for its own needs and it has
always been difficult to do non-native installations of RPM packages. And,
importantly, Mandriva's RPM maintainer, Per Øyvind Karlsen, wanted to go that way:
I've made it clear several times that I've planned on going with
rpm5, and given that I'm the maintainer, have the best knowledge of
and this change really shouldn't affect people in a negative way if
you look beyond the reckless updating from testing. As I am the one
to maintain it, and it shouldn't have inconveniences pushed on
others, I find it my own decision to make whether I want to
maintain a totally messed up rpm.org version which is bogged down
with patches and pain to regenerate for every release.
So that is how it went. Per Øyvind's assertion that the change "really
shouldn't affect people in a negative way" turned out not to be quite the
case, though; Mandriva's "cooker" mailing list has been dominated by
discussions of rpm5-related issues ever since. Other small transitions - to
systemd, for example - have not generated a fraction of the traffic.
A transition of this type was never going to be easy; it has been further
complicated by the facts that integration with Mandriva's
higher-level tools has been a big job and rpm5 has had some growing
pains in the process of scaling up to a distribution of the size and
complexity of Mandriva.
It must be said that, through this process, Jeff has clearly put in a
massive amount of time supporting Mandriva. One could have easily gotten
the impression
that he had been hired by the company as part of this project. As problems
were reported, Jeff worked to solve them. It is a rare development project
that will put that much effort into supporting its users - even
high-profile users; Jeff has performed a real service for Mandriva.
That support faltered a bit at the end of April, when Jeff abruptly announced that the rpm5 mailing list archive
(and much of the rest of the site) had been taken down. His responses to
queries about why this happened are best described as abusive; by his own
admission, he wanted to stop the discussion as quickly as possible. The
site has since returned; there is also a new rpm6.org which, for now,
redirects to rpm5.org.
What is going on is far from clear, but there are hints in this message from Jeff where he
accuses an ex-Mandriva developer of being "responsible for destroying the
rpm5 brand." He is clearly
tired of dealing with problem reports and complaints about rpm5, many of
which, he says, are not really related rpm5 problems. But much of the
trouble seems to come from the fact that Mageia - a fork of Mandriva - has
not followed Mandriva into the rpm5 transition. Mageia's position, as described by Anne Nicolas, seems reasonable:
the Mageia developers are busy enough just trying to get a releasable
distribution together. Given all that needs to be done, throwing in a
low-level package management system change just didn't seem like the best
idea.
It would appear that there is some bad blood remaining between the Mandriva
and Mageia camps. There are hints of non-public discussions that have been
rather less friendly than what can be seen on the public lists; Jeff and
rpm5 may well have been dragged into some of that. At least, that's what
one might conclude from comments like:
You've had *MONTHS* to make peace with rpm5 and mostly
haven't. rpm5 is being cited as a "fiasco" and is blamed for most
anything you don't like. What you don't like has nothing
whatsoever to do with this "tourist with camera" wandering the
dungeons hacking on RPM.
I can tell you that a "fork" is a huge waste of time & energy from
first hand experience. I can also say that the M&M distros are
more similar than different, and strongly suggest that you make
peace somehow and move on.
Since then, the tempest seems to have mostly passed, and Jeff is back to
talking about making rpm5 work better with Mandriva. But this incident has
been a wakeup call for some people in the Mandriva community who now feel
they have cause to worry about the foundation on which the 2011 release is
being built.
It is going to be interesting to watch what happens from here. Mandriva
appears to be well committed to the rpm5 transition at this point, and,
seemingly, things are beginning to stabilize. If rpm5 performs well in the
final Mandriva 2011 release, it could motivate questions from users of some
of the other distributions on why they are stuck with the "older" version.
Alternatively, users could see the pain Mandriva has been through and, if
the result doesn't appear to be worth it, they may decide that they're
happier with their relatively boring rpm4. Either way, it seems that this
particular drama has not played itself out yet.
(
Log in to post comments)