Federal-Foe May 20, 2013 @ 3:34am
Question about Linux package managers
I have a few questions about Linux and their two most popular package managers: dpkg and rpm. I've been given to understand that dpkg is used by debian, ubuntu, mint, etc... and rpm is used by redhat, fedora, SUSE, etc...

To provide a bit of context: I am developing an exclusively Linux-related petition website to get major software companies to port their programs to Linux (software + games). One of the recurring excuses of certain companies is that "the Linux landscape is scattered", so I figured that maybe if we specify the distro's it should work on within those petitions, the "scattering landscape" won't be an issue anymore. For this chosen distro, I was thinking about Ubuntu because it is the most popular and, at this time, the most ambitious one to break through into mainstream usage (already popular, very user friendly, Steam, nVidia, entering phone market etc.). Also, alot of distro's are based upon Ubuntu's packages, so I figured that programs written for ubuntu should be transferrable to other like Mint and Kubuntu (for instance).

Ok, with that in mind, I can only assume that the theoretical software would be released in .deb packages? If so, would these packages be useful on rpm based distros? A friend of mine said the only difference between them is the way the files are put into a package, but both the .deb and .rpm packages would contain the exact same files for the exact same program. I could not find any info on this, however. I don't want to exclude rpm based distro's, but I also don't want this demand of having both types lower the chances of any port at all. I'm just wondering how interchangeable these two package managers are, and whether it would be a hassle for a company to release both.


Now, if you were me, and you'd have a petition to get Photoshop to Linux for instance, would you specify the package manager filetype you'd want the port in? Or would you let them choose and risk ending up with just .rpm OR a .deb and not both? Or are these so close together that this risk would be neglectable? Keep in mind we're talking about commercial software, so you probably won't be allowed to convert anything yourself...

Looking forward to your insights,

Fed
Showing 1-15 of 36 comments
< >
Zyro May 20, 2013 @ 4:05am 
Hello!

Have a look at this:
http://en.wikipedia.org/wiki/Alien_%28software%29
So in general, your friend is right, these contain the same software, just with different meta data.
But... If you have a look at the thread telling Debian users how to install Steam, you'll see the problems arising: the packages depended upon. One might be missing, one might have an older version, one might have a different versioning scheme, ...

Ciao,
Eike
blackout24 May 20, 2013 @ 4:15am 
Packaging isn't a major hurdle. It's just a compressed archive with a bit of metadata to specify dependencies. You can repackage everything in seconds.

The openSUSE community has a build service to spit out different packages for example.
http://openbuildservice.org/
Last edited by blackout24; May 20, 2013 @ 4:17am
[Linux]Destiser May 20, 2013 @ 4:24am 
Debian!

Because lots and lots of distro's are based on that (inclusive ubuntu and mint, the very popular ones)

With pure debian support, you have like hundreds of other distro's at your hand. Offcourse OpenSuse, nor Fedora, Arch nor gentoo are bad, but Debian is the most popular (allthough not in a direct sense, but via other distro's that are debian based).
Federal-Foe May 20, 2013 @ 4:48am 
Originally posted by Zyro:
But... If you have a look at the thread telling Debian users how to install Steam, you'll see the problems arising: the packages depended upon. One might be missing, one might have an older version, one might have a different versioning scheme, ...

Aha, so the problem is with dependencies and not the packages themselves. From that viewpoint I might have to reconsider the setup of my concept.

Would it be a good idea to let the petition signer choose the kinds of environments then? And which would make the most sense for .deb, Ubuntu or Debian? I know one is based on another, but I'm thinking about the relevance of the nVidia driver and I'm not sure that one works well without Ubuntu dependencies? It's all about making it attractive for the companies to port without having to take care of too many issues.

Is there also a "parent" distro for RPMs like Redhat, fedora and SUSE? Or are these individual?

If so, and I'm guessing redhat, then it might be a good thing to have the petition feature a Ubuntu / RedHat percentage distribution so the companies will have some intel about how the potential market is distributed.


Fed
sounds like a wooosh May 20, 2013 @ 4:58am 
Kubuntu and similar *buntus are Ubuntu-distributions but with an alternate preselected software on first install. So you have Ubuntu packages – but you actually use KDE instead of Unity on Kubuntu. It is the same base and the same distribution and this pre-selection is exchangeable without problems. Kubuntu users can switch to Unity or Xfce and the other way round. They just need to install additional packages. All software that runs on Ubuntu will run on Kubuntu as well.

