r379 - in trunk: . code/unix code/unix/setup

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Sun Nov 27 10:34:17 EST 2005


Author: ludwig
Date: 2005-11-27 10:34:16 -0500 (Sun, 27 Nov 2005)
New Revision: 379

Added:
   trunk/code/unix/setup/
   trunk/code/unix/setup/Makefile
   trunk/code/unix/setup/doit
   trunk/code/unix/setup/ioq3demo.sh
   trunk/code/unix/setup/ioquake3.sh
   trunk/code/unix/setup/setup.xml
Modified:
   trunk/Makefile
   trunk/code/unix/Makefile
Log:
files to create a loki-setup based installer. run "make installer"


Modified: trunk/Makefile
===================================================================
--- trunk/Makefile	2005-11-27 15:01:56 UTC (rev 378)
+++ trunk/Makefile	2005-11-27 15:34:16 UTC (rev 379)
@@ -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 @@
 	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

Modified: trunk/code/unix/Makefile
===================================================================
--- trunk/code/unix/Makefile	2005-11-27 15:01:56 UTC (rev 378)
+++ trunk/code/unix/Makefile	2005-11-27 15:34:16 UTC (rev 379)
@@ -1762,6 +1762,7 @@
 					$(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 @@
 	$(MAKE) -C ../tools/asm clean uninstall
 	$(MAKE) -C ../tools/lcc clean uninstall
 
+installer: build_release
+	$(MAKE) VERSION=$(VERSION) -C setup
+
 #############################################################################
 # DEPENDENCIES
 #############################################################################

Added: trunk/code/unix/setup/Makefile
===================================================================
--- trunk/code/unix/setup/Makefile	2005-11-27 15:01:56 UTC (rev 378)
+++ trunk/code/unix/setup/Makefile	2005-11-27 15:34:16 UTC (rev 379)
@@ -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

Added: trunk/code/unix/setup/doit
===================================================================
--- trunk/code/unix/setup/doit	2005-11-27 15:01:56 UTC (rev 378)
+++ trunk/code/unix/setup/doit	2005-11-27 15:34:16 UTC (rev 379)
@@ -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


Property changes on: trunk/code/unix/setup/doit
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/code/unix/setup/ioq3demo.sh
===================================================================
--- trunk/code/unix/setup/ioq3demo.sh	2005-11-27 15:01:56 UTC (rev 378)
+++ trunk/code/unix/setup/ioq3demo.sh	2005-11-27 15:34:16 UTC (rev 379)
@@ -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 "$@"

Added: trunk/code/unix/setup/ioquake3.sh
===================================================================
--- trunk/code/unix/setup/ioquake3.sh	2005-11-27 15:01:56 UTC (rev 378)
+++ trunk/code/unix/setup/ioquake3.sh	2005-11-27 15:34:16 UTC (rev 379)
@@ -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 "$@"

Added: trunk/code/unix/setup/setup.xml
===================================================================
--- trunk/code/unix/setup/setup.xml	2005-11-27 15:01:56 UTC (rev 378)
+++ trunk/code/unix/setup/setup.xml	2005-11-27 15:34:16 UTC (rev 379)
@@ -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>




More information about the quake3-commits mailing list