Score:0

Is RPM on Ubuntu a thing now?

it flag

I will start by saying the obvious. In the past, rpm on Ubuntu definitely was NOT a thing. That much is obvious when you search for "rpm" at the top of this page. The closest we'd come was packages like alien that will convert .rpm packages to .deb format.

After a recent experience, I do not believe this to be the case now. In fact, I am sure that it's not.

For context, I will also add that rpm is a package management system a lot like apt/dpkg. However the two aren't interchangeable due to the fact that they each have their own package format used as input. dpkg takes .deb packages, while rpm takes .rpm packages.

While installing a package today with apt install, I noticed a package among the install dependencies named rpm-common. Intrigued, I ran apt search rpm and was surprised by the result. Lo and behold, there is currently a plethora of rpm packages being maintained.

This fact alone is not that surprising. What caught me off guard was the fact that many to most of them were from Ubuntu themselves. As it turns out there is a team among the ranks called the "rpm development team." The packages overseen by them (on Focal) include, but are not limited to:

  • rpm -- rpm package manager itself
  • rpm-common -- common files
  • rpm2cpio -- conversion to CPIO
  • rpmlint -- package checker
  • rpm-i18n -- localized man-pages for rpm

To further research this, I ran apt info rpm, which revealed that it was ported and originally maintained by the "RPM Packaging Team" at Debian, that it was subsequently passed to Ubuntu and is now maintained by the Ubuntu developers, and that most of the packages above are listed as its dependencies.

So I guess my question is two-fold.

  1. When did this happen?

  2. More importantly, why did this happen? Is there a change in the works, as with the recent addition of Snaps?

Note: apt info rpm did say the following:

On Debian and derived systems it is recommended to use "alien" to
convert RPM packages into .deb format instead of bypassing the
Debian package management system by installing them directly with rpm.

I just don't understand why an entire app ecosystem is being maintained, but the info warns us not to use it.

cn flag
Ray
For any of the packages you mentioned, you can look them up. For example, [rpm](https://packages.ubuntu.com/bionic/admin/rpm) appeared first in Ubuntu 18.04. Hmmm... Nevertheless, I don't think a few `rpm` packages for Debian/Ubuntu makes it a "thing". Certainly `snap` is an unstopable force that won't go back to the way things were. But not `rpm` (not yet, as far as I can tell).
Nate T avatar
it flag
@ray the rpm package is rpm itself. That is what makes it a thing. In other words, after downloading rpm, one could theoretically delete dpkg, along with all of its dependencies (if one were a lunatic, of course) and just start using rpm. Remember, dpkg isn't part of the kernel. Ubuntu doesn't depend on it directly to operate. I am sure there would be at least minor complications in the best case, it just blows my mind that this just kind of slipped by me, I guess.
Nate T avatar
it flag
18.04 was an LTS release. That is when they bring out the big guns. XD I wonder if they originally intended to add it as a feature but couldn't get them to play nice enough to be comfortable supporting them? looking at the link you provided, particularly the depends, it seems like they were intending to automate the process of converting to .deb? I don't know, and for some reason that's bugging me. Regardless, I feel its existence should at least be documented here.
cn flag
Ray
Hmmmm... I still don't see it as big a deal as you do. After all, users can use neither `dpkg` nor `rpm` and just stick with compiling from source (as an extreme example)... Giving users a choice with `rpm` is good but I don't think what you've seen is a big shift. Certainly, not at the same level as Snap where we don't have a choice (i.e., with certain programs like Chrome, I think, which have no `.deb` package available.).
Nate T avatar
it flag
You have a point. I would take it a step further . Even with the snaps, if it will run on Linux, and almost all programs will, you can build a .deb from executable with just tar and dpkg. It doesn't even technically need a `/debian/` directory, so long as you include the option. Ayway, the choice isn't really a choice if users don't know about it.
cn flag
Ray
Yes, indeed. Many Linux-based programs are "open source", but the vast majority of people doesn't know how to tweak things. Which is fair...how many people who drive can fix their car? For me, I had a bad experience with Snap where something that used to work fine changed from `.deb` to Snap and it no longer worked. (Probably it was the security model for Chrome?) I think since then, my threshold for a change to Ubuntu is now Snap... But proper support for `rpm` is indeed notable.
Score:3
et flag

Yes, RPM is “a thing” on Ubuntu, but it’s not new, and you’re reading far too much into it.

The reason rpm packages exist in Ubuntu is that they exist in Debian, and Ubuntu automatically imports packages from Debian. In rpm’s case there are a couple of Ubuntu packaging changes applied on top of the Debian packaging, but they are minor (debuginfo handling, and where debugedit is shipped). As a result of this automatic import, the RPM packages have been present in Ubuntu since its very first release: you’ll find the corresponding package entries in the Warty Packages.

There is no RPM packaging team in Ubuntu; it exists only as an automatically-created reflection of the RPM packaging team in Debian.

Furthermore, rpm itself in Debian and Ubuntu is neutralised so that it won’t accidentally be used to install RPMs. It is useful in Debian and Ubuntu to work with RPM archives, and as a helper for alien; not as a distribution package management tool.

et flag
The packages weren’t introduced around the 18.04 LTS, they were present in 2005 already (and perhaps even in the very first release of Ubuntu, 04.10), and in every Ubuntu release since. The `apt info rpm` discrepancy is normal, all packages in Ubuntu show as maintained by people in Ubuntu, even if they come from Debian (this is in particular to avoid having users contacting the original Debian maintainers for issues which might be Ubuntu-specific). But I don’t see any reference to an Ubuntu RPM team in `apt info rpm`, only “Ubuntu Developers” (in Ubuntu).
Nate T avatar
it flag
They definitely are not there as helpers for alien package. Alien doesn't depend on them at all. I remember seeing somewhere that it was the other way around. Like [APT-RPM](https://en.wikipedia.org/wiki/APT-RPM), but in reverse. That said, once again, I can't find my sources. That day's activity already cleared my cache. That said, I need to get back to being mildly productive. It was nice discussing linux with you. Worthy adversary indeed : D -- Deleting old -- btw got 18.04 from link in first comment above.
et flag
See [the `alien` manpage](https://manpages.debian.org/bullseye/alien/alien.1p.en.html#PACKAGE_FORMAT_NOTES): “For converting to and from rpm format the Red Hat Package Manager must be installed.” `apt show alien` will tell you that it depends on `rpm` and `rpm2cpio`. As far as the 18.04 introduction goes, Launchpad only shows information for currently-supported releases of Ubuntu, which means going back to 18.04. For older releases you need to dig a bit more. It’s a shame you see me as an adversary...
Nate T avatar
it flag
I repurposed a room Saturday and forgot to notify you. See [here](https://chat.stackexchange.com/rooms/128799/nate-t-masroor).
mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.