Ubuntu considers itself as being part of the "Debian-family". And it is. Debian is the the big background of Ubuntu. It is not only dpkg – Ubuntu packages build on the same source code as Debian does. They just compile it a little bit different and have different release cycles (some libs have a different version in a current Ubuntu version - for example). Meaning that a lot of packages should already work on Debian and Ubuntu.

As mentioned above Alien can be used to convert packages from one system to another.
And Suse offers a personal online repository for software that can be downloaded as Suse or Ubuntu packages for example.
yabba May 20, 2013 @ 5:50am 
Originally posted by Fed @Linux:
To provide a bit of context: I am developing an exclusively Linux-related petition website to get major software companies to port their programs to Linux (software + games).

Petitions work with politicians (to some extent) because the way politicians get into power is with votes. So you're basically emulating votes. They're supposed to look at the petition and decide that these people who voted one way on the petition will vote in the same way in an election.

Businesses aren't interested in getting votes. They are interested in getting money.

So, in summary, petitioning your Government not to close a hospital, fair enough. But, if you want a business to port games to linux throw money at them, not signatures.

It's sort of like Steam Greenlight - I'm sure lots of people who say "Yes" don't buy the game when it is released on Steam.

Contrast that with something like Kickstarter where you pledge a certain amount of money - and if it reaches a certain tipping point, the money is taken and the project goes ahead.

That might be a better way - create a site that lets a developer get pledges for porting, and if the cash pledges get above whatever minimum the developer says they'd need, bingo.

Although I doubt it would be that successful because "gamers" buy games (as opposed to "windows users" or "linux users") and you'll probably find most gamers have already bought a game they like the look of and they are unlikely to want to pay extra for a version on a different platform.

TBH, deb or rpm is the least of a developers worries with respect to the scattered linux thing.

For closed source it really doesn't matter anyway and for games it's reasonably moot now Steam is on linux. Although you can see that Valve aren't too interested in distros per se, they are interested in software to run on these Steam box(es).
Last edited by yabba; May 20, 2013 @ 6:06am
Federal-Foe May 20, 2013 @ 6:19am 
Originally posted by ...:
That might be a better way - create a site that lets a developer get pledges for porting, and if the cash pledges get above whatever minimum the developer says they'd need, bingo.

I was already leaning towards that, I made a topic explaining this idea here a few weeks back. :P

This was more about "what to ask" instead of "how to ask it", so I omitted the exact implementation of the concept. :)
Last edited by Federal-Foe; May 20, 2013 @ 6:20am
Madrang May 20, 2013 @ 7:31am 
Oerthling May 20, 2013 @ 10:47am 
The Linux fragmentation argument is a bit silly.

Yes - there are hundreds of Linux distros. But most of them are irrelevant. A distro that is specialized for Virus checking, or for embedded devices is not something anybody is going to try gaming on and therefore irrelevant.
That leaves only a handful distros that are relevant because they are desktop oriented and and have enough users to matter. And that's not that different from having to consider several Windows versions and their Service Packs, DirectX versions and whether they are 32 or 64 bits.

Of the handful Ubuntu and Mint utterly dominate the desktop. That means deb packing (which then also covers Debian and other derivatives).

It wouldn't be very hard to get relevant "Steam-compatible" versions of opengl etc... into the relevant few distro repos (Steam is already in the Ubuntu repository).

Or to just bundle everything that's needed into the game (already happening). After 10 GB of media assets and game engine - who cares whether 50 MB of required libs are also delivered.

In short - sure - dependencies are a potential problem. But it's solvable and not that different from what publishers had to do with Windows dependencies for ages.

What publishers actually worry about (I think) is 2 things:
1: Customer support cost vs potential income. The cost of porting vs Linux gaming market size should be low enough
2: MS no doubt (as shown repeatedly in the past) exerts pressure to discourage publishers from going to Mac and Linux.
TheSniperFan May 20, 2013 @ 10:57am 
JUSTME pretty much nailed it.
Care about Ubuntu first, since it's the distribution of choice for new users. Given how pretty much everything is available for Debian, it would be a solid choice too. Both use .deb, but I heard there are some serious compatability issues.
Often the userbase of a different distribution repackages software. See Steam. Officially it's only available for Ubuntu. However, you can find packages for pretty much everything (I use it under Arch).
Federal-Foe May 20, 2013 @ 11:19am 
Originally posted by JUSTME:
The Linux fragmentation argument is a bit silly.

