diff options
Diffstat (limited to 'src/unix/setup')
-rw-r--r-- | src/unix/setup/Makefile | 15 | ||||
-rwxr-xr-x | src/unix/setup/doit | 65 | ||||
-rw-r--r-- | src/unix/setup/ioq3demo.sh | 44 | ||||
-rw-r--r-- | src/unix/setup/ioquake3.sh | 44 | ||||
-rw-r--r-- | src/unix/setup/setup.xml | 30 |
5 files changed, 198 insertions, 0 deletions
diff --git a/src/unix/setup/Makefile b/src/unix/setup/Makefile new file mode 100644 index 00000000..a25cd652 --- /dev/null +++ b/src/unix/setup/Makefile @@ -0,0 +1,15 @@ +VERSION=FIXME +RELEASE=1 + +all: + VERSION=$(VERSION) RELEASE=$(RELEASE) ./doit + +sign: + for i in *.run; do \ + gpg -bao $$i.asc $$i; \ + done + +clean: + rm -rf *.run image + +.PHONY: all sign clean diff --git a/src/unix/setup/doit b/src/unix/setup/doit new file mode 100755 index 00000000..a3c8e0a3 --- /dev/null +++ b/src/unix/setup/doit @@ -0,0 +1,65 @@ +#!/bin/bash + +: ${MAKESELF:=/usr/share/loki-setup/makeself} +: ${SETUPIMAGE:=/usr/share/loki-setup/image} + +: ${VERSION:=0.0_`date +%Y%m%d%H%M`} +: ${RELEASE:=0} + +set -e +set -x + +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 +mkdir image + +### loki-setup files +cp -a $SETUPIMAGE/{setup.data,setup.sh} image/ + +### splash +rm -f image/setup.data/splash.xpm +[ -e splash.xpm ] && cp splash.xpm image/setup.data/splash.xpm + +### binaries +mkdir image/tmp +pushd image/tmp +mkdir baseq3 demoq3 missionpack +src="../../../release$arch-glibc/" +install -m 755 $src/linuxquake3 ioquake3.$arch +install -m 755 $src/linuxq3ded ioq3ded.$arch +install -m 644 $src/baseq3/*.so baseq3 +install -m 644 $src/missionpack/*.so missionpack +pushd demoq3 +ln -s ../baseq3/*.so . +popd +popd + +tar --owner=root --group=root -C image/tmp -cf image/ioquake3.tar . +rm -rf image/tmp + +### setup.xml +sed 's/@VERSION@/'$VERSION'/g' < setup.xml > image/setup.data/setup.xml + +### start script +mkdir -p image/bin/Linux/$setup_arch +for i in $links; do + 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 644 ../../../README image/README +install -m 644 ../../../COPYING.txt image/COPYING + +### makeself installer +$MAKESELF/makeself.sh image ioquake3-$VERSION-$RELEASE.$arch.run "icculus.org/quake3 $VERSION" ./setup.sh diff --git a/src/unix/setup/ioq3demo.sh b/src/unix/setup/ioq3demo.sh new file mode 100644 index 00000000..e022afed --- /dev/null +++ b/src/unix/setup/ioq3demo.sh @@ -0,0 +1,44 @@ +#!/bin/sh + +readlink() { + local path=$1 ll + + if [ -L "$path" ]; then + ll="$(LC_ALL=C ls -l "$path" 2> /dev/null)" && + echo "${ll/* -> }" + else + return 1 + fi +} + +script=$0 +count=0 +while [ -L "$script" ] +do + script=$(readlink "$script") + count=`expr $count + 1` + if [ $count -gt 100 ] + then + echo "Too many symbolic links" + exit 1 + fi +done +cd "`dirname $script`" + + +lib=lib +test -e lib64 && lib=lib64 + +if test "x$LD_LIBRARY_PATH" = x; then + LD_LIBRARY_PATH="`pwd`/$lib" +else + LD_LIBRARY_PATH="`pwd`/$lib:$LD_LIBRARY_PATH" +fi +export LD_LIBRARY_PATH + +arch=`uname -m` +case "$arch" in + i?86) arch=i386 ;; +esac + +exec ./ioquake3.$arch +set sv_pure 0 +set vm_cgame 0 +set vm_game 0 +set vm_ui 0 +set fs_game demoq3 "$@" diff --git a/src/unix/setup/ioquake3.sh b/src/unix/setup/ioquake3.sh new file mode 100644 index 00000000..39c651ca --- /dev/null +++ b/src/unix/setup/ioquake3.sh @@ -0,0 +1,44 @@ +#!/bin/sh + +readlink() { + local path=$1 ll + + if [ -L "$path" ]; then + ll="$(LC_ALL=C ls -l "$path" 2> /dev/null)" && + echo "${ll/* -> }" + else + return 1 + fi +} + +script=$0 +count=0 +while [ -L "$script" ] +do + script=$(readlink "$script") + count=`expr $count + 1` + if [ $count -gt 100 ] + then + echo "Too many symbolic links" + exit 1 + fi +done +cd "`dirname $script`" + + +lib=lib +test -e lib64 && lib=lib64 + +if test "x$LD_LIBRARY_PATH" = x; then + LD_LIBRARY_PATH="`pwd`/$lib" +else + LD_LIBRARY_PATH="`pwd`/$lib:$LD_LIBRARY_PATH" +fi +export LD_LIBRARY_PATH + +arch=`uname -m` +case "$arch" in + i?86) arch=i386 ;; +esac + +exec ./ioquake3.$arch "$@" diff --git a/src/unix/setup/setup.xml b/src/unix/setup/setup.xml new file mode 100644 index 00000000..172b933c --- /dev/null +++ b/src/unix/setup/setup.xml @@ -0,0 +1,30 @@ +<?xml version="1.0" standalone="yes"?> +<install product="ioquake3" + desc="icculus.org/quake3" + version="@VERSION@" + promptbinaries="yes"> + <readme> + README + </readme> + <eula> + COPYING + </eula> + <component name="Default" version="@VERSION@" default="yes"> + <option install="true" required="true"> + Quake 3 + + <binary arch="any" libc="any" symlink="ioquake3" icon="icon.xpm" play="yes" + name="icculus.org/quake3"> + ioquake3 + </binary> + <binary arch="any" libc="any" symlink="ioq3demo" icon="icon.xpm" play="no" + name="icculus.org/quake3 (Demo)"> + ioq3demo + </binary> + <files> + ioquake3.tar + icon.xpm + </files> + </option> + </component> +</install> |