Binary compatibility on Linux

Thomas Koch thomas at koch.ro
Wed Nov 14 23:51:05 PST 2012


Jacob Carlborg wrote:

> On 2012-11-14 19:20, John Colvin wrote:
> 
>> Debian testing is a rolling distribution, so it is always in an unstable
>> state. Debian stable is, as it says, stable. To answer your question,
>> just look at what debain version the particular ubuntu LTS version is
>> based on.
> 
> Good point, how can I do that?

Ubuntu versions are not based on Debian _releases_. Ubuntu has an ever 
repeating development circle of half a year. At the beginning of the circle 
they take a snapshot of Debian unstable[1] and in the next months they mold 
this snapshot in an ubuntu release.

[1] http://www.debian.org/releases

To answer your question: There might be moments, directly after the release 
of a Debian stable version, when Ubuntu LTS is older then Debian. And after 
an LTS release the current Debian stable is surely older.
 
>> To be honest, unless you're going to package all your dependancies along
>> with the download, then you have to go down one of two routes: source
>> distribution with a nice simple build procedure or making packages for
>> the main distributions. I would recommend doing both.
> 
> I do provide source distribution. Not much of distribution, it's always
> available on Github. But I have one tool, DVM, which is a tool for
> installing D compilers and it's also written in D. It's a bit of a
> chicken-and-egg-problem. Sure you can get D compiler in other ways. But
> I think this tool in particular is very convenient to have available as
> a pre-built executable.
> 
> A read a bit about creating packages for Debian, it seemed complicated
> and that I need to use stupid tools like Make. I hate Make.

You're right about make. However the Makefiles that one needs today for 
Debian packages are so trivial that it's not worth to worry about it. The 
most basic debian/rules (which is a Makefile) looks like:

               #!/usr/bin/make -f
               %:
                       dh $@

You only need to add additional targets if you want to override default 
actions. In that case you usually add simple targets with a few lines.

We could switch from Makefiles to something else but it's simply not worth 
the effort.

But after all you don't need to do the Debian packaging yourself. It's even 
a bit infamous if upstream is also the maintainer of the Debian package for 
different reasons. Just be a good upstream[2] and find a Debian maintainer 
who cares about your software. The same thing for Fedora.

[2] wiki.debian.org/UpstreamGuide

Regards, Thomas Koch



More information about the Digitalmars-d mailing list