--- ioquake3-1.36.orig/debian/rules +++ ioquake3-1.36/debian/rules @@ -0,0 +1,35 @@ +#!/usr/bin/make -f + +include /usr/share/cdbs/1/rules/debhelper.mk +include /usr/share/cdbs/1/class/makefile.mk +include /usr/share/cdbs/1/rules/patchsys-quilt.mk + +DEB_DESTDIR = $(CURDIR)/debian/tmp +DEB_DH_INSTALL_SOURCEDIR = $(DEB_DESTDIR) +DEB_DH_INSTALL_CHANGELOGS_ioquake3-common = ChangeLog +DEB_MAKE_BUILD_TARGET = release +DEB_MAKE_INSTALL_TARGET = copyfiles COPYDIR=$(DEB_DESTDIR)/usr/share/games/quake3 +DEB_INSTALL_DOCS_ALL = + + +install/ioquake3-common:: + install -D -m644 misc/quake3-tango.png $(DEB_DESTDIR)/usr/share/pixmaps/ioquake3.png + +install/ioquake3:: + mkdir -p $(DEB_DESTDIR)/usr/games + mv $(DEB_DESTDIR)/usr/share/games/quake3/ioquake3.* $(DEB_DESTDIR)/usr/games/ioquake3 + mv $(DEB_DESTDIR)/usr/share/games/quake3/ioquake3-smp.* $(DEB_DESTDIR)/usr/games/ioquake3-smp + install -D -m644 debian/ioquake3.desktop $(DEB_DESTDIR)/usr/share/applications/ioquake3.desktop + +install/ioquake3-server:: + mkdir -p $(DEB_DESTDIR)/usr/games + mv $(DEB_DESTDIR)/usr/share/games/quake3/ioq3ded.* $(DEB_DESTDIR)/usr/games/ioquake3-server + +binary-install/ioquake3:: + rm -rf $(CURDIR)/debian/ioquake3/usr/share/doc/ioquake3 + ln -s ioquake3-common $(CURDIR)/debian/ioquake3/usr/share/doc/ioquake3 + +binary-install/ioquake3-server:: + rm -rf $(CURDIR)/debian/ioquake3-server/usr/share/doc/ioquake3-server + ln -s ioquake3-common $(CURDIR)/debian/ioquake3-server/usr/share/doc/ioquake3-server + --- ioquake3-1.36.orig/debian/ioquake3-server.menu +++ ioquake3-1.36/debian/ioquake3-server.menu @@ -0,0 +1,4 @@ +?package(ioquake3-server): needs="text" section="Games/Action"\ + title="ioquake3 dedicated server" command="/usr/games/ioquake3-server"\ + icon="/usr/share/pixmaps/ioquake3.png" + --- ioquake3-1.36.orig/debian/ioquake3-common.docs +++ ioquake3-1.36/debian/ioquake3-common.docs @@ -0,0 +1,8 @@ +BUGS +COPYING.txt +id-readme.txt +md4-readme.txt +NOTTODO +README +TODO +voip-readme.txt --- ioquake3-1.36.orig/debian/ioquake3.install +++ ioquake3-1.36/debian/ioquake3.install @@ -0,0 +1,3 @@ +usr/games/ioquake3 +usr/games/ioquake3-smp +usr/share/applications/ioquake3.desktop --- ioquake3-1.36.orig/debian/ioquake3-tools.dirs +++ ioquake3-1.36/debian/ioquake3-tools.dirs @@ -0,0 +1 @@ +usr/bin --- ioquake3-1.36.orig/debian/compat +++ ioquake3-1.36/debian/compat @@ -0,0 +1 @@ +6 --- ioquake3-1.36.orig/debian/ioquake3-common.dirs +++ ioquake3-1.36/debian/ioquake3-common.dirs @@ -0,0 +1 @@ +usr/share/games/quake3 --- ioquake3-1.36.orig/debian/ioquake3-server.install +++ ioquake3-1.36/debian/ioquake3-server.install @@ -0,0 +1 @@ +usr/games/ioquake3-server --- ioquake3-1.36.orig/debian/control +++ ioquake3-1.36/debian/control @@ -0,0 +1,101 @@ +Source: ioquake3 +Section: games +Priority: extra +Maintainer: Pascal de Bruijn +Build-Depends: cdbs, debhelper (>= 6), quilt, + libcurl4-gnutls-dev | libcurl4-openssl-dev, libopenal-dev, libsdl1.2-dev, + libogg-dev, libvorbis-dev, libgl1-mesa-dev +Standards-Version: 3.8.4 +Homepage: http://ioquake3.org/ +Vcs-svn: svn://svn.icculus.org/quake3/trunk +Vcs-Browser: http://svn.icculus.org/quake3/trunk/ + +Package: ioquake3-common +Architecture: any +Recommends: ioquake3 | ioquake3-server, quake3-data +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Open Source Quake 3 Release Common Files + This project aims to build upon id Software's Quake 3 source code release. + The source code was released on August 20, 2005 under the GPLv2. Since then, + we have been cleaning up, fixing bugs, and adding features. + . + Our permanent goal is to create the open source Quake 3 distribution upon + which people base their games and projects. We also seek to have the perfect + version of the engine for playing Quake 3: Arena, Team Arena, and all popular + mods. This distribution of the engine has been ported to many new platforms + and has had a slew of new features added, along with massive bug + extermination. While we don't have PunkBuster (and never will), we do have + more security for servers and clients from various bugfixes which aren't in + id's client. Our gracious hosting benefactor (Subversion and mailing lists) + is icculus.org, which is also home to a number of fine projects besides + ioquake3. + . + This package contains files which are required both by the client and the + server package. + +Package: ioquake3 +Architecture: any +Depends: ioquake3-common (= ${binary:Version}), + ${shlibs:Depends}, ${misc:Depends} +Description: Open Source Quake 3 Release Client + This project aims to build upon id Software's Quake 3 source code release. + The source code was released on August 20, 2005 under the GPLv2. Since then, + we have been cleaning up, fixing bugs, and adding features. + . + Our permanent goal is to create the open source Quake 3 distribution upon + which people base their games and projects. We also seek to have the perfect + version of the engine for playing Quake 3: Arena, Team Arena, and all popular + mods. This distribution of the engine has been ported to many new platforms + and has had a slew of new features added, along with massive bug + extermination. While we don't have PunkBuster (and never will), we do have + more security for servers and clients from various bugfixes which aren't in + id's client. Our gracious hosting benefactor (Subversion and mailing lists) + is icculus.org, which is also home to a number of fine projects besides + ioquake3. + . + This package contains the client, which is required to play the Quake 3 game. + +Package: ioquake3-server +Architecture: any +Depends: ioquake3-common (= ${binary:Version}), + ${shlibs:Depends}, ${misc:Depends} +Description: Open Source Quake 3 Release Server + This project aims to build upon id Software's Quake 3 source code release. + The source code was released on August 20, 2005 under the GPLv2. Since then, + we have been cleaning up, fixing bugs, and adding features. + . + Our permanent goal is to create the open source Quake 3 distribution upon + which people base their games and projects. We also seek to have the perfect + version of the engine for playing Quake 3: Arena, Team Arena, and all popular + mods. This distribution of the engine has been ported to many new platforms + and has had a slew of new features added, along with massive bug + extermination. While we don't have PunkBuster (and never will), we do have + more security for servers and clients from various bugfixes which aren't in + id's client. Our gracious hosting benefactor (Subversion and mailing lists) + is icculus.org, which is also home to a number of fine projects besides + ioquake3. + . + This package contains the dedicated server to host a Quake 3 game. + + +Package: ioquake3-tools +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Open Source Quake 3 Release Development Tools + This project aims to build upon id Software's Quake 3 source code release. + The source code was released on August 20, 2005 under the GPLv2. Since then, + we have been cleaning up, fixing bugs, and adding features. + . + Our permanent goal is to create the open source Quake 3 distribution upon + which people base their games and projects. We also seek to have the perfect + version of the engine for playing Quake 3: Arena, Team Arena, and all popular + mods. This distribution of the engine has been ported to many new platforms + and has had a slew of new features added, along with massive bug + extermination. While we don't have PunkBuster (and never will), we do have + more security for servers and clients from various bugfixes which aren't in + id's client. Our gracious hosting benefactor (Subversion and mailing lists) + is icculus.org, which is also home to a number of fine projects besides + ioquake3. + . + This package contains tools to build QVM files for the Quake 3 engine. + --- ioquake3-1.36.orig/debian/changelog +++ ioquake3-1.36/debian/changelog @@ -0,0 +1,51 @@ +ioquake3 (1.36-1pmjdebruijn4~lucid) lucid; urgency=low + + * Use Tango icon. + + -- Pascal de Bruijn Sun, 11 Jul 2010 17:23:33 +0200 + +ioquake3 (1.36-1pmjdebruijn3~lucid) lucid; urgency=low + + * Fix .desktop file. + + -- Pascal de Bruijn Sun, 04 Jul 2010 17:19:15 +0200 + +ioquake3 (1.36-1pmjdebruijn2~lucid) lucid; urgency=low + + * Use memmove instead of strcpy for overlapping memory regions + (Ubuntu LP: #554748). + * Segfault when deleting non-existent ban address 0, thanks Guillaume + Delacour (Debian Bug #532212). + * Stop shipping the rebuilt QVMs and SOs. + + -- Pascal de Bruijn Sun, 04 Jul 2010 14:34:37 +0200 + +ioquake3 (1.36-1pmjdebruijn1~lucid) lucid; urgency=low + + * Ported Timo Röhling package to Ubuntu Lucid. + + -- Pascal de Bruijn Wed, 19 May 2010 23:31:20 +0200 + +ioquake3 (1.36-1~karmic4) karmic; urgency=low + + * Fixed architecture detection code for pbuilder chroot. + + -- Timo Röhling Wed, 25 Nov 2009 00:19:46 +0100 + +ioquake3 (1.36-1~karmic3) karmic; urgency=low + + * Fixed missing icon in application menu. + + -- Timo Röhling Tue, 24 Nov 2009 22:06:20 +0100 + +ioquake3 (1.36-1~karmic2) karmic; urgency=low + + * Added missing files. + + -- Timo Röhling Mon, 23 Nov 2009 21:51:16 +0100 + +ioquake3 (1.36-1~karmic1) karmic; urgency=low + + * Initial Release. + + -- Timo Röhling Mon, 23 Nov 2009 21:51:16 +0100 --- ioquake3-1.36.orig/debian/copyright +++ ioquake3-1.36/debian/copyright @@ -0,0 +1,37 @@ +This package was debianized by: + + Timo Röhling on Mon, 23 Nov 2009 21:51:16 +0100 + +It was downloaded from: + + http://ioquake3.org/ + +Copyright: + + Copyright (C) 1999-2005 Id Software, Inc. + +License: + + This package is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License version 2 as + published by the Free Software Foundation. + + This package is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this package; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +On Debian systems, the complete text of the GNU General +Public License version 2 can be found in `/usr/share/common-licenses/GPL-2'. + +The Debian packaging is: + + Copyright (C) 2009 Timo Röhling + +and is licensed under the GPL version 3, +see `/usr/share/common-licenses/GPL-3'. + --- ioquake3-1.36.orig/debian/ioquake3.desktop +++ ioquake3-1.36/debian/ioquake3.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Name=Quake III Arena +GenericName=First Person Shooter +Exec=/usr/games/ioquake3 +Type=Application +Terminal=false +Icon=/usr/share/pixmaps/ioquake3.png +Categories=Game;ArcadeGame; + --- ioquake3-1.36.orig/debian/ioquake3-common.install +++ ioquake3-1.36/debian/ioquake3-common.install @@ -0,0 +1 @@ +usr/share/pixmaps --- ioquake3-1.36.orig/debian/ioquake3-tools.install +++ ioquake3-1.36/debian/ioquake3-tools.install @@ -0,0 +1,2 @@ +usr/share/games/quake3/q3* usr/bin +usr/share/games/quake3/lburg usr/bin --- ioquake3-1.36.orig/debian/ioquake3.dirs +++ ioquake3-1.36/debian/ioquake3.dirs @@ -0,0 +1 @@ +usr/games --- ioquake3-1.36.orig/debian/ioquake3-server.dirs +++ ioquake3-1.36/debian/ioquake3-server.dirs @@ -0,0 +1 @@ +usr/games --- ioquake3-1.36.orig/debian/ioquake3.menu +++ ioquake3-1.36/debian/ioquake3.menu @@ -0,0 +1,4 @@ +?package(ioquake3):needs="x11" section="Games/Action"\ + title="ioquake3" command="/usr/games/ioquake3"\ + icon="/usr/share/pixmaps/ioquake3.png" + --- ioquake3-1.36.orig/debian/patches/delban_0_segfault.diff +++ ioquake3-1.36/debian/patches/delban_0_segfault.diff @@ -0,0 +1,13 @@ +# http://bugs.debian.org/532212 +# Patch by Guillaume Delacour +--- openarena-0.8.1.orig/code/server/sv_ccmds.c ++++ openarena-0.8.1/code/server/sv_ccmds.c +@@ -752,7 +752,7 @@ + + todel = atoi(Cmd_Argv(1)); + +- if(todel < 0 || todel > serverBansCount) ++ if(todel <= 0 || todel > serverBansCount) + return; + + for(index = count = 0; index < serverBansCount; index++) --- ioquake3-1.36.orig/debian/patches/series +++ ioquake3-1.36/debian/patches/series @@ -0,0 +1,3 @@ +build_config.patch +delban_0_segfault.diff +memmove.patch --- ioquake3-1.36.orig/debian/patches/build_config.patch +++ ioquake3-1.36/debian/patches/build_config.patch @@ -0,0 +1,97 @@ +diff -Nurpd ioquake3-1.36-orig/Makefile ioquake3-1.36-hack/Makefile +--- ioquake3-1.36-orig/Makefile 2009-04-22 20:54:48.000000000 +0200 ++++ ioquake3-1.36-hack/Makefile 2010-07-04 14:43:58.270374598 +0200 +@@ -4,25 +4,6 @@ + # GNU Make required + # + +-COMPILE_PLATFORM=$(shell uname|sed -e s/_.*//|tr '[:upper:]' '[:lower:]') +- +-COMPILE_ARCH=$(shell uname -m | sed -e s/i.86/i386/) +- +-ifeq ($(COMPILE_PLATFORM),sunos) +- # Solaris uname and GNU uname differ +- COMPILE_ARCH=$(shell uname -p | sed -e s/i.86/i386/) +-endif +-ifeq ($(COMPILE_PLATFORM),darwin) +- # Apple does some things a little differently... +- COMPILE_ARCH=$(shell uname -p | sed -e s/i.86/i386/) +-endif +- +-ifeq ($(COMPILE_PLATFORM),mingw32) +- ifeq ($(COMPILE_ARCH),i386) +- COMPILE_ARCH=x86 +- endif +-endif +- + ifndef BUILD_STANDALONE + BUILD_STANDALONE = + endif +@@ -2063,18 +2044,21 @@ TOOLSOBJ = $(LBURGOBJ) $(Q3CPPOBJ) $(Q3R + + + copyfiles: release +- @if [ ! -d $(COPYDIR)/baseq3 ]; then echo "You need to set COPYDIR to where your Quake3 data is!"; fi + -$(MKDIR) -p -m 0755 $(COPYDIR)/baseq3 + -$(MKDIR) -p -m 0755 $(COPYDIR)/missionpack ++ $(INSTALL) -m0755 $(BR)/tools/lburg/lburg$(BINEXT) $(COPYDIR)/. ++ $(INSTALL) -m0755 $(BR)/tools/q3rcc$(BINEXT) $(COPYDIR)/. ++ $(INSTALL) -m0755 $(BR)/tools/q3cpp$(BINEXT) $(COPYDIR)/. ++ $(INSTALL) -m0755 $(BR)/tools/q3lcc$(BINEXT) $(COPYDIR)/. ++ $(INSTALL) -m0755 $(BR)/tools/q3asm$(BINEXT) $(COPYDIR)/. + + ifneq ($(BUILD_CLIENT),0) + $(INSTALL) -s -m 0755 $(BR)/ioquake3.$(ARCH)$(BINEXT) $(COPYDIR)/ioquake3.$(ARCH)$(BINEXT) + endif + +-# Don't copy the SMP until it's working together with SDL. +-#ifneq ($(BUILD_CLIENT_SMP),0) +-# $(INSTALL) -s -m 0755 $(BR)/ioquake3-smp.$(ARCH)$(BINEXT) $(COPYDIR)/ioquake3-smp.$(ARCH)$(BINEXT) +-#endif ++ifneq ($(BUILD_CLIENT_SMP),0) ++ $(INSTALL) -s -m 0755 $(BR)/ioquake3-smp.$(ARCH)$(BINEXT) $(COPYDIR)/ioquake3-smp.$(ARCH)$(BINEXT) ++endif + + ifneq ($(BUILD_SERVER),0) + @if [ -f $(BR)/ioq3ded.$(ARCH)$(BINEXT) ]; then \ +@@ -2100,6 +2084,19 @@ ifneq ($(BUILD_GAME_SO),0) + endif + endif + ++ifneq ($(BUILD_GAME_QVM),0) ++ -$(MKDIR) -p -m 0755 $(COPYDIR)/baseq3/vm ++ $(INSTALL) -m0644 $(BR)/baseq3/vm/cgame.qvm $(COPYDIR)/baseq3/vm/. ++ $(INSTALL) -m0644 $(BR)/baseq3/vm/qagame.qvm $(COPYDIR)/baseq3/vm/. ++ $(INSTALL) -m0644 $(BR)/baseq3/vm/ui.qvm $(COPYDIR)/baseq3/vm/. ++ ifneq ($(BUILD_MISSIONPACK),0) ++ -$(MKDIR) -p -m 0755 $(COPYDIR)/missionpack/vm ++ $(INSTALL) -m0644 $(BR)/missionpack/vm/cgame.qvm $(COPYDIR)/missionpack/vm/. ++ $(INSTALL) -m0644 $(BR)/missionpack/vm/qagame.qvm $(COPYDIR)/missionpack/vm/. ++ $(INSTALL) -m0644 $(BR)/missionpack/vm/ui.qvm $(COPYDIR)/missionpack/vm/. ++ endif ++endif ++ + clean: clean-debug clean-release + ifeq ($(PLATFORM),mingw32) + @$(MAKE) -C $(NSISDIR) clean +diff -Nurpd ioquake3-1.36-orig/Makefile.local ioquake3-1.36-hack/Makefile.local +--- ioquake3-1.36-orig/Makefile.local 1970-01-01 01:00:00.000000000 +0100 ++++ ioquake3-1.36-hack/Makefile.local 2010-07-04 14:40:15.890372874 +0200 +@@ -0,0 +1,17 @@ ++COMPILE_PLATFORM:=$(shell dpkg-architecture -qDEB_HOST_ARCH_OS) ++COMPILE_ARCH:=$(shell dpkg-architecture -qDEB_HOST_ARCH | sed -e s/amd64/x86_64/ ) ++PLATFORM:=$(shell dpkg-architecture -qDEB_BUILD_ARCH_OS) ++ARCH:=$(shell dpkg-architecture -qDEB_BUILD_ARCH | sed -e s/amd64/x86_64/ ) ++DEFAULT_BASEDIR=/usr/share/games/quake3 ++GENERATE_DEPENDENCIES=0 ++USE_OPENAL_DLOPEN=0 ++USE_CURL_DLOPEN=0 ++USE_CODEC_VORBIS=1 ++USE_LOCAL_HEADERS=0 ++BUILD_SERVER=1 ++BUILD_CLIENT=1 ++BUILD_CLIENT_SMP=1 ++BUILD_GAME_SO=1 ++BUILD_MISSIONPACK=1 ++BUILD_GAME_QVM=1 ++ --- ioquake3-1.36.orig/debian/patches/memmove.patch +++ ioquake3-1.36/debian/patches/memmove.patch @@ -0,0 +1,37 @@ +From: Andreas Bierfert +Bug: http://bugzilla.icculus.org/show_bug.cgi?id=4331 +Bug-Ubuntu: http://bugs.launchpad.net/bugs/554748 +Bug-Fedora: http://bugzilla.icculus.org/show_bug.cgi?id=4331 +Subject: Use memmove instead of strcpy for overlapping memory regions + +--- openarena.orig/code/botlib/l_precomp.c ++++ openarena/code/botlib/l_precomp.c +@@ -948,7 +948,7 @@ + if ((*ptr == '\\' || *ptr == '/') && + (*(ptr+1) == '\\' || *(ptr+1) == '/')) + { +- strcpy(ptr, ptr+1); ++ memmove(ptr, ptr+1, strlen(ptr)); + } //end if + else + { +--- openarena.orig/code/botlib/l_script.c ++++ openarena/code/botlib/l_script.c +@@ -1118,7 +1118,7 @@ + { + if (*string == '\"') + { +- strcpy(string, string+1); ++ memmove(string, string+1, strlen(string)); + } //end if + if (string[strlen(string)-1] == '\"') + { +@@ -1135,7 +1135,7 @@ + { + if (*string == '\'') + { +- strcpy(string, string+1); ++ memmove(string, string+1, strlen(string)); + } //end if + if (string[strlen(string)-1] == '\'') + {