2005-02-17

makensis on Ubuntu

On July 08 2004 I made a native Linux build of the makensis command from the Nullsoft Scriptable Install System (NSIS). NSIS is a popular programming tool which allows you to create installers (i.e. setup.exe) for Windows software by writing simple scripts. Since my computers run Linux I build Windows software using a GCC cross-compiler based on MinGW. So, I needed NSIS to run on Linux and create a Windows setup.exe. It turned out that NSIS can be run on Linux and I documented the process I used to build a Linux version of makensis.

Lately I have been migrating my computers from Fedora Core to Ubuntu Linux. So I have repackaged makensis as a Debian package for Ubuntu Linux along with a GPG signature. (Incidentally, does anyone know how to sign a Debian package so it can be verified? Never works and installing debsign-verify prevents everything from installing.)

Lintian complains about some things because of the way I had to package it. This version of makensis acts like a Windows program. As such, it wants its executable name to be makensis.exe and requires all of its config files to be in the same directory as makensis.exe. So, I wrote a /usr/bin/makensis shell script and placed the real files into /usr/lib/makensis.

I'm not sure if there's a way to make Lintian happy without modifying the makensis code. Then again, maybe those problems are solved in a newer version. I don't really want to update to a newer version right now because makensis often changes its script language between versions.

To make the package a little more user friendly I followed some of Lintian's advice. I created a makensis(1) man page by running halibut --man=makensis.1 usage.but in the Docs/src directory. I tweaked the output from halibut according to the Man Page HOWTO. And I copied the HTML documentation into /usr/share/doc/nsis.

Labels: