Building Releases
This describes how to build installers for an OpenHIP release. This page is intended to help the OpenHIP developers when creating releases. If you just want to build and run HIP, follow the build instructions on Installation instead. You could use these instructions to build your own installers.
Contents
Release prep and source tarball
First edit configure.ac
and change the AC_INIT(OpenHIP, 0.9, ...)
line to the new release version.
Build a distribution tarball using make dist.
Check for missing (or extra) files against the exported SVN directory.
svn copy https://openhip.svn.sourceforge.net/svnroot/openhip/hip/trunk https://openhip.svn.sourceforge.net/svnroot/openhip/hip/tags/release-0.9 svn export https://openhip.svn.sourceforge.net/svnroot/openhip/hip/tags/release-0.9 hip-0.9
Ship it!
Building a Debian DEB package
Debian packages are built using the pbuilder-dist package builder. Some prerequisites:
sudo apt-get install ubuntu-dev-tools sudo apt-get install devscripts debhelper cdbs pbuilder
If you are behind a proxy, add "export http_proxy=http://myproxy.com" to /etc/pbuilderrc
.
Unpack the distribution tarball and generate a dsc and original.tar.gz file.
tar xzf openhip-0.9.tar.gz cd openhip-0.9 ./bootstrap.sh ./configure make deb cd ..
The above creates a debian/
subdir having control files. Now we generate the .dsc and .tar.gz files that pbuilder will use.
dpkg-source -b openhip-0.9
Given the .dsc and .tar.gz, packages can now be built for various distributions:
pbuilder-dist oneiric amd64 build openhip_0.9-0ubuntu1.dsc pbuilder-dist oneiric i386 build openhip_0.9-0ubuntu1.dsc pbuilder-dist natty amd64 build openhip_0.9-0ubuntu1.dsc pbuilder-dist natty i386 build openhip_0.9-0ubuntu1.dsc pbuilder-dist maverick amd64 build openhip_0.9-0ubuntu1.dsc ...
Easy. You should now have a file in ~/pbuilder/oneiric-amd64_result/openhip_0.9-0ubuntu1_amd64.deb
.
For release candidates, the version string 0.9_RC1
is not valid per Debian Policy, so you need to fix up the control file to be 0.9-RC1
.
Building a RedHat RPM package
The RPM build process uses Fedora's mock to build for various distros.
yum install rpmdevtools mock
If you are behind a proxy, you'll want to set the following line in your /etc/mock/default.cfg
(and other distro .cfg files):
proxy=http://myproxy.com
First build an OpenHIP source RPM from the distribution tarball that mock can work with:
tar xzf openhip-0.9.tar.gz cd openhip-0.9.tar.gz ./bootstrap.sh ./configure # could instead use 'make dist' here cp ../openhip-0.9.tar.gz make rpm
This uses rpmdev-setuptree to make directories in ~/rpmbuild/
if they do not already exist. Then rpmbuild
is used to build a source RPM that ends up in ~/rpmbuild/SRPMS/openhip-0.9-1.src.rpm
.
Now go to town using mock:
mock -r fedora-16-x86_64 rebuild openhip-0.9-1.src.rpm mock -r fedora-16-i386 rebuild openhip-0.9-1.src.rpm mock -r fedora-15-x86_64 rebuild openhip-0.9-1.src.rpm mock -r fedora-15-i386 rebuild openhip-0.9-1.src.rpm mock -r fedora-14-x86_64 rebuild openhip-0.9-1.src.rpm mock -r fedora-14-i386 rebuild openhip-0.9-1.src.rpm mock -r epel-6-x86_64 rebuild openhip-0.9-1.src.rpm mock -r epel-6-i386 rebuild openhip-0.9-1.src.rpm
Resulting RPM files end up in directories such as /var/lib/mock/fedora-16-x86_64/result/
.
Ship!
Building a Windows Installer
OpenHIP uses the Nullsoft Scriptable Install System (NSIS) for building a Windows setup executable. Download and install it first. OpenHIP is not too dependent on the version used, for example NSIS-2.44 (Feb 2009) was used to build openhip-0.6-install.exe. The Simple Firewall Plugin is used to detect and disable the Windows Firewall during installation.
- Download and install NSIS 2.44 or greater
- Download the NSIS Simple Firewall Plugin 1.16 or greater. Put the DLL file into your
c:\Program Files\NSIS\Plugins>
folder per the plugin's installation instructions. - Follow the instructions under Installation for building OpenHIP from source
- Copy hipmon.exe to the
hip-0.6/bin
folder
TODO: we need instructions here on how to buildhipmon.exe
; however, this system tray app is being phased out in favor of the pekka cross-platform UI - Browse to the
hip-0.6/src/win32/install-win32
folder, right-click onopenhip.nsi
and choose Compile NSIS Script. This should launch the NSIS compiler dialog and produce anopenhip-0.6-install.exe
file.