×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Fedora Project to Help Revitalize RPM

CowboyNeal posted more than 7 years ago | from the breathing-life-back-in dept.

Red Hat Software 334

-=Moridin=- writes "The Fedora Project has announced plans to revitalize RPM, the package manager used by many Linux distros. According to the announcement, 'Job #1 is to take the current RPM codebase and clean it up, and in doing so work with all the other people and groups who rely on RPM to build a first-rate upstream project.' For more information, see the the RPM web site and the new wiki-based RPM FAQ. The issue of RPM's upstream development has been a thorny issue ever since Jeff Johnson, the original maintainer of RPM, left Red Hat."

cancel ×
This is a preview of your comment

No Comment Title Entered

Anonymous Coward 1 minute ago

No Comment Entered

334 comments

I've got something to say! (-1, Offtopic)

jimstaf (1040206) | more than 7 years ago | (#17251946)

Maybe Red Hat should try on a different type of hat, like a brown hat. Make friends with Ubuntu! Also Debian! And lesser distributions. (Except for the one we use, dear reader, that one is the best of all. But it's not for the others, it is a whisper to be heard by the two of us, and the two of us alone.)

****THIS POSTER SUPPORTS PEACE IN THE GNU-CAMP***

Re:I've got something to say! (0)

Psychotria (953670) | more than 7 years ago | (#17252086)

I'm sorry, but exactly why is apt better than RPM? I've been hearing this argument for years and have, yet, to hear a convincing against RPM that doesn't involve elitist propaganda. Perhaps I'm missing something, but the main thing going against RPM is, sometimes, that it has RedHat associated with its name. Sure, RPM has bugs. So does apt. Sure, RPM could be improved. apt could be improved as well.

Re:I've got something to say! (1)

CapitalT (987101) | more than 7 years ago | (#17252306)

I tried installing Anjuta under Fedora, dependency hell came alive!!!

Re:I've got something to say! (1)

Psychotria (953670) | more than 7 years ago | (#17252368)

It's been a long time since I installed Anjuta under Fedora. But since I used it at one stage I guess it was OK. These days I use kdevelop (sorry Anjuta...)

Re:I've got something to say! (2, Informative)

davidkv (302725) | more than 7 years ago | (#17252412)

Did you try the most obvious way?

# yum install anjuta

Since Anjuta is in the Fedora Extras repository you might have to enable that first (i.e. add "--enablerepo=extras" to the previous yum command line)
Actually, I just tried it. It worked fine:

# yum install anjuta
-removed a lot of yum output-
 
Installed: anjuta.x86_64 1:2.0.2-11.fc6
Dependency Installed: anjuta-gdl.x86_64 0:0.6.1-5.fc6 autogen.x86_64 0:5.8.7-3.fc6 gnome-build.x86_64 0:0.1.3-11.fc6 graphviz.x86_64 0:2.8-5.fc6
Complete!

Re:I've got something to say! (4, Funny)

doti (966971) | more than 7 years ago | (#17252572)

If you hate dependency hell, you should try Slackware: no package dependency at all!
If you install a program and it doesn't run, check the console messages for the missing library (or just ask Google), and install it by hand.

Re:I've got something to say! (4, Interesting)

Fallingcow (213461) | more than 7 years ago | (#17252362)

A better comparison would be dpkg to RPM.

Apt is a program that automatically resolves dependencies and fetches packages to install, among other things, and it sits on top of a packaging system, like dpkg or even RPM.

As for dpkg vs RPM, I can only say that I've never had as many problems with dpkg as RPM, especially when installing 3rd-party (unofficial to my distro) packages. I've also had fewer instances of "dependency hell" with dpkg than with RPM, and it's always been easier to fix when I have, but that has more to do with the package and distro maintainers than it does with the packaging system.

Yum, a popular RPM-based manager (like apt, but specifically for RPM) was certainly a total piece of shit the last time I tried it. Took about 10 times as long to do anything as apt would have for the same operation, and I'm not exaggerating. Maybe it's gotten better, but as recently as a couple years ago it was a huge pain in the ass to use. Apt for RPM seemed pretty good at the time, but I've not used it since. I don't even bother with RPM-based distros anymore, as, of the three systems I've used (dpkg+APT, Gentoo's Portage, and RPM) it was, hands down, the worst. It may be better these days, but then again I've found the recent Fedora builds that I've tryed out make me feel restricted, while simultaneously making me do more work than a modern dpkg-based distro probably would. For some reason, distros based on Debian seem to pick better defaults for newly-installed packages than RPM-based ones do, though I don't know why that is.

For reference, I've mostly used Mandrake, Debian, Gentoo, and Ubuntu over the years, with lesser but non-trivial amounts of time spent with Red Hat/Fedora and Slackware, and a tiny bit of time with Suse, so any bias in my opinions on the matter may be tied to this, but I really have found that package management was only ever something that I dreaded dealing with when I was on Mandrake and Red Hat/Fedora, and I didn't work with Suse enough to form an opinion on it. Switching to mostly non-RPM distros a few years back made most of my package management woes disappear instantly.

Re:I've got something to say! (4, Informative)

ThePhilips (752041) | more than 7 years ago | (#17252452)

Worth to mention that apt now deprecated in favor of aptitude. Aptitude marks packages installed as part of dependency resolution and when you later remove the installed software, it would also remove all automatically installed packages.

Yum, a popular RPM-based manager (like apt, but specifically for RPM) was certainly a total piece of shit the last time I tried it.

+100. yum is dumbest and slowest tool I have ever seen. Especially when people try to pitch it against apt-get. And aptitude is ages ahead of any package management RedHat ever implemented.

Re:I've got something to say! (4, Interesting)

Constantine Evans (969815) | more than 7 years ago | (#17252790)

Apt is certainly not deprecated in favour of aptitude, as aptitude is a frontend to apt. One could argue that aptitude is superior to apt-get, but it should be noted that apt-get also has autoremoval, at least in Ubuntu. Try apt-get autoremove.

Personally, I have always used apt-get instead of aptitude.

Re:I've got something to say! (1)

Loconut1389 (455297) | more than 7 years ago | (#17252710)

RE: dependency hell- it seems to be a theme of fedora to add some obscure feature to a package that requires some obscure library, which depends on half a dozen others, each of which depends on several others, and so on.. The problem isn't RPM so much as it is the fedora mentality. While I like some of the more simplistic distrobutions that don't have the bigger is better mentality, there's something to having nearly every package imagineable already compiled for you. In a job where time is money, wasting time trying to get stuff to build is not in the cards. Ultimately I'm willing to trade that ease for having smaller installations- but there are some things where you want to uninstall some seemingly worthless package and find out that 90% of the system depends on it and no matter how hard you think, you can't make sense of why it is required at all- and that's because some core library depends on it for some obscure feature. I grew up on Slackware, and worked corporate on RedHat/Fedora, and there are advantages to both. Ideally, if I had the time, I'd compile and tweak everything and make things without all of the obscure features, but it is ultimately nice just to have things work without the fuss. Bottom line- dpkg/rpm each have their advantages, but dependency hell isn't an rpm problem (at least not anymore) but is a mindset issue.

Re:I've got something to say! (5, Informative)

simm1701 (835424) | more than 7 years ago | (#17252382)

apt and rpm don't compete - they are not even similar in purpose - each fill a different role and are cooperative ratehr than competative.

In fact apt can work quite well with rpms (the apt for rpm project springs to mind)

Maybe you are confusing the issue with .deb files and dpkg?

Personally I find .debs a slightly better package structure/file structure than rpms, and dpkg a more flexible and easier to use (getting both is quite an achievement I think) command line.

However those are personal preference and while not quite as contentious as emacs vs vi I'm sure they won't be solved any time soon.

You are right to bring up apt though - its apt that makes distros like ubuntu and debian shine. Or more importabltly its the repository organisation and discipline that sits behind apt. Without this organisation server side, the package files clearly listing each package which dependancies and conflicts, then the system is all but meaningless, and thats where apt for rpm has fallen down (not that it doesn't work, I've used it with several rpm respositories, its not bad but several times I've had to hand resolve large messy conflicts, I've had to do that on debian true, but only when doing really messy mixtures of sid sarge and woody all on one box during times of serious upheaval - gnome 1.4 to gnome 2 springs to mind)

Getting rpm and apt to run better together is not really about code changes or design changes to either apt or rpm (or the existing apt for rpm software). Its about making good rpm respositories and the package files that go with them - that would be a huge improvement for starters.

The main fustration people feel with rpm is dependancy resolving, being able to type rpm -i gcc-4.1.rpm and having it just work would be nice. People don't associate the same problem with the .deb system as they very rarely run somehting like dpkg -i gcc-4.1.deb - usually they will type apt-get install build-essentials or apt-get install gcc and it will "just work" (or they will use dselect but thats another topic)

I think that is what really colours peoples perceptions. They feel pain frequently when they use rpm (I know I do). They don't feel pain when using .deb files via apt (and lets face it - if you are sing a distro with .deb you are almost certainly using apt or dselect). This perception causes the view that rpm is crap and .deb/dpkg is far superior. The real problem is though not the package management tool at all. Its the repository management policy, something that debian and debian based projects has had right for a long time.

Re:I've got something to say! (2, Insightful)

cafard (666342) | more than 7 years ago | (#17252384)

I'm sorry, but exactly why is apt better than RPM? I've been hearing this argument for years and have, yet, to hear a convincing against RPM that doesn't involve elitist propaganda.

As you don't seem to know the difference between apt and dpkg, it's no wonder that you don't have a clue as to how *dpkg* compares to rpm. You're shouting against elitist propaganda, yet you failed to even look the slightliest into the subject yourself...

Re:I've got something to say! (4, Informative)

Jaruzel (804522) | more than 7 years ago | (#17252426)

I am not a Linux user, but I am a software developer, and it seems to me, that ALL the distros could benefit from a universal package manager, that was compatible with all the major package types?

Or do I completely mis-understand how things work under linux ?

-Jar.

Re:I've got something to say! (2, Interesting)

Bastard of Subhumani (827601) | more than 7 years ago | (#17252470)

I agree. Ideally with an X in the name somewhere.

Re:I've got something to say! (1)

gnarlin (696263) | more than 7 years ago | (#17252552)

I agree. Ideally with an X in the name somewhere.
No, no, no! It has to be a Y! Anyone with a small amount of common sense knows that Y is better the X, let alone A or B or possibly even C!

Re:I've got something to say! (2, Funny)

pato101 (851725) | more than 7 years ago | (#17252764)

Anyone with a small amount of common sense knows that Y is better the X

I should look for Y-movies

Re:I've got something to say! (1)

Antique Geekmeister (740220) | more than 7 years ago | (#17252482)

It's not physically possible to resolve management of all the major package types. The reporting of necessary components, and of requirements, and of how new replacing local configuration files are done, post-execution scripting, restarting of active services after replacement, how package components are provided, etc., are all wildly different.

Re:I've got something to say! (2, Interesting)

Jaruzel (804522) | more than 7 years ago | (#17252522)

OK, I hear what you are saying... but if MS managed it with MSI (which after 4 years now de-facto for packaging), then surely the Linux community can do it too ?

*Throws down gauntlet*

-Jar.

Re:I've got something to say! (4, Interesting)

Constantine Evans (969815) | more than 7 years ago | (#17252900)

The requirements for packaging for Windows is fundamentally different than for Linux. The differences between distributions can be extremely large as Geekmeister mentioned, much larger than differences between versions of Windows, and there are innumerable places where things could vary.

How would a universal package for apache, for example, know how to set up starting and stopping the service? Different distributions put the scripts in different places, and use different formats and conventions for the scripts. In future versions of Ubuntu, the scripts won't even be shell scripts, and will be handled in a fundamentally different way. The meaning of installed dependencies is also different. USE flags in Gentoo would have to be considered, for example.

In order to make a package format that would work for everyone, the system would have to resemble autoconf, and check for every imaginable aspect of each system. Like the configure scripts of autoconf, doing so would make installation absurdly slow. The package format would also have to include many versions of files with the same purpose, making the packages very large.

In short, perhaps such a package format could be made, but it would be inferior to the formats that already exist. In fact, this is the case. Formats like autopackage and klik exist, but they are markedly inferior in terms of stability, reliability, elegance, and usefulness for non-trivial packaging requirements, and usually only used for end-user applications with few dependencies.

Re:I've got something to say! (0, Redundant)

Constantine Evans (969815) | more than 7 years ago | (#17252948)

Oh dear, I shouldn't post at four in the morning. I would point out the tortuous and at times obviously incorrect grammar I used in the comment, but would likely only make further errors.

Re:I've got something to say! (0)

Anonymous Coward | more than 7 years ago | (#17252744)

It should still be possible to define a high-level generic package instruction set that the distro implements using its own particular methods. (Umm, I think.) It would be a major undertaking, but well worth it for the benefit of getting a unified package format, and much better than LSB's copout of just mandating crappy RPM because it's the most popular.

Re:I've got something to say! (1)

xtracto (837672) | more than 7 years ago | (#17252578)

I would love if, instead of trying to fix RPM people started to use the excellent Autopackage [autopackage.org] package manager. It has been the only package manager so far, to allow me to install some program /without/ root privileges. Also, it is the only REAL click & play installing program.

For you, that are a software developer, I would really recommend autopackage. The only problem I have (for now) is the need to open the terminal to run the .package script (although that should be fixed by the gnome and kde people).

Re:I've got something to say! (1, Interesting)

Anonymous Coward | more than 7 years ago | (#17252680)

Zero-install is another similar click-and-play system: http://zero-install.sourceforge.net/ [sourceforge.net] Klik is another: http://klik.atekon.de/ [atekon.de] Each has their ups and downs.

Also you should be able to run the scripts from a file explorer, or set up a "xterm -e" shortcut or something. (can't say for certain since I use the CLI much of the time.)

Anyhow, personally as someone who likes having a fair bit of control over what's going on in their system, I'm not too fond of any of these automagic systems though. I much prefer when software installs in my regular package management system. I see their use in certain environments but if a program was available ONLY via Autopackage or whatever, I probably wouldn't use it. I don't expect I'm alone.

To the GP: this is somewhat of a problem with Linux and standards; getting people to agree on "single unified" anything is basically impossible. It is a strength at times, but it means that you can't really count on something in one person's Linux system being available on another's, be it package management tools or otherwise.

Re:I've got something to say! (0)

Anonymous Coward | more than 7 years ago | (#17252734)

Yes! But which one. Things work by survival of the fittest on Linux. There are a multitude of methods for everything. This is both its strength and its weakness. Rpm has been weakened by the fact that Suse, Mandriva and redhat although using the same 'installer' (rpm) dont adhere to the same standards for their packages .. different names, different install loacations etc. IMHO most Linuxers are happy to put up with the diversity because they know that if they work in a collaborative/competitive manner eventually the winner will be self evident. This of course is very differnet to the top down approach you get with a software dictatorship. which is better? .. you decide.

Re:I've got something to say! (3, Interesting)

mpcooke3 (306161) | more than 7 years ago | (#17252804)

For that task a universal package format would be better than a universal package manager.

Unfortunately at the moment most packages don't just contain files and meta data they also have this hacky distro-specific bit that actually runs commands directly on the system. Which is really quite crap.

For example a sane package format might have something like this to install a font.

Font: Moo
Info: truetype, shared
File: /package/moo.tft
This would allow any system that supports truetype fonts to install it how it wants.

But you are more likely to see something like this:

ttmkfdir -d %{prefix}/%{name} \
        -o %{prefix}/%{name}/fonts.scale
    umask 133
/usr/X11R6/bin/mkfontdir %{prefix}/%{name}
/usr/sbin/chkfontpath -q -a %{prefix}/%{name}
    [ -x /usr/bin/fc-cache ] && /usr/bin/fc-cache
Which is actually a set of commands to install the font on a system with a particular X based font system and directory layout.

Re:I've got something to say! (2)

ztransform (929641) | more than 7 years ago | (#17252190)

I welcome this increased interest and activity in the package format. Recently I was trying to build RPMs for the second time, and just found it a difficult task. I have the authoritative book on the subject, "Maximum RPM", however that book was written in 1997 - long before RPM 4.0 came out upon which all of today's distributions rely.

So I would like to see some improved documentation efforts on using the package format if it isn't to languish!

I don't think this article is meant to be a deb vs rpm vs pkg discussion, that has been done many times before..

First improve the UI (3, Insightful)

MichaelSmith (789609) | more than 7 years ago | (#17251966)

RPM has about 30 options you can enter from the command line and if you don't get the command right it just echoes the list back at you, as if that is any help. Most shell commands try to help by providing a few simple examples.

Package managers, like revision control systems have complex functions and their help systems need to do more than just say here are the options you can use

You Have It All Wrong (4, Insightful)

eklitzke (873155) | more than 7 years ago | (#17252044)

I have read through the (very few so far) messages in the new mailing list, and based on the discussion there as well as the similar discussions that have taken place in the past, I think that the general consensus is that users should not be using the rpm command line tool for package management. Rpm (the CLI tool, not the format) should be like dpkg in the Debian world -- a very low level tool for package management. If you want something user friendly to use at the command line, use yum, apt-rpm, yast, or whatever other high level tool floats your boat.

In fact, to a large degree it is more important that better rpm bindings (especially for python) be written. This is how yum works -- it is able to do all of this using the python bindings, instead of calling the rpm tool itself. Calling rpm -i foo.rpm should really be a last resort option. (For those that are curious, yum already has a --localinstall option for doing this.)

Re:You Have It All Wrong (1)

MichaelSmith (789609) | more than 7 years ago | (#17252118)

users should not be using the rpm command line tool for package management.

Repository management works well in pkgsrc with pkg_add, pkg_del, pkg_info, etc. There is no need to add an apt or yum lookalike over the top, and the interface is simple and intuitive.

The situation with yum seems to be that rpm is in the THB (too hard basket) and they are writing a wrapper to hide the problem.

Re:You Have It All Wrong (4, Informative)

davidkv (302725) | more than 7 years ago | (#17252206)

The situation with yum seems to be that rpm is in the THB (too hard basket) and they are writing a wrapper to hide the problem.
rpm has no concept of repositories. It's main task is to install/remove/query/verify/etc rpm packages.
Yum and others handles repositories and dependency solving.

Re:You Have It All Wrong (0, Flamebait)

mrchaotica (681592) | more than 7 years ago | (#17252546)

If you want something user friendly to use at the command line, use yum, apt-rpm, yast, or whatever other high level tool floats your boat.

If you're going to be using apt anyway, what's the point? Why not just give the damn thing up and start using dpkg? Is it not-invented-here syndrome at Red Hat, or pure stupidity, or what?

If you want something user friendly ... (1, Insightful)

cyclomedia (882859) | more than 7 years ago | (#17252682)

... it shouldnt BE at the command line.

"installing packages" and "resolving dependencies" should be done by turbo nutter linux admins(though i'd like to be one myself one day). "Installing a program" is what non-geeks do, and they need a happy shiney add/remove programs applet. Oh and one that explains what all the apps with 4 letter acronyms prefixed in k or x actually DO would be handy too. Even installing GCC and an IDE should be possible with a couple of clicks of the mouse.

I have a... (5, Funny)

A beautiful mind (821714) | more than 7 years ago | (#17251968)

...good solution for them. Or should I call it apt?

apt is not an alternative to rpm (1)

Freggy (825249) | more than 7 years ago | (#17251986)

apt has nothing to do with rpm. If you search an alternative for rpm, there is dpkg which uses the deb format. apt on the other hand, is an alternative to yum, urpmi, yast, smart,...

Re:I have a... (0)

Anonymous Coward | more than 7 years ago | (#17251990)

apt is akin to a yum OR up2date.. if you want to compare RPM.. compare it to a .deb (OR dpkg)

- thewalled

Re:I have a... (1)

A beautiful mind (821714) | more than 7 years ago | (#17252016)

Sorry people. I thought the humour impaired get out of the woodwork at a much later date. I'll go away in shame. Yeah, I did not know that .deb is the packaging format, after all I only use debian on my desktop for more than half of a decade...

Re:I have a... (0)

Anonymous Coward | more than 7 years ago | (#17252030)

I though it was really funny.
Just wanted you to know that.

Re:I have a... (3, Funny)

Jesus_666 (702802) | more than 7 years ago | (#17252178)

I am forever indebted to you for your apt remark. I am sure that a common standard will emerge, which we can all use to install Free Pacman clones and video game ports with a single klik. After all a smart package manager is a recipe for success.


...I shouldn't post when tired. I tend to emulate Mookie, badly.

Re:I have a... (1)

geschild (43455) | more than 7 years ago | (#17252372)

I am forever indebted to you for your apt remark. I am sure that a common standard will emerge, which we can all use to install Free Pacman clones and video game ports with a single klik. After all a smart package manager is a recipe for success.
yummie! :P

Re:I have a... (1)

daBass (56811) | more than 7 years ago | (#17252634)

apt and rpm are different things. apt is a package manager for - mostly - the .deb package format.

rpm is both the file format and *a* tool to work with them, just like you can use apt to install a single, downloaded .deb. But in the Fedora world, "yum" compares to apt as a package manager and performs pretty much the same role and does it pretty much as well as apt does.

Another major RPM distro is Suse. In their world, YAST compares to apt.

Code cleanup... (5, Funny)

nighty5 (615965) | more than 7 years ago | (#17251984)

Job #1 is to take the current RPM codebase and clean it up.......

Easy job, this took care of it.... :

rm -rf /var/lib/rpm

Has RPM improved at all? (3, Interesting)

PhrostyMcByte (589271) | more than 7 years ago | (#17251994)

It's been a *long* time since I've used an RPM-based distro. Do RPMs still have a confusing dependancy circle hell? It was perhaps the most frustrating and poorly handled thing about installing software on really any OS I've tried.

Obligatory.... (1)

zanderredux (564003) | more than 7 years ago | (#17252006)

My way out of dependency hell as to pick a source-based distros, like Gentoo.

Now I have compile time hell, but that's quite more manageable than crazy RPMs all over the place.

Re:Obligatory.... (0)

Anonymous Coward | more than 7 years ago | (#17252026)

.deb?

Re:Obligatory.... (1)

Fallingcow (213461) | more than 7 years ago | (#17252422)

Exactly.

My experience with RPM hell is exactly what made compiling everything in Gentoo seem like a reasonable alternative. It was that bad.

Now I'm on Ubuntu, and much happier than I was even with Gentoo and Debian, but I'd still take either of those over Red Hat. *shudder* I like to be excited when installing a new pacakge, not terrified!

Re:Has RPM improved at all? (1)

Viraptor (898832) | more than 7 years ago | (#17252198)

Should anything be improved about RPM at all?
It's good as it is. Especially with possibility to depend on library version instead of package (if used wisely by packager). It's fast as hell and packages are easier to make than .debs (been there, done that).
But I won't be ever using rpm based distro if I can. I've seen lately CentOS 4 and basically it looks like my old RH5. Every time I need some package, I have to look for yet another repository / single package on google, because official ones don't think it's nice to include stable mysql5, dar, jabberd, or any other package you want.
I don't see any problems with rpms as files. But as system packages? NO! I'd rather wait 3 times longer every run, until apt-get updates it's database, or just schedule packages info update for midnight for emerge.
Stats that do say something:
  • 3 day old CentOS - 2 custom packages and 5 new repos for basic system - and it's not complete yet
  • 2 year old ubuntu - 1 repo for author's own testing versions of 1 package
  • 2 year old gentoo - 0 repos needed

Lord forgive me for this, but... (0)

Anonymous Coward | more than 7 years ago | (#17252328)

Do RPMs still have a confusing dependancy circle hell?


1996 called. It wants its argument back.

Re:Has RPM improved at all? (0)

Anonymous Coward | more than 7 years ago | (#17252404)

Do RPMs still have a confusing dependancy circle hell?

Some (most?) distros has higer level tools taking care of it, like Mandrivas urpmi which handles all
dependancies and only uses rpm to unpack the files (roughly speaking). SUSEs yast/rug does something
similar I think.

- Peder

Re:Has RPM improved at all? (0)

Anonymous Coward | more than 7 years ago | (#17252436)

How, pray tell, does any other packaging system magically remove the dependency problem?

rpm is just a low-level frontend to the RPM database (or system, or whatever you want to call it). dpkg is the same. If you try to dpkg --install a .deb and it depends on something you don't have, you will run into the same problems.

The problem isn't RPM, the problem is a sheer misunderstanding of what they are doing.

Re:Has RPM improved at all? (2, Insightful)

Antique Geekmeister (740220) | more than 7 years ago | (#17252462)

Every dependency system has that, including RPM, pkg, apt, and even Perl's CPAN setup. Resolving dependencies like that is not something bare RPM can do on its own: it needs some sort of knowledge of the various places you might pull software from and resolve the discrepancies, like Yum attempts to do, on top of RPM. Different programs all use common utilities, like modutils and tar and glibc and OpenSSL and popular Perl libraries: updating one of them may mean needing to update the others.

The people who think this is easy to solve are the people who are happy to update 15 packages to fix one program that has a dependency it doesn't even really need on an upgraded version of another, trivial package, and then are surprised when they destabilize their whole OS because the other 1500 packages have never been tested with those new 15.

misread (3, Funny)

lovebyte (81275) | more than 7 years ago | (#17251998)

For some reason, I had misread "...a thorny issue ever since Jeff Johnson, the original maintainer of RPM, left Red Hat." as Horny issue. So I did a google image search [google.com] on Jeff Johnson, and I can confirm it was horny (in a homo-erotic way).

rpm -uvh apt yum (0, Interesting)

Anonymous Coward | more than 7 years ago | (#17252022)

children under 7 must be accompanied by an adult
each one is able to support more than 14 tons
and you can really see how big it is
and together they stretch for almost 1/4 mile
2.5 times the height of mount everest (the highest point on earth)
this super-imposed outline will give you an idea of its size
it's 370 miles wide at the base
and over 100 feet in length
but that's 40 miles from the opposite rim
and over 75,000 feet at the top
and that figure increases every year
Rugged, easy-to-clean plastic laminates are used on all the walls and surfaces
and that figure increases every year
the floors on which you are walking
the floors the floors on which you are walking
the floors on the floors on the floors on which you are walking
the floors on the floors on the floors on the floors on which you are walking
children under 7 must be accompanied by an adult

Its a bit late (1, Insightful)

Timesprout (579035) | more than 7 years ago | (#17252048)

RPM was one of the reasons I gave up on Redhat as a distro years ago. I got sick of it choking on dependencies and ending up with half an installation. Compared to RPM APT and its front ends are a dream. Maybe Redhat should admit that RPM did not become the dominant player they envisaged because it simply was not good enough and that having so many issues with your package manager in 2006 is a very serious failing if you expect Linux to be adopted by the masses.

Re:Its a bit late (1)

davidkv (302725) | more than 7 years ago | (#17252132)

As a previous poster has already pointed out, apt is not comparable to rpm. Apt is comparable to yum, apt-rpm, yast etc., they take care of the dependencies for you. It's been like that for quite a few years now.

rpm is two things: a package format (.rpm) and a command line tool. Sort of like .deb and dpkg.

Re:Its a bit late (1)

whoop (194) | more than 7 years ago | (#17252758)

Man, Solitaire is way cooler than apt or rpm! They need to just get rid of everything in Linux that isn't related to Solitaire. Only then can it really compete on the desktop.

Anti-FUD Post (5, Insightful)

pembo13 (770295) | more than 7 years ago | (#17252062)

1) RPM is not equivalent to APT , or Smart
2) RPM is not responsible for _solving_ deps
3) RPM is both a file format and a program to use the format
4) RPM is _not_ a package manager
5) RPM has little to do with how much you may love your Debian distro of choice (unless you made that choice solely on the file format of the packages used by your distro)
6) The existence and use of RPM does not work against your distro of choice, and so there is no reason to fear/hate it

Pro-FUD Post (1)

archeopterix (594938) | more than 7 years ago | (#17252138)

While I do not disagree with you, there's still an important question, namely: "Why do we need RPM for?" and once you answer that, there's a tougher one: "Does RPM have the potential to do it better than the existing solution(s)?". If not, then it should die - people responsible for packaging apps will have one less format to take care of.

Re:Pro-FUD Post (1)

Psychotria (953670) | more than 7 years ago | (#17252194)

Or, another way to look at it: "Does XXX have the potential to do better than RPM?". If not, then they should die--people responsible for packaging apps will have one less format to take care of.

Re:Pro-FUD Post (1)

archeopterix (594938) | more than 7 years ago | (#17252658)

Or, another way to look at it: "Does XXX have the potential to do better than RPM?". If not, then they should die--people responsible for packaging apps will have one less format to take care of.
That would be the case if RPM was the top one ahead in at least one of {popularity, quality}. This is not the case.

Re:Pro-FUD Post (1)

/ASCII (86998) | more than 7 years ago | (#17252848)

RPM is the package format required by the LSB. That alone makes it pretty vital for RPM not to die, at least as long as LSB isn't changed.

RPM is used by RedHat, Suse/Novell, Mandriva and Centos, some of the most popular distributions. It's not really known how large a marketshare the popular distros have, but I think it's fair to say that RPM is roughly comparably in popularity to dpkg.

Re:Pro-FUD Post (1)

pembo13 (770295) | more than 7 years ago | (#17252242)

I honestly don't care what file format the packages come in. So I have no answer as to "Why do we need RPM for?" but I would also ask "Why do we need DEB for?"

Re:Anti-FUD Post (1)

pembo13 (770295) | more than 7 years ago | (#17252214)

Number 4 is wrong - I was trying to communicate that it was not for resolving dependancies.

Good. (3, Interesting)

isometrick (817436) | more than 7 years ago | (#17252072)

About 1 in 10 times I try to update something in Fedora, I end up having to:

# rpm --rebuilddb
# yum clean all
# yum <whatever I was doing before>
Not to mention the inevitable lockup when the tray updater is running or the segfaults when I try to interrupt yum during an operation I don't want to finish. Even when it finally works, it takes yum over a minute just to download stuff and work out dependencies before installing or updating.

Re:Good. (1)

Schraegstrichpunkt (931443) | more than 7 years ago | (#17252128)

It's a trade-off. Debian's flat text-based database means that it essentially does a --rebuilddb, and stores the resulting database in RAM, nearly every time you invoke the package manager.

Re:Good. (1)

Fallingcow (213461) | more than 7 years ago | (#17252438)

Uh....

So? I mean, unless you've got crazy-small amounts of ram. It's not like it slows it down any, as far as I can tell.

Re:Good. (1)

ThePhilips (752041) | more than 7 years ago | (#17252536)

But why then apt-get works faster than yum? Earlier versions of apt were written I think in Perl (yum is written in Python) but still yum (implemented after apt) seemed like step in wrong direction.

Also, yum is even slower than aptitude and aptitude does one hell of checks and tests - as well as pile of algorithms to solve dependency problems. (Never living with four concurrent repositories was easier in my life.)

That really surprised me when I found out that Debian's apt doesn't use database for its repository - and still worked faster than yum. And the mundane rebuilding of database one has to do for rpm (stuck with us from times of rpm database upgrade) is just not needed with apt.

P.S. Raw dpkg is slower than rpm precisely because rpm uses fast database, while dpkg has to update huge text file.

Re:Good. (1)

drgonzo59 (747139) | more than 7 years ago | (#17252248)

I had to do that too until I just switched to Ubuntu then I could just focus on my work. I don't even miss all the 1000+1 KDE options and all the flashy menu effects, the Gnome defaults and dpkg/apt repositories just work for me. It was sort of like growing up (or getting lazy). When I was a Linux noob I liked to play with my options, customize my KDE desktop and choose between a 100 different screen savers. I even ran Gentoo for a while there, compiled for 2 days straight! Now, I just need my work done and don't care if my menus have shadows or fade in and out. I just want sensible defaults.


As for RPM itself, there is nothing wrong with it. Feature-wise it probably better then dpkg, but the big difference is the _repositories_. Yes, Debian and therefore Ubuntu have very well maintained repositories. I did not have any dependency hell in Ubuntu (yet!?), but I remember having it with SuSE, Fedora, Mandrake and Red Hat. So I am not blaming RPM, but rather Redhat and SuSE.

Re:Good. (1)

Fallingcow (213461) | more than 7 years ago | (#17252456)

Haha, I'm a Gentoo->Ubuntu convert.

The first time I tried Ubuntu (OK, honestly, the first time I tried the one from 2 releases ago, 'cuz the 3rd release back sucked) it was like someone had installed Gentoo, then spent a few days configuring 99.9% of everything exactly the way that I wanted it, including all the shit that I never had the time/patience to figure out how to do on my own.

Wonderful. Perfection. It'll take one hell of a distro (or one hell of a screwup on Ubuntu's part) to get me away from it.

Re:Good. (1)

Antique Geekmeister (740220) | more than 7 years ago | (#17252560)

Older versions of Yum and RPM didn't cleanly handle any RPM operations done at the same time as Yum: this tended to corrupt the database. That said, there are also useful updates to Yum and toe the underlying RPM and database tools you probably want to make sure are updated. And if you're still running Fedoare Core 1 or Fedora Core 2, you're getting what you deserve: do a clean update and I suspect you'll be very pleased with the improvement.

Fedora Project to Help Revitalize RPM (4, Funny)

SeaFox (739806) | more than 7 years ago | (#17252112)

So I guess they're really going to "Rev up" the RPM's?

[dodging tomatoes]

While they're at it (2, Insightful)

Psychotria (953670) | more than 7 years ago | (#17252160)

this is, perhaps, offtopic, but the biggest gripe I have with Fedora is the software updater. I dunno about other people, but I'm uninterested in updates to stuff I don't have installed.

wow (0)

Anonymous Coward | more than 7 years ago | (#17252270)

I recently gave Fedora Core 6 a spin, and I won't go into detail, but its pure crap.
The decision to bring back RPM just goes to show what good work they are doing.

Personally I think FreeBSD's port system is the best

But the larger point to all this is the lack of cooperation and standards in the open source community.

Re:wow (2, Insightful)

davidkv (302725) | more than 7 years ago | (#17252338)

The decision to bring back RPM just goes to show what good work they are doing.
You do realize that rpm is one of the most used package formats in the Linux world, right?
They're not trying to "bring it back", but to "make it better".

But the larger point to all this is the lack of cooperation and standards in the open source community.
RPM is in the LSB, http://en.wikipedia.org/wiki/Linux_Standard_Base [wikipedia.org]

Btw. I'm writing this on a FC6 box, no problems here :)

Re:wow (1)

beheaderaswp (549877) | more than 7 years ago | (#17252454)

Just as an aside. I may have just gotten way too deep into the Redhat camp... however....

RPM for all it's frustrations is just dandy with an apt or yum frontend. The other point is that most people running RH are running servers. We're geeks anyway, don't usually go outside of the core software set, and use Redhat because of the Q&A testing.

RPM kinda sucks for resolving dependencies, assuming you don't know what they are.

Aside from Debian, RHE3/4 is the only game going in my book. And I can't tell the president of a company that Debian is supported by a company they have heard of...

I've got 36 internet facing servers I manage. Next year it could be as high as 200. If nothing else RPM presents a known quantity which represents a certain level of security.

Re:wow (1)

ThePhilips (752041) | more than 7 years ago | (#17252602)

As soon as you would try to customize installation you would find that it is not as trivial as it might be.

If you do not customize your distro - then it's fine. If you customize rarely - yum would still do fine job.

But if you have too have some latest version (e.g. I need to have latest gcc installed, so that I can test the compiler) rpm/yum become major pain in the ass. E.g. new version needs new library or new version of library and the library has it's own dependencies. Aptitude now handles everything for me nicely - yum in past was barely capable of conflicting packages handling of several repositories. Not to mention that it did that very very slowly.

And do not forget that LD_KERNEL=2.2.5 - or rpm would hang yum. You would have to kill -9 it and then clean/rebuild repository. Or it doesn't hang anymore? Or RedHat set the variable system-wide? Or RedHat finally got down to earth to fix their beloved futexes? [/sarcams]

Re:wow (2, Informative)

Antique Geekmeister (740220) | more than 7 years ago | (#17252660)

Yum was slow for solid technical reasons: the repository information was inefficient, there weren't enough fast RPM mirrors, and the db4 database behind RPM was painful.

Fortunately, db4 seems to be dead: it's been replaced in such lightweight applications by SQLite, there are a lot more and faster mirrors available, and the repository information is stored more effiently, or at least handles a lot faster with faster modern machines. So it's overall gotten a lot better: take a look at the versions of the past year or two to see how good it's gotten.

Forgive me, but... (2, Interesting)

OneSmartFellow (716217) | more than 7 years ago | (#17252314)

RPM is really only a packaging standard (ignoring the rpm binary, of course). It seems to me the real issue is not the RPM standard itself, rather the ease of abuse/misuse. In this regard I suggest that the rpm binary be enhanced so that package production is simpler and less error prone. In particular the identification of dependencies. I am continually fighting with various package managers because someone/something has decided that (as an example) when I want to install libusb I must also want to install some GTK based application as well.

Fedora core 6 sucks (0)

Anonymous Coward | more than 7 years ago | (#17252354)

I installed it twice on my pretty standard Dell 510m notebook. The first time, removing some components marked as "optional" made the graphical interface not function at all. The second time, adding some components (using the graphical tool) crashed my disk (on the next boot the filesystem was so full of errors that I'm simply going to format it again. Before this, I had a Fedora core 2, which worked flawlessly for 2 years. Like a fool, I wanted to "upgrade".

The point is new approach (1)

Karaman (873136) | more than 7 years ago | (#17252446)

The point we all fail to comprehend is that RH finally recognizes the fall of RPM. And does it in the most remarkable way by saying: We will make it better! Thus it makes all comments against RPM stupid, because they dont care about now, they care about the future. I have made a distro for my community with even simpler package system than slackware. Pure binaries in tar.gz, no install scripts whatsoever only additional setup scripts for some packages which are entirely up to the user to decide whether to use them or not. But now I vote for RPM, because we need a common binary packages system. But we need a simple one.

Here is an ideal package system of a distro according to me
1. dependencies should not be mandatory for the user (especially a root one)

      you dont have and need at least x.y.z version of package name XXX to continue, do you want to continue?

      should display to you instead of

      you dont have x.y.z version of a package XXX to continue, game over!

2. every package must have have its own files. "cross-linked" files between packages should only be symbolic links
3. every package should have versioning support. You install 0.1.1 but retain 0.1.0, so that you can revert if you need to.
      the option should be voluntary.
4. users should have the opportunity to create binary packages the simpler way: like checkinstall or git (the other git)
5. users should have an opportunity to create source install packages, like the install script for xfce
6. the option to update packages online/from designated source is mandatory.

A packages system should be simple. I dont mean creating a packages should be a few clicks away! I mean simple tools to create specific tasks the best way:

1. creating a package
2. installing a package
3. re-installing a package
4. removing a package
5. reverting to an old version
6. updating to a new version

and simple options! One needs complex options to do many things. A package creator/installer does simple things!

Re:The point is new approach (0)

Anonymous Coward | more than 7 years ago | (#17252540)

But none of that is in RPMs mandate. That's what tools that wrap RPM like yum or yast are for. Fedora / RHEL / CentOS/ SuSE etc. already have all of that.

Re:The point is new approach (1)

mrchaotica (681592) | more than 7 years ago | (#17252630)

The point we all fail to comprehend is that RH finally recognizes the fall of RPM. And does it in the most remarkable way by saying: We will make it better! Thus it makes all comments against RPM stupid, because they dont care about now, they care about the future.

On the contrary, it makes RedHat stupid, because the reasonable thing to do would be to take the good package management system that already exists -- namely, dpkg and apt -- and just ditch RPM in favor of it!

dependencies should not be mandatory for the user (especially a root one)

What good would that do? If you don't have the dependencies the program isn't going to work, and letting you install the package anyway won't change that!

By the way, apt and Portage come a Hell of a lot closer to your "ideal package system" than RPM does. Maybe you should switch to a less brain-dead distro.

How can anyone take RPM seriously? (1, Insightful)

Anonymous Coward | more than 7 years ago | (#17252566)

How can anyone trust RPM with his system when the main developer finds it is perfectly ok [redhat.com] to leave the RPM database in an inconsistent state if an error occurs? I thought it was a joke when I first read this bug report, but apparently it is not.

We don't need an rpm update (1)

realnowhereman (263389) | more than 7 years ago | (#17252590)

Why bother? dpkg/deb is maintained and does everything that rpm does. These days we all use frontends to rpm/dpkg (yum/apt) anyway, so what does it matter what the archive format is?

Isn't this like picking between gzip and bzip? Just pick the one that suits you better. The choice in this case is between the unmaintained rpm and the maintained dpkg. If it really bothers redhat, just fork dpkg and call it rpm. As if it makes any difference at all to end users.

What magical feature are they going to add to new-rpm that is going to make it better than dpkg?

Re:We don't need an rpm update (1)

delire (809063) | more than 7 years ago | (#17252858)

Agreed. The massive task of switching to dpkg shouldn't be underestimated, but it seems like the decision to not do this has more to do with a fear of losing identity than anything else, as though it were a 'spiritual concession' of some sort.

Any good distro differentiates itself through offering a quality user experience. Look at the massively popular Ubuntu and the rising of Xandros. Both are Debian based distributions but favoured for different reasons. They are unique yet on an architectural level they have a common heritage. Fedora should raise the bar and choose the best tools for the job. I can't count the number of times I've heard someone say they tried Fedora but gave up because of package dependency / conflict resolution problems.

Version control (0)

Anonymous Conrad (600139) | more than 7 years ago | (#17252608)

From the new site [rpm.org]:

The varous[sic] source code managed by rpm.org is held in a series of mercurial repositories.
Now I'm all for innovation, when appropriate - but if you want people to pitch into a new project why pick a fringe VCS? Why not pick something standard that everyone will have like subversion? mercurial didn't even make it into base Fedora.

Just switch to apt (3, Interesting)

delire (809063) | more than 7 years ago | (#17252730)

I've seen enough loyal Fedora/RH users using apt-rpm on their own systems to indicate that a complete transition, ie. replacing rpm's with debs may not be so shocking for a community of $RPMDISTRO users.

The task of migrating rpm packages over to the deb format would certainly be a massive undertaking, but the popularity and reputation of the Debian packaging system shouldn't be ignored. With the rapid growth of Ubuntu, the interest from historically Linux unfriendly third-parties in releasing packages in a Debian format is hard to ignore. Fedora could benefit from the growth of Debian based distributions, getting a lead on other rpm distros that choose to stick with a troubled package format. They could do what any good distro does these days: focus on offering a quality user experience, choosing the best technology available to fulfill these ends. Package conflict / dependency resolution is a typical reason people turn away from an rpm based distro, even Linux altogether.

Re:Just switch to apt (0)

Anonymous Coward | more than 7 years ago | (#17252910)

but the popularity and reputation of the Debian packaging system shouldn't be ignored
Because it's not like RPM has a good pedigree and installed user base either?

There are plenty of tools that sort out RPM dependencies for you, like yum yast and urpmi. That's not an issue anymore.

What is a Package Manager for? (1)

sasha328 (203458) | more than 7 years ago | (#17252880)

I've read through most of the comments in this thread (and many more over the years) comparing RPM with Debs and ports and others.
But I still have a question that I haven't been able to get a satisfactory answer to. I may have missed it though, so bear with me while I articulate my thoughts.
Why all the fuss about a package manger? I spend most of my time on Windows and OSX, and only occasionally (when doing some dev work) on Fedora 5. Almost all installations on OSX and Windows are self sufficient. For those who remember Win95 and 98 or OS7 and OS8 will no doubt remember the problems with DLL and Extention conflicts or missing. Nowadays, almost all applications store their dependecy files in their own folders. Yes it leads to bloat, but at least I don't break App1 when I install App2 because of a version conflict in some module. Besides, who's still running Linux on a 4GB drive and installing multiple applications these days?
Is there anything like this on Linux (now or in the future)? I reckon, if a similar approach is take, then dependencies will no longer be an issue on Linux, and applications can be more portable.
This approach obviously does not preclude the use of common operating system libraries.
Load More Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Sign up for Slashdot Newsletters
Create a Slashdot Account

Loading...