[Haskell-cafe] Re: Distributing Linux binaries

Achim Schneider barsoap at web.de
Wed Mar 11 00:46:00 EDT 2009


Lyle Kopnicky <lists at qseep.net> wrote:

> If it is a hurdle for me, I can imagine a lot of people are getting
> frustrated at trying to distribute their binaries on Linux.
>
I don't think so. Developers usually just don't, and the distribution
packagers seem to enjoy their specific messes... otherwise, they
wouldn't package, or rewrite their package management.

OTOH, as a user I utterly dislike things like loki installers, or, even
worse, some rpm for some random RedHat version as the only available
download. If you really, really think that I'd like to use a binary
package, and want to make me happy, make a tarball that fits into /opt,
with a layout like

foo/bin/foo-bin
foo/bin/foo
foo/share/data.foo
foo/README.foo

, foo/bin/foo being a shell script containing some magic to set
FOO_DATA_DIR [1] to some value and then calls foo-bin, passing all
command line options. The simpler the better, I rather hardcode paths
according to my install than read through 300 lines of shell code.


This, of course, isn't at all preferable to providing, in my case, a
single .ebuild with build instructions and either get it included in
the gentoo repository, or provide an overlay (and get that included in
the overlay list)

In a project, you usually either 
a) have someone who does all the packaging for major distros (which is
   a cool thing to do if you can't code yourself and don't want to be
   stuck with writing documentation), 
b) have each of the developers do packages for the distro they're using
c) are lucky enough to be big (or important) enough so that distro
   package maintainers do the work for you.


In either case, a source tarball is, and always will be, the most
important thing to provide and the basis on which every other effort is
built. If somebody is complaining that you're not providing more,
recruit that somebody.


In short: Just do a source tarball and don't worry about the rest. In
the haskell case, just do a cabalised repo or tarball, preferably get
it onto hackage, and don't worry about the rest. There are tools that
automagically generate distribution packages from that.


[1] and LD_LIBRARY_PATH and LD_PRELOAD

-- 
(c) this sig last receiving data processing entity. Inspect headers
for copyright history. All rights reserved. Copying, hiring, renting,
performance and/or quoting of this signature prohibited.




More information about the Haskell-Cafe mailing list