Armagetron Advanced: Documentation
Author: Manuel Moos
Date: 2021-05-14T08:40:35+01:00

First Start | Installation | Network Play | Configuration | FAQ | Redistribution

# Redistribution

This page is intended to give GNU/Linux distribution builders some help in building packages of Armagetron Advanced for their system. For the average user, it is of little use.

The most important remark: this game is distributed under the GNU general public license. You can redistribute it in any way you want as long as you don't make changes: Put in on cover CDs of magazines (we are happy to receive a copy of the corresponding edition, but it's not mandatory), add it to your freeware download directory or even put it in a box and sell it if you're crazy enough. You don't have to ask us for permission for any of this.
The GNU license kicks in if you make changes. Then, you also have to publish the sources of these changes.

In theory, you always have to make the sourcecode available when you redistribute. However, this documetnation contains links to the official download locations, and they count as "making the source available" in our eyes.

## Packaging

We manage distribution building with an additional CVS module we don't put into regular releases; it is called armagetronad_build and also hosted at SourceForge. Get it with

    CVSROOT=:pserver:anonymous@cvs.sf.net:/cvsroot/armagetronad co armagetronad_build

enter it and type make once to configure it to your system. Edit make.conf to put in the missing details. Then, drop a tarball from our distribution into the tarballs subdirectory and use make to build the package of your choice. See the enclosed README.txt to see what's available.

## Roll your own

If you want to roll your own package distribution, there are two special switches to configure you'll need to know about:

The first is --disable-sysinstall. Normally, make install copies the files to their destination and then calls the script batch/sysinstall, telling it where the files were put (just the prefix, i.e. /usr/local), and the script then finishes off the installation. It adapts the server starter scripts to the real location, adds symbolic links to /etc/armagetronad and /etc/init.d/ for the server, and it creates the user the server should run as. Naturally, if you want to build a binary distribution package, you want this script to run on the user's machine, not yours. Therefore, you add the option --disable-sysinstall to the invocation of configure which will prevent the script from being run. Then, you should set up the installation package so that it calls

    {prefix}/share/armagetronad/scripts/sysinstall install {prefix}

after the regular files have been installed. {prefix} stands for the user choosable installation prefix (Armagetron Advanced is relocatable). Before uninstallation, you call

    {prefix}/share/armagetronad/scripts/sysinstall uninstall {prefix}

The second option is --enable-multiver. Enable it if you want to allow users to install multiple versions of you package concurrently. All directories and executables will get the version number as suffix so there are no file collisions, and the sysinstall script installs additional links to the executables for the user's convenience.

This document was created by Manuel Moos

Last modification: May 14 2021

First Start | Installation | Network Play | Configuration | FAQ | Redistribution