Yes - there are hundreds of Linux distros. But most of them are irrelevant. A distro that is specialized for Virus checking, or for embedded devices is not something anybody is going to try gaming on and therefore irrelevant.
That leaves only a handful distros that are relevant because they are desktop oriented and and have enough users to matter. And that's not that different from having to consider several Windows versions and their Service Packs, DirectX versions and whether they are 32 or 64 bits.

Of the handful Ubuntu and Mint utterly dominate the desktop. That means deb packing (which then also covers Debian and other derivatives).

It wouldn't be very hard to get relevant "Steam-compatible" versions of opengl etc... into the relevant few distro repos (Steam is already in the Ubuntu repository).

Or to just bundle everything that's needed into the game (already happening). After 10 GB of media assets and game engine - who cares whether 50 MB of required libs are also delivered.

In short - sure - dependencies are a potential problem. But it's solvable and not that different from what publishers had to do with Windows dependencies for ages.

What publishers actually worry about (I think) is 2 things:
1: Customer support cost vs potential income. The cost of porting vs Linux gaming market size should be low enough
2: MS no doubt (as shown repeatedly in the past) exerts pressure to discourage publishers from going to Mac and Linux.

Yeah, Ubuntu was going to be featured without a doubt. I am now just looking into the option of involving RPM family distros too. As you said Ubuntu is pretty high up the dependency tree for .deb and is therefore the best candidate, I am just trying to find a comparable distro for fedora, redhat, etc... because they also matter. I seek to cause as little disruption in the current distribution, both types have their strong points and it would be a shame to see those RPMs get abandoned in favor of DEB. I'm just not sure which one to choose as "the mother of all RPMs" that guarantees compatibility down its hierarchy tree.


Also, the income can be covered by pledges, so that should not be an issue. The second thing could become a problem, however temporarily. Valve actually ditched MS themselves and I don't see windows recapturing the glory days of XP, so that's only going to get worse :P. Besides, Apple is even more strict with their rules and might frustrate developers even more than MS could possibly do... also, I heard Apple and Adobe's business relationship is close to a proverbial divorce, so this might be a good time :P
Oerthling May 20, 2013 @ 11:32am 
The RPM king is obviously Fedora.
Suse has been waning since Novell sold itself.

I don't actually think that either point is a problem in the long run. Just short-term.

Windows is post-peak and has only one direction left to go. It's fracturing itself with Metro and XBox. And the combination of IOS, Andoid and Mac is already destroying its dominance even before Linux comes into it.

Valve needed a way out before MS finally follows Apple and increasingly closes it's app store (not there yet - but real threat later on). And like everybody else they find that there is no point in starting from scratch when you need an OS for your own gadget and goes with Linux - because it's already there and free and changeable.

Blizzard sees the same problem and the rest of the industry will consider the same fundamental problems.
Between XBox, PS4, Windows, Android and IOS portability is on the rise again anyway.
And Valve is big enough to make a Linux based Steambox a reality.
instabilis May 20, 2013 @ 1:40pm 
Unless you actually plan to distribute your software via a package manager, then packages are a none issue. Valve provide a .deb package for Ubuntu, and a .tar.gz + "readme" for everyone else.
blackout24 May 20, 2013 @ 3:19pm 
Originally posted by instabilis:
Unless you actually plan to distribute your software via a package manager, then packages are a none issue. Valve provide a .deb package for Ubuntu, and a .tar.gz + "readme" for everyone else.

Finally someone who gets it. :)
Oerthling May 20, 2013 @ 6:10pm 
Originally posted by AbartigerNorbert:
Originally posted by instabilis:
Unless you actually plan to distribute your software via a package manager, then packages are a none issue. Valve provide a .deb package for Ubuntu, and a .tar.gz + "readme" for everyone else.

Finally someone who gets it. :)

Yes and no.

Because it's better to have software in the repo.
.tar is OK - but then it's similar to using a setup.exe on windows.

Repo is better - cause updates. :-)

On Windows the whole setup.exe sux in the long run as you either have to remember to update software yourself - or have a zillion update checkers (Windows Update, Adobe Update, Java Update, etc...).

The great Linux repos are a big improvement over that.

Personally I want all software in the repo.
Showing 1-15 of 36 comments
< >
Per page: 15 30 50
Date Posted: May 20, 2013 @ 3:34am
Posts: 36