This is an old revision of the document!
Table of Contents
WORK IN PROGRESS
About
This dummy is the base of all our installers and was build on top of loki_setup which is part of the Loki Setup tools.
It's under revision control in subversion:
svn://svn.linux-gamers.net/liflg/trunk/setup_dummy_gtk2 setup_dummy_gtk2
The installer supports x86 and x86_64 systems but most of the helper scripts and tools do not at the moment.
How to make an installer
Get the dummy:
svn export svn://svn.linux-gamers.net/liflg/trunk/setup_dummy_gtk2
Rename the upcomming installer:
mv setup_dummy_gtk2 $GameName_$Version-$Language.$Special-$Patchlevel
What does all those fields mean?
- $GameName: name of the game (multiple words have to be separated by a dot)
- $Version: version number of the game
- $Language: indicates in which language the game is, if it supports more than one language use multilanguage for this field
- $Special: normally this field can be omitted, it's used to distinguish special flavours of a game, e.g. our Serious Sam 2 installer is avaiable as a dvd, 4 cd and Software Pyramide dvd version (multiple words have to be separated by a dot)
- $Patchlevel: only used if a already released installer had to be fixed, so omit this field if it's the first release, it's 2 for the first fix, 3 for the second and so on
Example 1: mohaa_1.11beta3-dutch.warchest.edition
$GameName | $Version | $Language | $Special | $Patchlevel |
---|---|---|---|---|
mohaa | 1.11beta3 | dutch | warchest.edition |
Example 2: true.combat.elite_0.49b-english-4
$GameName | $Version | $Language | $Special | $Patchlevel |
---|---|---|---|---|
true.combat.elite | 0.49b | english | 4 |
About binaries, libaries and startscripts
If we have the possibility we try to provide binaries for x86 and x86_64 but of course this is not always possible. For example most commercial games only offer binaries for x86. There are two potential scenarios (the third is almost unlikely).
Scenario 1: x86 binaries only
Place the binary or rather the binaries in the bin directory and change the mode of the file(s) to 644 (chmod 644).
Scenario 2: x86 and x86_64 binaries
cd bin && mkdir -p Linux/{x86,x86_64} && ln -s x86_64 Linux/amd64
The binary file(s) for x86 go in the x86 directory and the one(s) for 64 bit platforms go in the x86_64 directory. Like in scenario 1, all file have to be “chmoded” to 644.
…tbd
The icon file
A splashscreen for the installer
Edit README.liflg
Three kinds of installers
1. No extra optical media needed
Get rid of some unneeded files:
rm setup.data/{cabextract,install-disc*,tmp_check.sh,unshield}
2. Extra optical media needed
Get rid of some unneeded files:
rm setup.data/{cabextract,install-disc*,tmp_check.sh,unshield}
3. Extra optical media needed which contains some proprietary compressed files
setup.xml
Packaging the installer
We use makeself for this job.
makeself.sh $GameName_$Version-$Language.$Special-$Patchlevel/ $GameName_$Version-$Language.$Special-$Patchlevel.run "$GameTitle $Version-$Type.$Special-$Patchlevel Installer" sh ./setup.sh
The fields are mostly the same as in Rename the upcomming installer chapter, the only new one is $GameTitle which should be the full name of the game. For example:
$GameName | $GameTitle |
---|---|
mohaa | Medal of Honor |
serious.sam2 | Serious Sam 2 |
Know bugs
As our dummy is based on loki_setup most bugs are the fault of this (not all of course ).
- Scripttags and cd/dvds - https://bugzilla.icculus.org/show_bug.cgi?id=3085
- 'View Readme' button does not work all the time - https://bugzilla.icculus.org/show_bug.cgi?id=3022
- SETUP_CDROM PATH - Problem with setup.sh - https://bugzilla.icculus.org/show_bug.cgi?id=3010
- Exit - Quit inconsistency - https://bugzilla.icculus.org/show_bug.cgi?id=3009
- binpath option misbehaves - http://bugzilla.icculus.org/show_bug.cgi?id=3563
Could be I missed some, so this list is not complete.