files to create a loki-setup based installer. run "make installer"

This commit is contained in:
Ludwig Nussel 2005-11-27 15:34:16 +00:00
parent 64025e68f0
commit be42cb3201
7 changed files with 196 additions and 2 deletions

View file

@ -1,6 +1,6 @@
VERSION=1.33_SVN$(shell LANG=C svnversion .)
release debug clean distclean copyfiles:
release debug clean distclean copyfiles installer:
$(MAKE) -C code/unix $@
dist:
@ -10,4 +10,4 @@ dist:
tar --force-local -cjf quake3-$(VERSION).tar.bz2 quake3-$(VERSION)
rm -rf quake3-$(VERSION)
.PHONY: release debug clean distclean
.PHONY: release debug clean distclean copyfiles installer

View file

@ -1762,6 +1762,7 @@ copyfiles: build_release
$(COPYDIR)/missionpack/.
clean:clean-debug clean-release
$(MAKE) -C setup clean
clean2:
if [ -d $(B) ];then (find $(B) -name '*.d' -exec rm {} \;)fi
@ -1780,6 +1781,9 @@ distclean: clean
$(MAKE) -C ../tools/asm clean uninstall
$(MAKE) -C ../tools/lcc clean uninstall
installer: build_release
$(MAKE) VERSION=$(VERSION) -C setup
#############################################################################
# DEPENDENCIES
#############################################################################

15
code/unix/setup/Makefile Normal file
View file

@ -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

57
code/unix/setup/doit Executable file
View file

@ -0,0 +1,57 @@
#!/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`
case "$arch" in
i?86) arch=i386 ;;
esac
rm -rf image
mkdir image
### loki-setup files
cp -a $SETUPIMAGE/{setup.data,setup.sh} image/
### splash
convert ../../../web/images/quake3.jpg 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/$arch
ln -s x86_64 image/bin/Linux/amd64 # $§&%!!
install -m 755 ioquake3.sh image/bin/Linux/$arch/ioquake3
install -m 755 ioq3demo.sh image/bin/Linux/$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

View file

@ -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 "$@"

View file

@ -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 "$@"

30
code/unix/setup/setup.xml Normal file
View file

@ -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>