In order to get Retrobooster to testers I decided to learn more about packaging software. I ended up making an installer for Windows with Nullsoft Scriptable Install System (NSIS) and an RPM for Linux. NSIS was an easy choice because I had already used it to make an installer Really Slick Screensavers, but RPM was new to me.
The article Linux Game Development is a good place to start if you want to learn about packaging software for Linux. From this introduction and some other advice I eventually settled on RPM (though I would still like to try MojoSetup, which appears to be popular among indie developers).
Unfortunately, most of the instructions and examples for RPM that I found were outdated or focused on making SRPMs, RPMs that contain source code instead of binaries. Plenty of experimentation was required to really get things working. Send me an email (mogumbo ‘at’ gmail.com) if you want to swap insight about making RPM .spec files or anything else.
I was also hoping to use Alien to convert my RPM to a Debian package. This didn’t work for me at all. Alien would not run on Fedora 14 due to missing and/or incompatible dependencies, and it failed to convert on SuSe 11.3 64-bit because the RPM was 32-bit. Maybe I just need a Debian-based distro so that I can build a Debian package from scratch.
Packaging software is just another gigantic black art, and I didn’t even mention the joys of deciding what libraries to package, writing run scripts, making icons, etc. There are enough details to make your head spin. It’s all good stuff to learn, but I can’t wait to get back to building levels and art assets.