LWN.net Logo

Deb -> Rpm?

Deb -> Rpm?

Posted May 13, 2012 15:34 UTC (Sun) by kleptog (subscriber, #1183)
In reply to: Fragmentation on the Linux Desktop (Is it Normal?) (Datamation) by renox
Parent article: Fragmentation on the Linux Desktop (Is it Normal?) (Datamation)

If you think the only difference between rpm and deb is the packaging format then you've completely missed the point. What makes Debian great is not its packaging format (which is just an ar file) but the Debian packaging policy.

The policy that ensures that files end up in predictable places. The policy that ensures your package will not be broken randomly by other installed packages. The policy that ensures the each package can be reliably rebuilt by anybody on any system. That they don't clash in user names, program names, port numbers, etc...

It's the policy that allows you to take a system and install tens of thousands of packages and have them ALL work. Simultaneously.

Distributing files was a solved problem long ago (.tar.gz). Today, a .deb is a sign that someone put effort into it. A mark of quality. Changing deb files to look like rpms would be technically feasible but pointless without everyone following the same policy. Rpms have their own policy and unless they align, nothing will go anywhere.

If you don't care about policy, use alien to convert the packages.


(Log in to post comments)

Deb -> Rpm?

Posted May 14, 2012 1:03 UTC (Mon) by vonbrand (subscriber, #4458) [Link]

What you describe is exactly what I see on Fedora (with RPM). And I'm sure SUSE, and Mandriva, and all the other "large" distributions do the same. This is a distribution policy, not something $PKG_FORMAT related at all; I'm quite capable of building an RPM violating any and all (sanity) rules, which on installation will create havoc; and I'm sure somebody with some deb-fu can do the same for Debian.

But don't forget that the base rules are distribution rules, installing the files from a Fedora RPM on your Debian system might get you into a lot of pain, and viceversa.

Deb -> Rpm?

Posted May 14, 2012 7:58 UTC (Mon) by renox (subscriber, #23785) [Link]

> What makes Debian great is not its packaging format (which is just an ar file) but the Debian packaging policy.

So? Those who want to distribute software must learn both to use a different tool (the LSB has selected RPM) and to respect a policy.
If one tool has been selected by the distributions then you'd only have to respect the policy as the tool would be already known..

If Debian developpers doesn't care that much about the .deb format why do they stick with it?
I don't care which packaging format is used, but what is very important is that there should be as few as possible..

Deb -> Rpm?

Posted May 14, 2012 13:34 UTC (Mon) by dgm (subscriber, #49227) [Link]

You missed the point. The packaging format difference is not that important when policies do not align. Debian could be using RPM but packages would still be incompatible, possibly creating more confusion.

First you would have to converge policies, then you could unify formants.

Deb -> Rpm?

Posted May 14, 2012 14:53 UTC (Mon) by renox (subscriber, #23785) [Link]

You're wrong: there are already this potential issue for the various distributions which use RPM and this isn't a big issue: users select the packages which correspond to their distribution, using a RPM from the wrong distribution can break your distribution.

So the policy issue is a weak excuse for using different tools.

Deb -> Rpm?

Posted May 14, 2012 15:53 UTC (Mon) by apoelstra (subscriber, #75205) [Link]

But if "using a RPM from the wrong distribution can break your distribution", why on earth would anyone bother to spend the time and energy switching formats? It would accomplish nothing except make it easier for people to goof up their systems.

Deb -> Rpm?

Posted May 14, 2012 16:41 UTC (Mon) by renox (subscriber, #23785) [Link]

A basic tenant of good design is separation of policy and mechanism(s).
The mechanisms here are the packaging tools and format used.
The policy is the distribution policy on how to create the package using the tools.

It would allow the packager to learn only one set of packaging tools.
And when the tools are identical, then you can more easily compare the various distributions policy..

As for the users, as I already said, there is no new issue: you can already have a lot a problem if you force the installation of a Suse RPM on a Mandriva distribution for example or if you jump in the stairs, the answer is easy: don't do that.

Deb -> Rpm?

Posted May 14, 2012 16:11 UTC (Mon) by dlang (✭ supporter ✭, #313) [Link]

RPM is also missing a few features that DEB supports, specifically the multiple levels of dependencies (required, recommended, suggested)

personally, I also like the control directory with it's different files for different purposes rather than having everything mashed together into one spec file.

Deb -> Rpm?

Posted May 14, 2012 16:43 UTC (Mon) by renox (subscriber, #23785) [Link]

> RPM is also missing a few features that DEB supports, specifically the multiple levels of dependencies (required, recommended, suggested)

Well, it doesn't seem too hard to add this feature to RPM, no?

Deb -> Rpm?

Posted May 14, 2012 18:23 UTC (Mon) by dlang (✭ supporter ✭, #313) [Link]

no it wouldn't, it also wouldn't be that hard to switch a distro to use .deb instead of .rpm either.

Another feature that .deb supports is the multilib capability (as opposed to the /lib /lib32 approach)

the RPM folks are welcome to implement these features (as they have copied other features from .deb, resulting in things like yum in the past), but since they haven't, it precludes rpm from being the 'universal' packaging tool that some people want it to be.

And this completely ignores other possible packaging tools and requirements that source-based distros like gentoo have

Deb -> Rpm?

Posted May 14, 2012 18:48 UTC (Mon) by boudewijn (subscriber, #14185) [Link]

And as long as deb fans will ask rpm fans to convert, and rpm fans ask deb fans to convert, people like me will have to continue to try to build tarballs that, together with some scripts, provide something that nearly works on every system but doesn't integrate and contains way too much junk.

I hate creating debs, I hate creating rpms, I hate creating tarballs or bitrock installers -- but most of all I hate having to do essentially the same job twice.

I don't give a damn about the package format, not as a Linux user, not as a software developer. Rpm and deb both just work, and I just don't like the fact that there are two of them, and that people actually can bring up the enthusiasm to defend one against the other.

Deb -> Rpm?

Posted May 14, 2012 19:25 UTC (Mon) by dlang (✭ supporter ✭, #313) [Link]

so you need to use tools that build both for you without you having to do either one manually.

I understand that the Suse buildforge does this for you, and I believe that the code to do this is available.

plus there is the alien program that will take a .deb and convert it to a .rpm (and vice-versa)

so the cost of creating both formats (if you don't care about the distro specific policies) looks like one line in a build script. hardly a crushing load.

Deb -> Rpm?

Posted May 14, 2012 17:00 UTC (Mon) by dgm (subscriber, #49227) [Link]

> You're wrong

More often than I would admit, yes.

> So the policy issue is a weak excuse for using different tools.

No. It's an excuse for avoid _changing_ tools. Big difference.

BUT what would really solve droping dpkg? Imagine if you wish that tomorrow Debian ditches the .deb format and converts overnight to RPM. Now what? Packagers still would have to make different packages for Debian (and maybe Ubuntu), SuSE, Fedora, RedHat, Mageia, etc. It's even worse, because ISVs have to package for every _release_ of the distro they target. What do have we won? Nothing. Maybe that is the reason it hasn't happened yet. Will it happen in the future? I doubt it. Look at SuSE: same RPM, just different. The tendency is to fragmentation, not convergence, in RPM land. There are even 2 different forks of the RPM format.

So, at the end of the day, the package format is not that important. And probably that's the reason why we haven't seen unification even after so many years of pushing in that direction.

Deb -> Rpm?

Posted May 14, 2012 17:18 UTC (Mon) by raven667 (subscriber, #5198) [Link]

Sure, switching Debian to RPM wouldn't cause world peace overnight but it would remove a significant technical barrier to cross-distribution coordination of packaging guidelines. I think there'd be a lot more societal/peer pressure to standardize packaging guidelines once there were no technical barriers to doing so. ISV pressure would be more effective in this case as well.

Deb -> Rpm?

Posted May 14, 2012 17:19 UTC (Mon) by renox (subscriber, #23785) [Link]

>> So the policy issue is a weak excuse for using different tools.
>No. It's an excuse for avoid _changing_ tools. Big difference.

Sure this adds some work to Debian in the short term for the migration and less work for every ISV after the change because now they have to only learn one set of tool instead of two.

> It's even worse, because ISVs have to package for every _release_ of the distro they target.

Same situation as today then.

> What do have we won?

As already said, it makes ISV lives simpler as they can now use only one set of tools instead of two.

> The tendency is to fragmentation, not convergence,

Yes, I've noticed, Linux: ~1.5% of desktop share.

Deb -> Rpm?

Posted May 15, 2012 9:02 UTC (Tue) by dgm (subscriber, #49227) [Link]

> Yes, I've noticed, Linux: ~1.5% of desktop share.

Non sequitur. As easily I could say: Linux: ZERO viruses in the wild.

So what?

Deb -> Rpm?

Posted May 15, 2012 9:19 UTC (Tue) by renox (subscriber, #23785) [Link]

>> Yes, I've noticed, Linux: ~1.5% of desktop share.
> Non sequitur. As easily I could say: Linux: ZERO viruses in the wild.

Well, not really 'non sequitur': making the life hard for ISV surely don't help Linux's market share, but I agree that the packaging format is not enough, but it would be a start (not that I believe that it can happen: for whatever reason packaging tools seems to be a topic that triggers emotional reaction..).

As for ZERO viruses in the wild, Haiku has no virus too: nobody cares about it..

Deb -> Rpm?

Posted May 15, 2012 15:58 UTC (Tue) by dgm (subscriber, #49227) [Link]

But Haiku doesn't seem to have millions of users (it didn't last time I looked, correct me if I'm wrong).

As for ISV's lifes: packaging format is the _least_ of their problems, really. It's something that just requires installing a few tools and can be greatly automated. The real problems are supporting the horde of Linux versions out there -each with it's own library versions, configuration files and general idiosyncrasies- and, of course, getting Linux users to pay for software...

Deb -> Rpm?

Posted May 20, 2012 0:55 UTC (Sun) by steffen780 (guest, #68142) [Link]

And package format is one of those idiosyncrasies. If conversion is trivial to automate as some people claim, why not do it? It's one (small) issue less. That's how progress generally happens in software, especially free software - one small issue at a time. Unite .deb and .rpm since the differences are cosmetic, then go onto the next one. Why not? Distro policies and library versions will still differ, of course, but there are real reasons for that. Fedora has newer library versions than RHEL for a reason. I cannot see why Fedora and Debian have to use different formats for packaging.

As for your [citation needed] claim that Linux users don't pay for software, have a look at RH's balance sheets or the humble indie games bundle - RH covers the enterprise market, whilst the games bundle covers the private (well, presumably it is mostly private) desktop end users. And guess what? Linux end users (those that bought the humble bundle at least) pay MORE than Windows or OSX users. Maybe because they aren't being ripped off ridiculously by Microsoft on the Windows license or by Apple's simply obscene prices for hardware? Maybe they're better people? Maybe they just wanted to put an end to claims like yours? Maybe they just have more money? Who knows, fact is, Linux users do pay, generously - even when they don't have to.

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds