Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 147302 - Tremulous 1.1.0 patches
Summary: Tremulous 1.1.0 patches
Status: RESOLVED DUPLICATE of bug 222119
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Games (show other bugs)
Hardware: All Linux
: High enhancement (vote)
Assignee: Gentoo Games
URL:
Whiteboard:
Keywords:
: 164796 (view as bug list)
Depends on:
Blocks:
 
Reported: 2006-09-12 05:35 UTC by Martin Doucha
Modified: 2008-07-05 10:42 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Tremulous patchset (tremulous.zip,179.29 KB, application/octet-stream)
2006-09-14 02:41 UTC, Martin Doucha
Details
Updated binaries - tremulous-bin (tremulous-bin.zip,847.38 KB, application/octet-stream)
2006-09-14 02:47 UTC, Martin Doucha
Details
Updated binaries - tremulous-bin-vms (tremulous-bin-vms.zip,268.11 KB, application/octet-stream)
2006-09-14 02:50 UTC, Martin Doucha
Details
SVN823 Tremulous patchset (tremulous.zip,179.23 KB, application/octet-stream)
2006-09-15 11:06 UTC, Martin Doucha
Details
New updated binaries - tremulous-bin-vms (tremulous-bin-vms.zip,268.15 KB, application/octet-stream)
2006-09-15 11:21 UTC, Martin Doucha
Details
New updated binaries - tremulous-bin-vms (tremulous-bin-vms.zip,267.84 KB, application/octet-stream)
2006-09-16 09:36 UTC, Martin Doucha
Details
New ebuild (tremulous-1.1.0-r1.ebuild,3.85 KB, text/plain)
2006-09-16 09:39 UTC, Martin Doucha
Details
New bin ebuild (tremulous-bin-1.1.0-r1.ebuild,3.17 KB, text/plain)
2006-09-16 09:42 UTC, Martin Doucha
Details
Fixed games-fps/tremulous ebuild (tremulous-1.1.0-r1.ebuild,3.78 KB, text/plain)
2006-09-17 02:33 UTC, Martin Doucha
Details
Fixed games-fps/tremulous-bin ebuild (tremulous-bin-1.1.0-r1.ebuild,3.22 KB, text/plain)
2006-09-17 02:34 UTC, Martin Doucha
Details
Remove "Warning OP_BLOCK_COPY not dword aligned" message from PPC/amd64 (tremulous_remove_block_copy_warning.patch,741 bytes, patch)
2006-12-17 20:55 UTC, Eion Robb
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Doucha 2006-09-12 05:35:01 UTC
Vanilla Tremulous 1.1.0 is buggy as hell and desperately needs some patches.

1) game.qvm needs latest SVN code (r819 as of today). There're several bugs that can crash the server or annoy players in vanilla game.qvm.
2) tremulous.x86 and tremded.x86 should use TJW's backport patchset which adds player GUIDs and HTTP downloads.
3) cgame.qvm and ui.qvm _MUST_ remain untouched. Always use the binaries from base/vms-1.1.0.pk3 from installation package. If you build your own, you won't be able to play on pure servers. Only overwrite game.qvm and zip a new vms-1.1.0.pk3.
4) There should be another USE flag to enable TJW's server patchset (USE="tjw").

Tremulous SVN is at svn.icculus.org/tremulous/trunk/, vanilla 1.1.0 is r755.
TJW's backport patchset is at http://trem.tjw.org/backport/tremulous-svn755.patch and requires net-misc/curl.
TJW's server patchset is at http://tjw.org/tremulous/tremulous-svn809.patch and requires SVN r809 sources (some parts have been merged into later revisions).
Comment 1 Martin Doucha 2006-09-12 05:49:57 UTC
I forgot to add that SVN tremulous.x86 code is NOT compatible with old QVMs. The SVN r819 patch from #1 must be applied _ONLY_ on src/game/* files, otherwise the game won't run. That's the reason for using backport patchset in #2 which is compatible with old QVMs.
Comment 2 Chris Gianelloni (RETIRED) gentoo-dev 2006-09-12 07:40:35 UTC
Wouldn't it be better/easier to have upstream release a 1.1.1 of Tremulous?
Comment 3 Martin Doucha 2006-09-12 09:21:33 UTC
It would, but it's not finished yet. There're still other bugs to fix.
Comment 4 Martin Doucha 2006-09-14 02:41:45 UTC
Created attachment 96944 [details]
Tremulous patchset

Here's the patchset for source installation. The installation instructions are a little complicated though...

To install updated Tremulous from source:
- unpack the source TWICE if you build the client, if you build just dedicated server, one source is enough
- patch the client source with tremulous/tremulous-svn755.patch from this attachment
- build client (emake BUILD_SERVER=0 BUILD_GAME_SO=0 BUILD_GAME_QVM=0)

- patch the server source with tremulous/tremulous-svn755-819.patch from this attachment
- if USE="tjw" patch the server source with tremulous/tremulous-svn819.patch from this attachment
- build server (BUILD_CLIENT=0 BUILD_CLIENT_SMP=0 BUILD_SERVER=? BUILD_GAME_SO=? BUILD_GAME_QVM=1)
- cd server-source/build/release-linux-arch/base/
- zip vm.pk3 vm/game.qvm

- install everything except tremded.x86 and tremulous.x86
- install tremulous.x86 from client source
- install tremded.x86 from server source
- install vm.pk3 from server source

- show a warning that you have to use tremded to host a game. Backport client can't load the new game.qvm but if you run `tremded` and then `tremulous +connect 127.0.0.1`, it works fine.
Comment 5 Martin Doucha 2006-09-14 02:47:59 UTC
Created attachment 96945 [details]
Updated binaries - tremulous-bin

Here're the updated binaries.

To install updated tremulous-bin:
- unpack the installation archive
- install everything except tremded.x86 and tremulous.x86
- install tremded.x86 and/or tremulous.x86 from this attachment under tremulous-bin
- if USE="tjw" then install tremulous-bin/base/vm-tjw.pk3 from tremulous-bin-vms attachment.
- if not USE="tjw" then install tremulous-bin/base/vm-svn.pk3 from tremulous-bin-vms attachment.

- show the same warning as in source installation
Comment 6 Martin Doucha 2006-09-14 02:50:06 UTC
Created attachment 96946 [details]
Updated binaries - tremulous-bin-vms

This is the tremulous-bin-vms attachment referenced above.
Comment 7 Martin Doucha 2006-09-15 11:06:24 UTC
Created attachment 97063 [details]
SVN823 Tremulous patchset

Here's a new patchset for yesterday's Tremulous SVN revision. Installation instructions are still the same except the patches have different names.
Backport client - tremulous-svn755.patch
SVN server - tremulous-svn755-823.patch
TJW server - tremulous-svn755-823.patch and then tremulous-svn823.patch

This source release is a little better than binary release because binary TJW server is SVN821.
Comment 8 Martin Doucha 2006-09-15 11:21:44 UTC
Created attachment 97065 [details]
New updated binaries - tremulous-bin-vms

Here are the new binary vms for tremulous-bin. vm-tjw.pk3 contains SVN821 TJW game.qvm, vm-svn contains SVN823 game.qvm. Installation instructions are again still the same.
Comment 9 Martin Doucha 2006-09-16 09:34:37 UTC
Oops, it looks like I've sent this to the wrong component. Sorry.
Comment 10 Martin Doucha 2006-09-16 09:36:10 UTC
Created attachment 97161 [details]
New updated binaries - tremulous-bin-vms

This one should work better.
Comment 11 Martin Doucha 2006-09-16 09:39:46 UTC
Created attachment 97162 [details]
New ebuild

Here's the new ebuild for games-fps/tremulous. It needs tremulous-src-1.1.0.zip (renamed attachment 97063 [details]) to be hosted on gentoo distfiles.
Comment 12 Martin Doucha 2006-09-16 09:42:50 UTC
Created attachment 97163 [details]
New bin ebuild

Here's the new ebuild for games-fps/tremulous-bin. It needs tremulous-bin-1.1.0.zip
(merged attachments 96945 and 97161) to be hosted on gentoo distfiles.
Comment 13 Martin Doucha 2006-09-17 02:33:08 UTC
Created attachment 97214 [details]
Fixed games-fps/tremulous ebuild

I knew I had missed something. USE="tjw" implies USE="dedicated".
Comment 14 Martin Doucha 2006-09-17 02:34:01 UTC
Created attachment 97215 [details]
Fixed games-fps/tremulous-bin ebuild

And the fixed tremulous-bin ebuild. Sorry for the mess.
Comment 15 Martin Doucha 2006-09-18 07:33:24 UTC
I should tell you that bug 132377 (remapShader security vulnerability) is still open in vanilla Tremulous 1.1.0. These patches and updated binaries fix it. See for yourself in attachment 97063 [details] in tremulous/tremulous-svn755*.patch

There're also about 5 ways to DoS vanilla Tremulous 1.1.0 server (from complete server crash to kicking all players or just making everybody get stuck, shoot and taunt by using non-ASCII characters in your name). Again, fixed by these patches.
Comment 16 Chris Gianelloni (RETIRED) gentoo-dev 2006-09-18 13:56:02 UTC
I'll be honest.  I don't want to even have to think about this complete cluster fsck of a mess for the package.  Rather than even deal with this, I would much rather mask the game, pointing people to both this and bug #132377 until upstream releases a new version.  We have enough work to do without having to bring in and maintain an extremely complex patch set when upstream can simple release a new unbroken version.

If there's not a new version in a couple days, I'll likely mask this.

I really wish that people would have brought all this up before I put the game in portage, but that's life, I guess.  ;]

Anyway, thanks for all the hard work, but I don't have the time to maintain this, personally, and none of the other games devs seemed too interested in tremulous in the months it sat waiting to be added to portage.
Comment 17 Martin Doucha 2006-09-19 02:30:12 UTC
Oh, come on, it's not THAT complex. It's just 3 big patches in a zip archive. The only reason why the compilation is done twice is that the server doesn't use botlib anymore while we can't drop the support in client yet (unless you consider inability to join any pure server to be a huge problem). The next release (most likely 1.2.0) could take months to finish.

Anyway even if you really don't like the source ebuild, the bin ebuild has a few trivial changes and except that you'll have to rezip two attachments together (total size is 1116KB and Bugzilla complains about so big files), it should be quite easy to maintain.
Comment 18 Martin Doucha 2006-09-19 02:33:33 UTC
s/unless you consider/unless you don't consider/
Comment 19 Eion Robb 2006-12-17 20:55:03 UTC
Created attachment 104259 [details, diff]
Remove "Warning OP_BLOCK_COPY not dword aligned" message from PPC/amd64

Can this patch be added to the ebuild too?  The warning message that this patch removes is very annoying ;)

This patch is mentioned at http://bugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=382121
Comment 20 Kyle Hunter 2006-12-17 22:07:11 UTC
Eion, there is one-line fix for the ebuild.
http://bugs.gentoo.org/show_bug.cgi?id=154745

This is why your problem is happening. It's a side-effect of using the interpreter.
Comment 21 Mr. Bones. (RETIRED) gentoo-dev 2007-02-01 17:13:01 UTC
*** Bug 164796 has been marked as a duplicate of this bug. ***
Comment 22 Benjamin Schulz 2008-01-13 23:28:22 UTC
I got the following error:
 * Messages for package games-fps/tremulous-1.1.0-r1:

 *
 * ERROR: games-fps/tremulous-1.1.0-r1 failed.
 * Call stack:
 *                   ebuild.sh, line 1701:  Called dyn_compile
 *                   ebuild.sh, line 1039:  Called qa_call 'src_compile'
 *                   ebuild.sh, line   44:  Called src_compile
 *   tremulous-1.1.0-r1.ebuild, line   71:  Called die
 * The specific snippet of code:
 *      emake \
 *              BUILD_CLIENT=${build_client} \
 *              BUILD_SERVER=$(buildit dedicated) \
 *              CC="$(tc-getCC)" \
 *              DEFAULT_BASEDIR="${GAMES_DATADIR}/${PN}" \
 *              USE_CODEC_VORBIS=$(buildit vorbis) \
 *              USE_OPENAL=$(buildit openal) \
 *              USE_LOCAL_HEADERS=0 \
 *              OPTIMIZE= \
 *              COMPILE_ARCH=${ARCH} \
 *              || die "emake failed"
 *  The die message:
 *   emake failed
 *
 * If you need support, post the topmost build error, and the call stack if relevant.
 * A complete build log is located at '/tmp/portage/games-fps/tremulous-1.1.0-r1/temp/build.log'.
 *
Comment 23 Martin Doucha 2008-07-05 10:42:35 UTC

*** This bug has been marked as a duplicate of bug 222119 ***