User Tools

Site Tools


projects:liflg:mojosetup

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
projects:liflg:mojosetup [2009/09/22 20:01] kratz00projects:liflg:mojosetup [2012/02/21 19:44] (current) – [x86 and x86-64 Support] kratz00
Line 6: Line 6:
  
 ======Problems====== ======Problems======
-  * doesn't create a symlink which points to the startscript of the game (https://bugzilla.icculus.org/show_bug.cgi?id=3129)+  * doesn't create a symbolic link which points to the start script of the game (https://bugzilla.icculus.org/show_bug.cgi?id=3129)
   * how can we launch a shell script from within the installer?   * how can we launch a shell script from within the installer?
-  * how can we copy the same behavior which is possible with loki_setup and the component tag+  * how can we copy the same behavior which is possible with loki_setup and the component tag (there is something nasty for the downloadable Postal installers done by Ryan) 
 +  * no support for extracting Wise setup archives (*.exe) 
 +  * no support for extracting Microsoft cabinet files (*.cab) 
 +  * no support for extracting InstallShield cabinet files (*.cab) 
 +  * no support for 7z archives (but there is support for *.xz files)
  
-====== x86 and x86-64 Support====== +====== x86 and x86_64 Support====== 
-If we have binaries for both architectures we build two installers, most likely we only have binaries for x86+If we have binaries for both architectures we build two installers, most likely we only have x86 binaries, 
-in this case we will only make installer for x86. +in this case we will only make an installer for x86. 
-It would not make sense to build a native x86_64 installer, if you need the 32 libs anyway to run the game. +It would not make sense to build a native x86_64 installer, if you need all the 32 bit libraries anyway to run the game.
- +
-  * since the installer itself is a binary, there has to be a separate x64 installer to deliver x64-game-binaries +
-  * it's not possible for a x86 installer to detect if its running on a x64 machine (and install the x64 binary of the game)+
  
 +  * since the installer itself is a binary, there has to be a separate x86_64 installer to deliver x86_64 game binaries
 ======Worth reading====== ======Worth reading======
-http://icculus.org/cgi-bin/ezmlm/ezmlm-cgi?61:mas:17:lindjbjfokpddaijpfbp+ 
 +Initial tech discussion about MojoSetup features:\\  
 +http://icculus.org/pipermail/lokisetup/2007-May/000810.html 
 + 
 +Documentation:\\  
 +http://hg.icculus.org/icculus/mojosetup/raw-file/tip/docs.txt
  
 ======Naming schema====== ======Naming schema======
  
 <code> <code>
-$GameName_$Version-$Language.$Special-$Patchlevel_$Arch.bin+$GameName_$Version-$Language.$Special-$Patchlevel_$Arch.mojo.run
 </code> </code>
  
Line 32: Line 39:
   * $Language: indicates in which language the game is, if it supports more than one language use //multilingual// for this field   * $Language: indicates in which language the game is, if it supports more than one language use //multilingual// 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)   * $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'the first release, it's //2// for the first fix, //3// for the second and so on+  * $Patchlevel: only used if a already released installer had to be fixed, so omit this field if it'a regular release, it's //1// for the first patched installer, //2// for the second and so on
   * $Arch: x86 or x86_64   * $Arch: x86 or x86_64
-Example 1: mohaa_1.11beta3-dutch.warchest.edition_x86.bin+Example 1: mohaa_1.11beta3-dutch.warchest.edition_x86
  
 ^ $GameName ^ $Version ^ $Language ^ $Special ^ $Patchlevel ^ $Arch ^ ^ $GameName ^ $Version ^ $Language ^ $Special ^ $Patchlevel ^ $Arch ^
 | mohaa | 1.11beta3 | dutch | warchest.edition| | x86| | mohaa | 1.11beta3 | dutch | warchest.edition| | x86|
  
-Example 2: true.combat.elite_0.49b-english-4_x86_64.bin+Example 2: true.combat.elite_0.49b-english-4_x86_64
  
 ^ $GameName ^ $Version ^ $Language ^ $Special ^ $Patchlevel ^ $Arch ^ ^ $GameName ^ $Version ^ $Language ^ $Special ^ $Patchlevel ^ $Arch ^
Line 46: Line 53:
 ======Installer Howto====== ======Installer Howto======
  
-   *check out the dummy: <code> svn export svn://svn.linux-gamers.net/liflg/trunk/mojosetup_dummy $DIRNAME-ACCORDING-TO-THE-NAMING-SCHEMA-WITHOUT-.BIN</code>+   *get a clone of the LIFLG repository: <code>hg clone https://kratz00.org/hg/liflg/</code>
  
-   *change to the directory: <code>cd $DIRNAME-ACCORDING-TO-THE-NAMING-SCHEMA-WITHOUT-.BIN</code>+   *create your working copy: <code>cp -pr liflg/mojosetup_dummy/ $DIRNAME-ACCORDING-TO-THE-NAMING-SCHEMA</code> 
 + 
 +   *change to the directory: <code>cd $DIRNAME-ACCORDING-TO-THE-NAMING-SCHEMA</code>
  
    *delete unneeded files:    *delete unneeded files:
Line 62: Line 71:
     *add needed files to data/     *add needed files to data/
  
-   *pack the installer (warning: _ugly_ script ahead): <code>+   *pack the installer: <code>
 #!/bin/sh #!/bin/sh
-NAME="`pwd|rev|awk -F/ '{print $1}'|rev`+NAME=`basename "$PWD".mojo.run` 
-cp mojosetup* "$NAME".bin +cp mojosetup* "$NAME" 
-zip -9r files.zip data/ guis/ meta/ scripts/ +zip - -qr9 data/ guis/ meta/ scripts/ cat >> "$NAME" 
-cat files.zip >> "$NAME".bin +sha256sum "$NAME""$NAME".sha256</code> 
-rm files.zip + 
-sha256sum "$NAME".bin > "$NAME".bin.sha256 </code>+If anybody knows why the following does not work, please let us know: 
 +<code> 
 +zip - -qr9 data/ guis/ meta/ scripts/ >> "$NAME".mojo.run 
 +</code>
  
 ======Create the hash file====== ======Create the hash file======
 <code> <code>
-sha256sum $Installer.bin > $Installer.bin.sha256+sha256sum $Installer > $Installer.sha256
 </code> </code>
 +
 ======Signing the hash file====== ======Signing the hash file======
 <code> <code>
-gpg -b --armor -u team@liflg.org $Installer.bin.sha256+gpg -b --armor -u team@liflg.org $Installer.sha256
 </code> </code>
 ======Bugreports by the LIFLG team====== ======Bugreports by the LIFLG team======
Line 88: Line 101:
 http://bugzilla.icculus.org/show_bug.cgi?id=3131 http://bugzilla.icculus.org/show_bug.cgi?id=3131
  
 +  *  Wrong wording vs. automatically mount install CD/DVD
 +http://bugzilla.icculus.org/show_bug.cgi?id=4516
 == Closed/fixed reports == == Closed/fixed reports ==
  
projects/liflg/mojosetup.1253642515.txt.gz · Last modified: 2009/09/22 20:01 by kratz00