mirror of
https://github.com/UberGames/ioef.git
synced 2024-11-24 13:11:30 +00:00
Extend the installer to offer more options
This commit is contained in:
parent
cec7660885
commit
c34c94294d
2 changed files with 107 additions and 44 deletions
|
@ -1,7 +1,7 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
: ${MAKESELF:=/usr/share/loki-setup/makeself}
|
: ${MAKESELF:=/usr/share/loki_setup/makeself}
|
||||||
: ${SETUPIMAGE:=/usr/share/loki-setup/image}
|
: ${SETUPIMAGE:=/usr/share/loki_setup/image}
|
||||||
|
|
||||||
: ${VERSION:=0.0_`date +%Y%m%d%H%M`}
|
: ${VERSION:=0.0_`date +%Y%m%d%H%M`}
|
||||||
: ${RELEASE:=0}
|
: ${RELEASE:=0}
|
||||||
|
@ -11,14 +11,6 @@ set -x
|
||||||
|
|
||||||
arch=`uname -m`
|
arch=`uname -m`
|
||||||
|
|
||||||
# $§&%!!
|
|
||||||
setup_arch=$arch
|
|
||||||
links=
|
|
||||||
case "$arch" in
|
|
||||||
i?86) arch=i386; setup_arch=x86; links="amd64 x86_64" ;;
|
|
||||||
x86_64) links=amd64
|
|
||||||
esac
|
|
||||||
|
|
||||||
rm -rf image
|
rm -rf image
|
||||||
mkdir image
|
mkdir image
|
||||||
|
|
||||||
|
@ -32,36 +24,59 @@ rm -f image/quake3.png
|
||||||
cp ../quake3.png image/quake3.png
|
cp ../quake3.png image/quake3.png
|
||||||
|
|
||||||
### binaries
|
### binaries
|
||||||
|
src="../../../../../build"
|
||||||
|
|
||||||
mkdir image/tmp
|
mkdir image/tmp
|
||||||
pushd image/tmp
|
pushd image/tmp
|
||||||
mkdir baseq3 demoq3 missionpack
|
mkdir baseq3 demoq3 missionpack
|
||||||
src="../../../../../build/release-linux-$arch/"
|
# 32 bit binaries
|
||||||
install -m 755 $src/ioquake3.$arch ioquake3.$arch
|
install -m 755 $src/release-linux-i386/ioquake3.i386 ioquake3.i386
|
||||||
install -m 755 $src/ioq3ded.$arch ioq3ded.$arch
|
install -m 755 $src/release-linux-i386/ioq3ded.i386 ioq3ded.i386
|
||||||
install -m 644 $src/baseq3/*.so baseq3
|
install -m 644 $src/release-linux-i386/baseq3/*.so baseq3
|
||||||
install -m 644 $src/missionpack/*.so missionpack
|
install -m 644 $src/release-linux-i386/missionpack/*.so missionpack
|
||||||
pushd demoq3
|
pushd demoq3
|
||||||
ln -s ../baseq3/*.so .
|
ln -s ../baseq3/*.so .
|
||||||
popd
|
popd
|
||||||
popd
|
popd
|
||||||
|
|
||||||
tar --owner=root --group=root -C image/tmp -cf image/ioquake3.tar .
|
tar --owner=root --group=root -C ./image/tmp -cf ./image/ioquake3.i386.tar .
|
||||||
|
rm -rf ./image/tmp
|
||||||
|
|
||||||
|
mkdir image/tmp
|
||||||
|
pushd image/tmp
|
||||||
|
mkdir baseq3 demoq3 missionpack
|
||||||
|
# 64 bit binaries
|
||||||
|
install -m 755 $src/release-linux-x86_64/ioquake3.x86_64 ioquake3.x86_64
|
||||||
|
install -m 755 $src/release-linux-x86_64/ioq3ded.x86_64 ioq3ded.x86_64
|
||||||
|
install -m 644 $src/release-linux-x86_64/baseq3/*.so baseq3
|
||||||
|
install -m 644 $src/release-linux-x86_64/missionpack/*.so missionpack
|
||||||
|
pushd demoq3
|
||||||
|
ln -s ../baseq3/*.so .
|
||||||
|
popd
|
||||||
|
popd
|
||||||
|
|
||||||
|
tar --owner=root --group=root -C ./image/tmp -cf ./image/ioquake3.x86_64.tar .
|
||||||
rm -rf image/tmp
|
rm -rf image/tmp
|
||||||
|
|
||||||
|
# patch pk3 files
|
||||||
|
install -m 644 ./idpatchpk3s.tar image/idpatchpk3s.tar
|
||||||
|
|
||||||
### setup.xml
|
### setup.xml
|
||||||
sed 's/@VERSION@/'$VERSION'/g' < setup.xml > image/setup.data/setup.xml
|
sed 's/@VERSION@/'$VERSION'/g' < setup.xml > image/setup.data/setup.xml
|
||||||
|
|
||||||
### start script
|
### start script
|
||||||
mkdir -p image/bin/Linux/$setup_arch
|
mkdir -p image/bin/Linux/x86
|
||||||
for i in $links; do
|
mkdir -p image/bin/Linux/x86_64
|
||||||
ln -s $setup_arch image/bin/Linux/$i
|
|
||||||
done
|
|
||||||
install -m 755 ioquake3.sh image/bin/Linux/$setup_arch/ioquake3
|
|
||||||
install -m 755 ioq3demo.sh image/bin/Linux/$setup_arch/ioq3demo
|
|
||||||
|
|
||||||
### README and COPYING
|
install -m 755 ioquake3.sh image/bin/Linux/x86/ioquake3
|
||||||
|
install -m 755 ioq3demo.sh image/bin/Linux/x86/ioq3demo
|
||||||
|
install -m 755 ioquake3.sh image/bin/Linux/x86_64/ioquake3
|
||||||
|
install -m 755 ioq3demo.sh image/bin/Linux/x86_64/ioq3demo
|
||||||
|
|
||||||
|
### README, COPYING and EULA
|
||||||
install -m 644 ../../../README image/README
|
install -m 644 ../../../README image/README
|
||||||
install -m 644 ../../../COPYING.txt image/COPYING
|
install -m 644 ../../../COPYING.txt image/COPYING
|
||||||
|
install -m 644 ./id_patch_pk3s_Q3A_EULA.txt image/id_patch_pk3s_Q3A_EULA.txt
|
||||||
|
|
||||||
### makeself installer
|
### makeself installer
|
||||||
$MAKESELF/makeself.sh image ioquake3-$VERSION-$RELEASE.$arch.run "ioquake3 $VERSION" ./setup.sh
|
$MAKESELF/makeself.sh image ioquake3-$VERSION-$RELEASE.$arch.run "ioquake3 $VERSION" ./setup.sh
|
||||||
|
|
|
@ -3,34 +3,82 @@
|
||||||
desc="ioquake3"
|
desc="ioquake3"
|
||||||
version="@VERSION@"
|
version="@VERSION@"
|
||||||
update_url="http://www.icculus.org/quake3/updates.txt"
|
update_url="http://www.icculus.org/quake3/updates.txt"
|
||||||
promptbinaries="yes">
|
promptbinaries="yes"
|
||||||
|
reinstall="yes"
|
||||||
|
nopromptoverwrite="yes">
|
||||||
<readme>
|
<readme>
|
||||||
README
|
README
|
||||||
</readme>
|
</readme>
|
||||||
<!--
|
|
||||||
<eula>
|
<eula>
|
||||||
COPYING
|
id_patch_pk3s_Q3A_EULA.txt
|
||||||
</eula>
|
</eula>
|
||||||
-->
|
|
||||||
<component name="Default" version="@VERSION@" default="yes">
|
|
||||||
<option install="true" required="true">
|
|
||||||
Quake 3
|
|
||||||
|
|
||||||
<binary arch="any" libc="any" symlink="ioquake3" icon="quake3.png" play="yes"
|
<component name="Quake3 Arena gamedata" version="@VERSION@" showname="no" default="yes">
|
||||||
name="ioquake3">
|
<option install="true" size="457M">
|
||||||
ioquake3
|
<help>
|
||||||
</binary>
|
If you don't select this, you must make sure to copy pak0.pk3 to the
|
||||||
<files>
|
baseq3 directory manually.
|
||||||
ioquake3.tar
|
</help>
|
||||||
quake3.png
|
Quake3 Arena gamedata
|
||||||
</files>
|
<files cdromid="CD 1" path="baseq3" size="457M">
|
||||||
|
Quake3/baseq3/pak0.pk3
|
||||||
|
</files>
|
||||||
</option>
|
</option>
|
||||||
<option install="false" required="false">
|
<option required="true" install="true" show="false">
|
||||||
Quake 3 Demo start script
|
<files path="baseq3">
|
||||||
<binary arch="any" libc="any" symlink="ioq3demo" icon="quake3.png" play="no"
|
idpatchpk3s.tar
|
||||||
name="ioquake3 (Demo)">
|
</files>
|
||||||
ioq3demo
|
<files path="">
|
||||||
</binary>
|
COPYING
|
||||||
|
</files>
|
||||||
</option>
|
</option>
|
||||||
</component>
|
</component>
|
||||||
|
|
||||||
|
<component name="Quake3 Team Arena gamedata" version="@VERSION@" showname="no" default="yes">
|
||||||
|
<option install="true" size="457M">
|
||||||
|
<help>
|
||||||
|
If you don't select this, you must make sure to copy the TA pak0.pk3 to the
|
||||||
|
missionpack directory manually.
|
||||||
|
</help>
|
||||||
|
Quake3 Team Arena gamedata
|
||||||
|
<files cdromid="CD 2" path="missionpack" size="457M">
|
||||||
|
Setup/missionpack/pak0.pk3
|
||||||
|
</files>
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
|
<component arch="x86_64" name="x86_64" version="@VERSION@" showname="no">
|
||||||
|
<option arch="x86_64" install="true">
|
||||||
|
64 bit binaries
|
||||||
|
<binary arch="any" libc="any" symlink="ioquake3" icon="quake3.png"
|
||||||
|
menu="." name="ioquake3">
|
||||||
|
ioquake3
|
||||||
|
</binary>
|
||||||
|
<files>
|
||||||
|
ioquake3.x86_64.tar
|
||||||
|
quake3.png
|
||||||
|
</files>
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
|
|
||||||
|
<component if="|(x86,x86_64)" name="i386" version="@VERSION@" showname="no">
|
||||||
|
<option arch="x86_64" install="true">
|
||||||
|
32 bit binaries
|
||||||
|
<binary arch="any" libc="any" symlink="ioquake3" icon="quake3.png"
|
||||||
|
menu="." name="ioquake3">
|
||||||
|
ioquake3
|
||||||
|
</binary>
|
||||||
|
<files>
|
||||||
|
ioquake3.i386.tar
|
||||||
|
quake3.png
|
||||||
|
</files>
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
|
|
||||||
|
<cdrom id="CD 1" name="Quake 3 Arena installation CD">
|
||||||
|
Setup/BaseEF/pak0.pk3
|
||||||
|
</cdrom>
|
||||||
|
<cdrom id="CD 2" name="Quake 3 Team Arena installation CD">
|
||||||
|
Setup/missionpack/pak0.pk3
|
||||||
|
</cdrom>
|
||||||
|
|
||||||
</install>
|
</install>
|
||||||
|
|
Loading…
Reference in a new issue