I know this question was probably asked a million times, but none of the questions have the answer with a how-to practical application and no one can explain what I'm going to show.
So, here's the problem: There are many software vendors that provide a single package that works on all Linux distributions, and when I say all, I mean at least the major ones (Debian, Redhat and Arch). I tried them, and they all work.
My question is: How are they doing this?
What I know: I know the old news about binary incompatibility. Please don't repeat that lecture. Anyone who wants to benefit from this question and the answers on it, please read more about binary incompatibility of Linux distributions if you never heard about it. The reason why I'm asking this question is because we have a practical application that ignores that incompatibility and works on almost all distributions. How is that happening?
I also know about the "rumor" called LSB. The reason I call it rumor, is that I never seen a single application of that thing anywhere, and if it's the way those vendors do it, please explain how in an answer.
Examples of software that works (almost) everywhere:
.run
file that works everywhere..sh
package that works everywhere. Following is a screenshot from their download page.
(feel free to add more).
So how is this happening? How can I pull this off for my own applications?
A satisfactory answer will provide a mechanism (and best with a mini-example) where one can select a few Linux distributions (say Debian, CentOS and OpenSUSE), and have the recipe to create a single package that works/installs on all of them.
Thank you so much for any efforts.
The packages that you're referring to ... a ".run" or a ".sh" are just scripts. Since people tend to want to 'just get the installation started' and could click on the wrong package, a shell script can detect what package would be appropriate, download and install it.
Or potentially even download and build the source ... somewhat depends on the project and aim of the package.