Issue
I have a game that currently runs under Windows and Mac OS X and I'd like to make it available under Linux. The porting should be fairly easy since it's a Java based game and uses portable libraries that are available on all 3 platforms.
The hard part and the reason for this question is packaging it so that it works on as many modern Linux distributions as possible. The primary target will be Ubuntu 9.
Webstart is not an acceptable way, .tar.gz is the last resort. I would stronly prefer a package that has correctly defined dependencies (such as Java) and installs easily.
I also need to be able to build the package under a Windows environment since some tools in my build chain are Windows-only.
Solution
Start by looking at how a similar project has achieved this. One that springs to mind is Freecol, a cross-platform Java-based game. Their download page has fairly clear information on installing it on a number of platforms. They also have packages available at sites such as GetDEB for Ubuntu and PackMan for OpenSuse.
Generally, if you want to hit as many distributions as possible, the formats you should consider are (in rough order of importance):
- Ubuntu .deb (also create a repository if you can)
- OpenSUSE .rpm or .ypm (1 click install)
- Fedora .rpm
- .tar.gz pre-compiled package
Then a build from source option, or a best-effort binary installer. Finally, look at other popular distros such as Debian, Mandriva, and BSDs
Once a package exists for a specific platform, you may wish to consider getting it accepted into that distribution. This will make it easier for users to find and acquire. Information on the process for ubuntu can be found here:
(EDIT: Better list, thanks to Jonik's suggestion.)
Answered By - Colin Pickard