Bug#523323: missing source code

Simon McVittie smcv at debian.org
Sun Nov 29 17:43:42 UTC 2009


On Thu, 29 Oct 2009 at 14:17:04 +0100, Bruno Kleinert wrote:
> Am Samstag, den 24.10.2009, 15:28 +0100 schrieb Simon McVittie:
> > Unfortunately, it appears that this is correct:
> > 
> > * openarena-data contains .pk3 files (zip files)
> > * of those, pak0.pk3 contains .qvm files (the "cgame", "game" and "ui"
> >   modules), which are bytecode for a VM built in to the Quake 3 engine
> > * the .qvm files are compiled from C in http://www.openarena.ws/svn/source/
> >   using a non-free compiler (lcc)
> Yes, 100% absolutely correct! :)

The source code for these *might* be in openarena-modSDK-0.8.1, as found in
http://www.openarena.ws/svn/source/081/openarena-modSDK-0.8.1.tar.bz2 (yes,
that's a tarball checked-in to Subversion...)

This tarball is not suitable for Debian as-is (it contains lcc, which is
non-free) but it's a start.

Running "make" in this tree produces (at least for me) files with these
SHA1sums:

smcv at reptile(sid)% ( cd build/release-linux-i386 && sha1sum -b */vm/*.qvm )
58b414ebf18e39a770f030164299c7fe822eb6bb *baseq3/vm/cgame.qvm
39f937662e927183d82c71d1063347d1bfab291d *baseq3/vm/qagame.qvm
f3d6968f008d5c9125379292e4fa68cdc23dcaf3 *baseq3/vm/ui.qvm
66392fcc7de452e38c8004b3c887ba070185becf *missionpack/vm/cgame.qvm
6e91088de0757ddb6d7e50b0c54e2ec95993641d *missionpack/vm/qagame.qvm
dce23cee6df160453d1a6ce31651539ebd35aef9 *missionpack/vm/ui.qvm

*/qagame.qvm are not byte-identical to the versions in OA svn, but the others
are:

smcv at reptile% sha1sum -b vm/* missionpack/vm/*        ~/src/debian/bugsquash/oa
58b414ebf18e39a770f030164299c7fe822eb6bb *vm/cgame.qvm
0e000ca4e1e5591c82b08494e2839589e1e2a98f *vm/qagame.qvm
f3d6968f008d5c9125379292e4fa68cdc23dcaf3 *vm/ui.qvm
66392fcc7de452e38c8004b3c887ba070185becf *missionpack/vm/cgame.qvm
24cb18f50875a5f22420bd2408011d833e48ff44 *missionpack/vm/qagame.qvm
dce23cee6df160453d1a6ce31651539ebd35aef9 *missionpack/vm/ui.qvm

I'll investigate this further.

If I can hack up the qagame sources to produce a QVM identical to upstream's,
or determine that the changes are insignificant, then we can consider this to
be suitable source code to compile native shared objects.

One caveat is that when I tried rsync'ing the "mod SDK" into the openarena
source package (which is upstream's "engine" tarball), I got differences in
some files that are common to the engine and the QVMs (the "mod SDK" and the
engine were both, independently, forked from ioQuake3). This is also something
that'll need further analysis.

So, I now have two directions in which to investigate:

Engine
======

* Does my patch work? (i.e. add debug printfs)
* Write a perl script as I described in my earlier mail, to strip the QVMs
  out of the PK3 and (as a side-effect) produce the file containing faked
  checksums

Game logic
==========

* How do we transform the mod SDK source into something from which the
  "canonical" upstream qagame.qvm can be compiled? If we can't, does it matter?
* Is it safe to use the mod SDK source in a subdirectory to build modules for 
  the engine (duplicating common files, to avoid having to reconcile the
  differences), or would it be better to reconcile them, or is it in fact
  *necessary* (for API/ABI compatibility) to reconcile them?
* Does it work with gcc on miscellaneous architectures? (I have a powerpc
  here, and since I run i386 with an amd64 kernel, I can hopefully make
  an amd64 chroot to test in)

In addition, someone needs to educate upstream about the correct use of svn
(tags, not checking in derived files, having a reproducible build process, and
similar considerations), and about the fact that what distributions really
care about is the source release, not the binary release. I'm not going to
do that, because I'd just end up flaming and alienating them...

Regards from the Cambridge BSP,
    Simon
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 793 bytes
Desc: Digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-games-devel/attachments/20091129/c940517a/attachment.pgp>


More information about the Pkg-games-devel mailing list