[SCM] Packaging for the OpenArena engine branch, master, updated. debian/0.8.5-5-14-gc94edf7

Simon McVittie smcv at debian.org
Fri Oct 15 21:36:05 UTC 2010


The following commit has been merged in the master branch:
commit 17906a155dcea83081908326b3084b4ac1565d8e
Author: Simon McVittie <smcv at debian.org>
Date:   Fri Oct 15 00:05:35 2010 +0100

    Install wrapper scripts for ioquake3 instead of our own engine
    
    * Install wrapper scripts for ioquake3 instead of our own engine
      - therefore we no longer embed a copy of libjpeg (Closes: #495966)

diff --git a/debian/changelog b/debian/changelog
index d2a37c7..70cce57 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,5 +1,7 @@
 openarena (0.8.5-6) UNRELEASED; urgency=low
 
+  * Install wrapper scripts for ioquake3 instead of our own engine
+    - therefore we no longer embed a copy of libjpeg (Closes: #495966)
   * Set up debian/rules so DEB_BUILD_OPTIONS="noopt" does a debug build
   * Install example scripts to debug OpenArena with gdb, as
     /usr/share/games/openarena/openarena{,-server}-gdb
diff --git a/debian/control b/debian/control
index 10a6efa..db21b5c 100644
--- a/debian/control
+++ b/debian/control
@@ -15,7 +15,8 @@ Package: openarena
 Architecture: any
 Depends: ${misc:Depends}, ${shlibs:Depends},
          openarena-data (>= 0.8.5-3~), openarena-data (<< 0.8.6~),
-         openarena-server (= ${binary:Version})
+         openarena-server (= ${binary:Version}),
+         ioquake3
 Description: fast-paced 3D first-person shooter
  OpenArena is an open-source content package for ioQuake3 licensed under the
  GPL, effectively creating a free stand-alone game. Though OpenArena is a free
@@ -29,7 +30,8 @@ Description: fast-paced 3D first-person shooter
 Package: openarena-server
 Architecture: any
 Depends: ${misc:Depends}, ${shlibs:Depends},
-         openarena-data (>= 0.8.5), openarena-data (<< 0.8.6~)
+         openarena-data (>= 0.8.5), openarena-data (<< 0.8.6~),
+         ioquake3-server
 Description: server and game logic for the game OpenArena
  OpenArena is an open-source content package for ioQuake3 licensed under the
  GPL, effectively creating a free stand-alone game. Though OpenArena is a free
diff --git a/debian/openarena-server.install b/debian/openarena-server.install
index af5d7a7..c6ad6b7 100644
--- a/debian/openarena-server.install
+++ b/debian/openarena-server.install
@@ -1,5 +1,3 @@
-debian/tmp/usr/games/openarena-server
+debian/scripts/openarena-server usr/games
 debian/tmp/usr/lib/games/openarena/*/*.so
 debian/tmp/usr/lib/games/openarena/*/*/*.so
-debian/scripts/openarena-server-gdb usr/share/games/openarena
-debian/scripts/crash.gdb usr/share/games/openarena
diff --git a/debian/openarena.install b/debian/openarena.install
index 3ea9b62..8a19981 100644
--- a/debian/openarena.install
+++ b/debian/openarena.install
@@ -1,5 +1,4 @@
-debian/tmp/usr/games/openarena
+debian/scripts/openarena usr/games
 debian/openarena.desktop usr/share/applications
 debian/openarena128.png usr/share/icons/hicolor/128x128/apps
 debian/openarena32.xpm usr/share/pixmaps
-debian/scripts/openarena-gdb usr/share/games/openarena
diff --git a/debian/rules b/debian/rules
index 71832ed..e1fce05 100755
--- a/debian/rules
+++ b/debian/rules
@@ -59,7 +59,7 @@ GAME_081_OPTIONS = \
 	BUILD_DIR=build-0.8.1-compat \
 	OPENARENA_081_COMPATIBLE=1
 
-build: build-stamp
+build: build-stamp debian/scripts/openarena debian/scripts/openarena-server
 build-stamp:
 	dh_testdir
 	$(MAKE) -C engine $(ENGINE_OPTIONS) $(TARGET)
@@ -67,6 +67,24 @@ build-stamp:
 	$(MAKE) -C game $(GAME_081_OPTIONS) $(TARGET)
 	touch $@
 
+debian/scripts/openarena: debian/scripts/openarena.in
+	install -d build
+	sed \
+		-e 's!@IOQ3BINARY@!ioquake3!' \
+		-e 's!@IOQ3SELF@!openarena!' \
+		-e 's!@IOQ3ROLE@!client!' \
+		< $< > $@
+	chmod +x $@
+
+debian/scripts/openarena-server: debian/scripts/openarena.in
+	install -d build
+	sed \
+		-e 's!@IOQ3BINARY@!ioq3ded!' \
+		-e 's!@IOQ3SELF@!openarena-server!' \
+		-e 's!@IOQ3ROLE@!server!' \
+		< $< > $@
+	chmod +x $@
+
 clean:
 	dh_testdir
 	dh_testroot
@@ -75,6 +93,8 @@ clean:
 	rm -rf game/build
 	rm -rf game/build-0.8.1-compat
 	rm -f debian/openarena32.xpm
+	rm -f debian/scripts/openarena
+	rm -f debian/scripts/openarena-server
 	dh_clean
 
 install: build
@@ -84,10 +104,6 @@ install: build
 	install -d debian/tmp/usr/games
 	install -d debian/tmp/usr/lib/games/openarena/baseoa/pak0/
 	install -d debian/tmp/usr/lib/games/openarena/missionpack/
-	install engine/build/release-$(Q3PLATFORM)-$(Q3ARCH)/ioquake3.$(Q3ARCH) \
-		debian/tmp/usr/games/openarena
-	install engine/build/release-$(Q3PLATFORM)-$(Q3ARCH)/ioq3ded.$(Q3ARCH) \
-		debian/tmp/usr/games/openarena-server
 	install -m644 game/build/release-$(Q3PLATFORM)-$(Q3ARCH)/baseq3/*.so \
 		debian/tmp/usr/lib/games/openarena/baseoa/
 	install -m644 game/build-0.8.1-compat/release-$(Q3PLATFORM)-$(Q3ARCH)/baseq3/*.so \
diff --git a/debian/scripts/crash.gdb b/debian/scripts/crash.gdb
deleted file mode 100644
index 46af122..0000000
--- a/debian/scripts/crash.gdb
+++ /dev/null
@@ -1,4 +0,0 @@
-run
-thread apply all bt full
-kill
-quit
diff --git a/debian/scripts/openarena-gdb b/debian/scripts/openarena-gdb
deleted file mode 100755
index d3ffca4..0000000
--- a/debian/scripts/openarena-gdb
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/sh
-exec gdb -return-child-result -batch -x /usr/share/games/openarena/crash.gdb --args /usr/games/openarena "$@"
diff --git a/debian/scripts/openarena-server-gdb b/debian/scripts/openarena-server-gdb
deleted file mode 100755
index d3ffca4..0000000
--- a/debian/scripts/openarena-server-gdb
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/sh
-exec gdb -return-child-result -batch -x /usr/share/games/openarena/crash.gdb --args /usr/games/openarena "$@"
diff --git a/debian/scripts/openarena.in b/debian/scripts/openarena.in
new file mode 100644
index 0000000..8dc7b78
--- /dev/null
+++ b/debian/scripts/openarena.in
@@ -0,0 +1,64 @@
+#!/bin/sh
+
+# quake3 or quake3-server or whatever
+IOQ3SELF=@IOQ3SELF@
+# "server" or "client"
+IOQ3ROLE=@IOQ3ROLE@
+# ioquake3 or ioq3ded
+IOQ3BINARY=@IOQ3BINARY@
+# q3a or openarena
+IOQ3DOTDIR=openarena
+
+ENGINE="/usr/lib/ioquake3/${IOQ3BINARY}"
+
+DEBUGGER="$OPENARENA_DEBUGGER"
+
+if test -n "$OPENARENA_BACKTRACE"; then
+  DEBUGGER="gdb -return-child-result -batch -ex run -ex 'thread apply all bt full' -ex kill -ex quit --args"
+fi
+
+# we're a standalone game
+CVARS="+set com_standalone 1"
+CVARS="$CVARS +set fs_basegame baseoa"
+CVARS="$CVARS +set fs_basepath /usr/lib/games/openarena"
+CVARS="$CVARS +set fs_homepath \"$HOME/.$IOQ3DOTDIR\""
+# OA uses a different protocol number to reflect incompatible game content
+CVARS="$CVARS +set protocol 71"
+# OA's default master server is different
+CVARS="$CVARS +set sv_master1 dpmaster.deathmask.net"
+# update.quake3arena.com is pretty irrelevant if you're playing OA
+CVARS="$CVARS +set cl_motd 0"
+
+QUIET=0
+
+EXCUSE="\
+OpenArena ${IOQ3ROLE} wrapper for Debian\n\
+\n\
+Usage: ${IOQ3SELF} [OPTION]...\n\
+\n\
+ -h, --help\t\tDisplay this help\n\
+ -q, --quiet\t\tDisable console output\n\
+  +<internal command>\tPass commands to the engine\n"
+
+while [ "$1" != "" ]; do
+  case "$1" in
+    -h|--help)
+      echo ${EXCUSE}
+      exit 0
+      ;;
+    -q|--quiet)
+      CVARS="$CVARS +set ttycon 0"
+      QUIET=1
+      ;;
+    *)
+      break
+      ;;
+  esac
+  shift
+done
+
+if test "z$QUIET" = z1; then
+  exec >/dev/null 2>&1;
+fi
+
+exec ${DEBUGGER} ${ENGINE} ${CVARS} "$@"

-- 
Packaging for the OpenArena engine



More information about the Pkg-games-commits mailing list