Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I had this question asked on stackoverflow, but it was closed "as not a real question".

So i decided to remove all rumbling and post that question here, assuming that this stackexchange is for "conceptual questions about software development"

The main question is in the title: Why rpm and deb package formats are not unified into one standard system?

I think that this is very important step, which we need to do, because such format fragmentation is bad, and not only for independant software developers, but for other tools and languages, who reinventing own packaging, like vim, python, ruby, nodejs, php, eclipse and many many others

share|improve this question
    
Why isn't there one GUI ... because it's Linux, bascially. –  Alan B Aug 15 '12 at 13:54
5  
Obligatory xkcd. –  Karl Bielefeldt Aug 15 '12 at 15:06
    
@karl - that was the one I was searching for –  Martin Beckett Aug 15 '12 at 15:43
add comment

3 Answers

up vote 6 down vote accepted

Because that would create anther standard, and you would still have to support both rpm and deb.

The natural way is for one to show that it is so superior that people stop using the other.

share|improve this answer
    
i meant not only standard as a paper draft, but standard unified system.(updated the question) >"stop using the other" this is impossible - both redhat-based, and debian-based distributions has a huge and strong communities, the only way i see is redhat-debian agreement, which will result in patching rpm and deb to support each other formats i am currenty seeing only one reason not to do it - vendor locking –  retif Aug 15 '12 at 13:25
    
You could have a single tool that did both but that doesn't really do much. Since both systems handle both there isn't really a problem, it's like having both jpg and png on a web page. I wouldn't underestimate the willingness to switch to a new format - look at how many new vidoe containers we have –  Martin Beckett Aug 15 '12 at 14:06
add comment

This is because DEB and RPM are essentially different ways of doing things and could be seen as a sort of disagreement resulting in two separate systems.

Here is an interesting discussion on the matter: http://unix.stackexchange.com/questions/634/what-are-the-pros-cons-of-deb-vs-rpm

There is an attempt to standardize on package formats in the Linux Standards Base project, however it seems that Debian was excluded from giving input and a subset of RPM was chosen as the package format. From wikipedia:

Choice of RPM package format

The LSB specifies that software packages should either be delivered as an LSB-compliant installer[11], or (preferably) be delivered in a restricted form of the RPM Package Manager format.[12]

This choice of package format precludes the use of the many other, existing package formats not compatible with RPM. To address this, the standard does not dictate what package format the system must use for its own packages, merely that RPM must be supported to allow packages from third-party distributors to be installed on a conforming system.

Limitations on Debian

Debian has included optional support for the LSB early on, at version 1.1 in "woody" and 2.0 in "sarge", and later 3.1 in "etch" and 3.2 in "lenny". To use foreign LSB-compliant RPM packages, the end-user needs to use Debian's Alien program to transform them into the native package format and then install them.

The LSB-specified RPM format has a restricted subset of RPM features—to block usage of RPM features that would be untranslatable to .deb with Alien or other package conversion programs, and vice versa, as each format has capabilities the other lacks. In practice, not all Linux binary packages are necessarily LSB-compliant, so while most can be converted between .rpm and .deb, this operation is restricted to a subset of packages.

By using Alien, Debian is LSB-compatible for all intents and purposes, but according to the description of their lsb package,[13] the presence of the package "does not imply that we believe that Debian fully complies with the Linux Standard Base, and should not be construed as a statement that Debian is LSB-compliant."[13]

In general, Debian does strive to comply with the LSB, but there may be other limitations.[14]

From what I have read the feature sets are so different that it would be very difficult to merge the two. There does seem to at least be a desire to standardize, but if I had to take a bet I would say that Debian's packagae management system will probably eventually take over, simply because of the sheer market share of Ubuntu and some packagers either only doing Debian packages or doing Debian packages first.

share|improve this answer
add comment

Because the formats were not designed to make things easy for independent software developers, they were designed to make things easy for independent operating system distributors, and RedHat and Debian couldn't care less what format the other is using. It's sort of like asking why it's so difficult to play Vivaldi on an electric guitar.

That being said, people have tried. AutoPackage is the most notable I'm aware of. It doesn't replace the native package manager, but complements it, which is probably why it was more successful than one-ring-to-rule-them-all attempts. The other thing people commonly use is Alien, which can convert from one format to another. The other common solution if your most important software is only packaged in one format is simply to switch to the distro that supports that format.

As far as independent software developers are concerned, most take one of three approaches. Some open source projects just distribute in source format and count on distributions to handle the binary formats. Closed source software on Linux is usually distributed with some sort of custom bash script installer. Additionally, open and closed source developers frequently distribute both rpm and deb formats. It takes maybe one workday to set it all up, then you rarely have to worry about it. If it wasn't so easy, more people would be clamoring for a change.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.