Like Britney Spears, Jeff Johnson did it again and decided to fork rpm once more. Following a week long outage of the main website, he announced on the Mandriva development mailing list the launch of rpm6.org, without giving much explanation. Without more information, some people speculate this was caused by an intrusive
merge by a Mandriva coder without discussing beforehand, while some others speak of the heavy criticism due to the migration, which still causing issues after several months.
The rpm 5 migration was decided by Mandriva management, citing reasons related to the European research project Mancoosi in a message by Arnaud Laprevote, then CTO of Mandriva.
But for months, the switch plagued Mandriva development, leading to planning changes, breakage in the installer, issues in others projects, and various flame wars about changes that were not discussed. Nonetheless, after enough work, rpm migration was fully completed and working fine so Mandriva could prepare for the stable release on 9 June 2011.
Yet, just before Easter weekend, the website, cvs and mls went missing without much talk, except for one message on twitter. The first public answer appeared some days later when someone asked about it on the mailing list, citing concerns about the leadership of the project. But Jeff’s rude answers didn’t lead to much explanation until the unveiling of the rpm6.org url a few days later, and the various changes in the cvs commit access.
Could this be the start of a new breakthrough in package management, or yet another episode in rpm saga that started with the famous bug 119185 in 2004?
Peter principle in action perhaps.
I looked at some of the links for a while. There are a lot of them. I still don’t understand what’s going on. It sounds like to me that:
rpm has several developers ( from the mandriva project?) with commit access that are committing code that others have issue with ( those not form mandriva?). So the non-mandriva folk are going to fork to rpm 6?
Am I close? The summary didn’t really summarize much.
Just this thing happened, Then this guy said something like “things, and stuff”, Much like this other thing. but of course we all remember the jibber jabber at the time.
Jeff Johnson is the original developer of RPM, which he wrote while at Red Hat. Later, he and Red Hat (disclosure: I work for RH, but I post-date all this by a long way and don’t have any personal stake in it) wound up with severely different views about where RPM should go, and that was the initial fork: Jeff started up rpm5.org and considers to be the official RPM, Red Hat maintains rpm.org and considers it to be the official RPM.
Most RPM-based distros use rpm.org. This included Mandriva up until the Mandriva/Mageia split. The former Mandriva RPM developer went with Mageia, and Per Oyvind Karlsen, a long-time MDV contributor and big rpm5.org fan (he was long in favor of MDV switching to it) became MDV’s RPM maintainer; not surprisingly, this wound up in Mandriva switching to rpm5.org. Mageia stuck with rpm.org.
I’m not really familiar with this latest thing, but it looks like Per Oyvind has upstream commit rights to rpm5.org and has been checking in stuff that Jeff is not happy with. I don’t know any detail or background on this.
I am rather amazed that rpm5.org is still using CVS. Yeek. This kind of thing is rather easier to resolve with git…
What does CVS have to do with the price of tea in China? Is that a scripted response for anything not using GIT?
It sounds to me that he is suggesting that the use of GIT being more robust than CVS, would accommodate such forks and conflicts of versions better.
it’s a lot easier to deal with situations like this in git, just the whole way it’s set up, it would not have gone down like this. po would likely have his own tree and request pulls into master.
Let me summarize the situation for you:
Drama, petty catfights, and lulz.
(I haven’t read the links either but I do believe that my summary is accurate).
Even simpler:
Douche bag dev forks rpm5.
as far as i remember i think Panu ( Redhat RPM Developer ) saying that rpm5 is a total mess. so i dont blame Mandrival cleaning it up with there own Code
but this makes you wonder will OpenPKG support Jeff with rpm6.org? being as arrogant as he is i wouldnt shows in here https://qa.mandriva.com/show_bug.cgi?id=62877#c46 how arrogant he is
Edited 2011-05-03 03:53 UTC
Disclosure: I am a Fedora contributor but I am not a contributor to RPM and friends but feel free to filter out any bias
Some background here
https://lwn.net/Articles/196523/
http://www.redhat.com/archives/fedora-announce-list/2006-December/m…
Red Hat, Fedora, (open)SUSE and Mageia among others use rpm.org codebase and others like latest Mandriva use the rpm5.org codebase. Afaik, PLD has switched to rpm5.org but I think Mandriva counts as a larger effort in some ways and it is not unexpected that there would be some issues when upgrading to a newer version. Fedora has been upgrading to the newer rpm.org releases and tweaking things to be better and even though the upstream developer is the rpm maintainer in Fedora as well we have had some problems that we had to routinely fix including the latest one in Fedora 15
http://fedoraproject.org/wiki/Features/RPM4.8
http://fedoraproject.org/wiki/Features/XZRpmPayloads
https://fedoraproject.org/wiki/Features/RPM4.9
So problems in the installer or upgrade issues don’t surprise me at all especially since rpm5.org has a lot more deeper changes while rpm.org releases are more conservative (different approaches and goals) but IMO the real thorny problems have never really been technical. It is a social problem due to the rather direct (or abrasive) approach of the rpm5.org maintainer. For instance
http://lists.mandriva.com/cooker/2011-04/msg00476.php
Would be interesting to see the result after all the shake up.
Edited 2011-05-03 07:57 UTC
Wow, I’m speechless. I would have never thought that people would write what he wrote, in what I thought was a community effort… and you only name it “direct” or “abrasive”? That’s sheer violence and arrogance!
Shows what I see as the major problems FOSS projects have:
1. Lack of manpower
2. Egos of some devs
Nearly every project is hit by 1 and _some_ are also hit by 2, which in turn often leads to 1 because of devs leaving, forks etc.
The way he comunicates there is a mess and only results in every responisble person to stay away not only of this specific dev as far as possible but also his work. Even worse this also damages the image of rpm and Linux.
Edit: OMG it gets even worse http://lists.mandriva.com/cooker/2011-04/msg00483.php
Edited 2011-05-03 10:55 UTC
(couldn’t resist. rpm has left a bad taste behind since I moved to deb packaged distros though managing .rpm with aptitude would probably sweeten the flavour.)
I’d take zypper over apt(itude) any day.
Interesting.. I’ll have to look at that. if it adds/removes/purges, resolves dependencies, reinstalls fully, displays orphans and displays changed installs based on the original package.. that could be very interesting.
The only issue I’ve had with Aptitude/apt-get/dpkg is the full reinstall part. I’ve had similar issue with Mandriva’s RPM and Debian 6 aptitude/apt-get/dpkg in the past. On a Debian box, a config or binary got currupted; should be a simple aptitude reinstall package right? package install crashes out half way through complaining about hte missing/broken file it’s supposed to be replacing. On a Mandriva box that had a currupted hard drive; similar issue though made worse by the lack of a debsum equivalent. rpm verifications and requests to reinstall never did get that fixed. Oh sure, I could dump a list of installed packages but to reinstall them? nadda.. how much does it suck to have to reinstall overtop of the existing install just to get a working system when the exact same breakage in a Windows box fixed itself through a reboot and recovery with the install media.. (both VMs broken the same way due to being hosted on the same drive when it got messed).
Anyhow, my RPM experience was last with RPM and Mandriva’s urpmi type wrappers. By comparison, aptitude’s simple command switches made managing packages from cli a dream. If Zipper can improve on the experience I’m interested in that.
When it comes to packaging stuff as a developers, I’ll take deb over RPM any day of my life.
Why is that? Easier packaging is considered one of the great perks of rpm (no debhelper / cdbs mess).
RPMS, easier? Never heard that one before!
I find RPMs horrendously clunky to work with. Having to do things like “installing” an SRPM and then building from the “installed” spec file, for example. Why? The work flow just doesn’t make any sense.
I also dislike the spec file syntax, and have found in the past that RPM is just too rigid in places, which made doing complex things even more difficult than they already were.
I hear it all the time from people that have moved from deb packaging (maemo) to rpm (meego). It’s also my own experience.
I just upload a .spec (that’s one file) and tarball to OBS, and get an rpm. With debs, I have a bunch of cryptic files that blow up in hard-to-debug ways. At the moment I generate the .spec file with ‘specify’ that uses simple .yaml file as input.
Anecdotal evidence still suggests that many developers (that have done both) find rpm packaging radically easier. Perhaps deb is better for some advanced scenarios, but I’d prefer to avoid advanced scenarios if I can ;-).
In my experience, building packages with rpm is more logical: everything is on a simple text file rather than split in different folders/files.
Besides that, the general workflow is similar
By the love of God! Have you ever thought of “rpmpubild –rebuild packager.srpm”?
Besides, with one simple text files you have all what you need to rebuild a package….
Why? Because it uses macros? Just don’t use them! Regular shell variable syntax still works
Care to elaborate please?
Rpm has something that deb hasn’t: file dependencies!!! (and not *package*)
This is intersting as I’ve very minimal experience with building in both (rpm –rebuilds and checkinstalls only). How does rpm have dependencies where deb does not? Does rpm somehow include dependencies into the actual package or am I missing something in how deb dependencies are resolved?
RPM files can have dependencies on single files, like for example /etc/foo, not only just packages whereas AFAIK DEB files can only have dependencies on packages. Atleast that’s how I’ve understood it.
Ah.. I can see how that could make a difference. Package level dependencies are not so bad provided the distro doesn’t to stupid things like make Evolution a dependency for installing GNOME (WTF is a groupware client required to run a GUI shell?). As a “deny all, allow minimum” style system builder, more granular dependency resolution wouldn’t be a bad thing at all though.
hm.. my preferend package menagement tools working against rpm package formats.. I could be a convert.
I honestly doubt any distro has evolution as a dependency of GNOME. gnome-panel has a dependency on evolution-data-server and e-d-s does not have a dependency on Evolution. It is a generic data store for storing calender info among other things. The name e-d-s is just a historic legacy.
Ubuntu. Evolution is required for GNOME-core..
Sadly, Debian apears to ahve adopted this madness.
(edit) to clarify:
“It turns out that dependencies in Debian have started following the Ubuntu model; it is now impossible for me to uninstall a lot of software I will never use without breaking the whole system. If I use APT to remove Evolution, it uninstalls the core of GNOME. If the core of GNOME goes away, the reason I installed it goes away too — namely, the bloated GUI replacements for the simple, easy software I used to be able to use from the command line or via scripts to get things done quickly.”
http://www.techrepublic.com/blog/opensource/networkmanager-the-fift…
Edited 2011-05-04 16:22 UTC
The article you reference seems so trollish that I can’t rely on it. can you paste the full output of apt-get remove evolution? I suspect what has happened in this case is that Debian and Ubuntu use meta packages to install evolution and the author of the article is getting confused by it. In any case, this has nothing in particular to do with the packaging format.
I am but a simple ready. It would be better taken up with the article’s author. For my own and other reader’s information at minimum. (Granted, I don’t represent the author or website in any way so I’m not saying you should go sign up for an account on my recommendation.)
Still, a well informed counter-point to the author would be very desirable reading.
Now for my own part, since I braught the complain here and need to support the complaint or accept correction (and sorry for how ugly this is probably going to wrap):
$ aptitude search gnome-core
p gnome-core – The GNOME Desktop Environment — essential components
p gnome-core-devel – The GNOME Desktop Environment — development components
“essential components” to my reading would mean things that the graphic shell can’t function without like widgets, window decorations and relevant GTK libraries.
$ aptitude show gnome-core
Package: gnome-core
State: not installed
Version: 1:2.30+7
Priority: optional
Section: gnome
Maintainer: Debian GNOME Maintainers <[email protected]>
Uncompressed Size: 45.1 k
Depends: desktop-base, dmz-cursor-theme, eog (>= 2.30),
epiphany-browser (>= 2.30) |
gnome-www-browser, evince (>= 2.30), evolution
(>= 2.30), evolution-data-server (>= 2.30),
file-roller (>= 2.30), gedit (>= 2.30),
gnome-about (>= 2.30), gnome-applets (>=
2.30), gnome-control-center (>= 1:2.30),
gnome-disk-utility (>= 2.30), gnome-icon-theme
(>= 2.30), gnome-keyring (>= 2.30),
gnome-menus (>= 2.30), gnome-panel (>= 2.30),
gnome-power-manager (>= 2.30),
gnome-screensaver (>= 2.30), gnome-session (>=
2.30), gnome-settings-daemon (>= 2.30),
gnome-terminal (>= 2.30), gnome-themes (>=
2.30), gnome-user-guide (>= 2.30),
gstreamer0.10-alsa (>= 0.10.29),
gstreamer0.10-plugins-base (>= 0.10.29),
gstreamer0.10-plugins-good (>= 0.10.22),
gtk2-engines (>= 1:2.20), gvfs (>= 1.6),
gvfs-backends (>= 1.6), metacity (>= 1:2.30) |
mutter (>= 2.28), nautilus (>= 2.30),
policykit-1-gnome, totem (>= 2.30), yelp (>=
2.30)
Suggests: gnome-desktop-environment
Description: The GNOME Desktop Environment — essential components
These are the core components of the GNOME Desktop
environment, an intuitive and attractive desktop.
This package depends on a basic set of programs,
including a file manager, an image viewer, a text
editor, a mail reader, a web browser, a video player
and other tools.
Evolution listed as a dependency. Not a suggested package but a required component..
As a KDE user, I’m not deeply affected by GNOME dependencies but wow would I be pissed if Kontact was suddenly an essential dependency for simply displaying a KDE desktop. My personal concern is where this type of bloated dependencies leads. I just don’t want to see Canonical’s poor choices adopted by a historically solid distribution like Debian.
the installed size (tiny) suggests it’s a meta-package. it just exists for convenience: you can install gnome-core and get a basic working gnome desktop. You don’t have to have gnome-core installed for gnome to work.
Admittedly, the article author did apear to rush things and get upset when the DE tried first didn’t behave as desired (much grief with network manager). On the other hand, he is a FreeBSD user who, until this experience, always considered Debian above other distros if one is going to go with a Linux kernel.
Here’s the thing for me; “gnome-core” suggests the absolute minimum for a desktop environment displayed. I’d equate it to kdebase which shows a dependency of only plasma desktop. “minimum” kde does not drag in Kontact but “minimum” gnome does? The “gnome” metapackage would be expected to drag in all sorts of stuff for sure but not the minimal package. Is there a gnomebase type package I’m missing?
I’ve actually not had reason to look at gnome much until this article caused me questions. On the KDE side, I pull in xinit, xorg-xserver-video-[gputype], kde-plasma-desktop (the only kdebase dependency) and kdeadmin. Maybe the dependency differences are due to the internal structure of the two seporate DEs?
I may get interested enough to do a VM install and see what the trully minimum gnome by pick-packed package selection is.
That’s not much help when I’m in the process of modifying the spec file.
And is it so difficult to:
rpmbuild -bb package.spec
?
Then, as packager, it is better to have a guideline aside to understand what you are doing. Modifying a spec and build a package from it is no more difficult.
Simply ask question for advice rather than complain (which is the easier way to do for many people).
Edited 2011-05-04 21:34 UTC
You don’t have to install a src rpm to build it, just run rpm –rebuild package.src.rpm, please get your facts straight.
“I find RPMs horrendously clunky to work with. Having to do things like “installing” an SRPM and then building from the “installed” spec file, for example. Why? The work flow just doesn’t make any sense. ”
Er, what? You don’t have to. rpmbuild –rebuild blah.src.rpm works fine.
Not sure if the same or similar exists for RPM packages but I gotta say, finding Checkinstall opened up a world of possabilities for me as a non-dev.
Download tarball, config, checkinstall. It it does the make, packages it into a .deb and from that point on, it’s managed through the package system. No screwing around with “make uninstall” or manual cleanup later for lack of such an option in the future. I can always reinstall the resulting .deb later when desired.
If such a thing does not exist for building tarball into RPM prior to install, someone should really consider doing so.
checkinstall works just fine for RPM’s too however as with deb files, handcrafted ones are usually way better.
sweet. I still get the handy checkinstall even if pushed to an RPM distro. Me likey!
Taken from CheckInstall website: “When make install is done, CheckInstall will create a Slackware, RPM or Debian compatible package”.
I don’t know, this is what I read on lwn.net:
“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.”
It is obviously only a small excerpt, but it does show how the developer spent a lot of work on working with Mandriva and it seems he gave up on it.
Friends don’t link friends to hashbang URLs.
https://twitter.com/devzero2000/status/61857702791483392
I’ve been chewing through a few of the links and Jeff Johnson seems to be completely off his nut.
He doesn’t seem to grasp the simple concepts that other people are trying to get across to him (eg. why rpm creating an inconsistent rpmdb from a botched install is a bug), and is completely rude on top of that.
He does not seem like the kind of person I’d want to deal with in any way, let alone rely on to provide a core system component.
Wow. That guy is quite clearly wholly incapable of managing anything related to *people*, or living things in general.
Can’t anyone simply deny his commit access? I don’t care how much code he has contributed – he’s clearly a disruptive douchebag who has no place in open source/a community.
That sucks too… it doesn’t take much to turn people off to a product.
I’ve run into that before… reported a behavior, asked if this was really what it was supposed to do to a maintainer dev (not RPM) and he flipped out on me.
I went back, triple checked that I wasn’t being aggressive or nasty in my question and I had documented the behavior thoroughly… he just started swearing at me, calling me names (I even wrote an apology and noted that I did not mean to offend in any way – but he just continued). I am guessing he was just having a really bad day… but it turned me off even using the product so I switched my development effort to something else.
There is only one side to the story playing out on Cooker. Let’s stop jumping to conclusions and choosing guilty verdict before we hear both sides.
When I read things like that, I get really sad… There is no way Linux will get mainstream (in the desktop) when things like that still happen. I guess it’s still time for mobile, servers and other areas. Right now, I do not recomend linux for the avarage joe Desktop user. This is not easy for me to admit it, but MacOSX does the job much better right now…
So where can I download this MacOSX thing? Or buy it for my computer? Is it more expensive than Windows 7?
Edited 2011-05-03 16:28 UTC
Sure, I hear Steve Balmer has a very pleasing personality.
Has anyone checked where rpm6.org redirects to? As I read many of the responses they are quite biased, unbelievable misinformed or quite ignorant on the subject. Read up on the subject before making out of context or way off base responses.
So like I said, it starts with this article. It’s like the TMZ for geeks. Ohh someone said Brittney!
Yeah… I could have done with out the reference to Brittany. If that was ever cool where ever any of you live, please let me know so I can take the appropriate precautions and vaccinations prior to any future visit.
Reading through these comments, only a handful of people seem to remotely grasp any of the actually real issues here..
Jeff’s getting pissed off is well justified, considering he’s been one of the most active and helpful people on cooker for the past months, he’s been under constant personal attacks, mainly coming from clueless Mageia people who’s really actually having issues with me.
The issues we’ve been having with rpm5 has rarely been due to rpm5 itself, but awful code and hacks done by others in the past in urpmi.
When urpmi does stepped transactions with 256MB mmap_size per each without closing them, and also wiping out the berkeley db environment between each transaction, then it’s an obvious recipe for rpmdb getting messed up. Oh, and this behaviour was leftover from former devels to hack around broken issues in the rpm versions they’re still using (yet are still blissfully ignorant about).
With rpm.org bumping their mmap_size to 128MB now as well for rpm 4.9, they’re gonna start hit the same issues, except that they’ll have no clue what’s going on and why..
These are just *some* of the issues that I’ve spent the last months fixing and cleaning up.
Also if you notice my less polite response to being called a liar out of ignorance and deceiptive claims, labelling Thierry as “a f–king imbesile” you’ll actually notice since that the atmosphere has improved greatly and that cooker has become a much nicer place and discussions are progressing and bearing fruits a lot more now than they ever did with the trolls hanging around..
And I’d like to see Panu’s reference on rpm5.org codebase being a mess, I have too much respect of him to believe him coming up with such halfassed comments.
Oh and for CVS, rpm5.org temporarily offline and all, this can just as well be viewed as preparation for migration to GIT and new infrastructure.
So people should stop speculate and make up clueless FUD about things they know *nothing* off, nor is in any position to demand any knowledge of.
Oh, and one last thing, the commit of mine to rpm5 cvs referred to had nothing to do with any of this, given that I’m only second to Jeff in development activity @rpm5.org upstream, I can rest assure you that there’s no conflicts or drama taking place or provoking any of what people seems to imply
Browser: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.204 Safari/534.16
Someone mod this guy informative please – we are just too quick to judge people by comments taken out of context, and yes, he’s right that we don’t see the entire story. It’s a bit arrogant on our part to presume that Jeff’s an asshole with no good reason – yeah, his comments may be inflammatory, but who knows what went down before? All I can see by clicking on the related links on the list that he is at least trying hard to help people resolve specific (technical) issues…
apt-get.
No hassles.
rpm -e JeffJohnson.rpm
if nothing else, that’s a forking cool headline for this article.