views:

303

answers:

7

I have an Open Source app and I currently only post the binary for the Windows build. At this point Linux users have to get the source and compile it. Is there a standard way for posting a Linux binary?

My app is in c / c++ and compiled with gcc, the only external Linux code I use is X Windows and CUPS.

+3  A: 

The most common way would be to package it in a .rpm file http://en.wikipedia.org/wiki/RPM_Package_Manager, or for Ubuntu users a .deb file http://en.wikipedia.org/wiki/Deb_(file_format)

PiedPiper
A: 

I only use precompiled binaries from my distribution - never from other hand. If you can afford it just roll a tarball and add some buildscript so that people can build your project. To publish it add it to sites like: Freshmeat

unexist
+2  A: 

Find someone skilled with Debian and get their help to set up a build process to build .deb packages for Debian and Ubuntu.

Dan Udey
+1  A: 

Of course: take a look at this tutorial from IBM. Its only for RPMs, but it at least would get you going. DEB files are similar - see this tutorial.

Basically, once you've built your binaries, you write a control file describing what files the package ships, and where it puts them. Then you build everything into a package using the packaging tools. Its a lot like Windows where you write an installer file, then run it through Wix or Intellishield or whatever to create a .msi file.

gbjbaanb
A: 

Here's a great guide for producing a portable Linux binary.

Bernard
+2  A: 

Don't hesitate to file a Request For Package (RFP) bug on Debian's bug tracking system. A debian developer may be interested by your software and package it.

http://www.debian.org/Bugs/Reporting

Nowhere man
+2  A: 

You could provide the packages yourself, but that's not the ideal way to distribute your application. Users won't be able to find your software in their distribution's package repository and will have to hit your website to download the latest version.

IMO the best thing to do is solicit the help of package maintainers for the distributions of your choice. Get one of them who is interested in your application to adopt it and bring it in to the distro, then they can take care of the distro-specific details of packaging it.

Your role will be to assist them as much as possible in getting your software to build on their platform and work out any bugs related to interactions with other package versions, etc.

Kamil Kisiel