Please unblock tome/2.3.5-2
Hi,
This upload fixes an important bug with made the game unplayable
on amd64 (and, really, any arch where long != 32bits). This is a small
change, and is tested. The full debdiff is attached, as you can see,
this is tiny.
manoj
--- tome-2.3.5/debian/control
+++ tome-2.3.5/debian/control
@@ -1,6 +1,6 @@
Source: tome
VCS-Git: git://git.debian.org/~srivasta/debian/tome.git
-VCS-Browser: http://git.debian.org/git/users/srivasta/debian/tome.git
+VCS-Browser: http://git.debian.org/?p=users/srivasta/debian/tome.git;a=summary
Section: non-free/games
Priority: optional
Maintainer: Manoj Srivastava <srivasta@debian.org>
@@ -9,7 +9,7 @@
libsdl1.2-dev | libsdl-dev, libsdl-mixer1.2-dev,
libsdl-gfx1.2-dev, libsdl-image1.2-dev, libsdl-ttf2.0-dev,
libsdl-net1.2-dev
-Standards-Version: 3.7.3.0
+Standards-Version: 3.8.0.0
Package: tome
Architecture: any
diff -u tome-2.3.5/debian/changelog tome-2.3.5/debian/changelog
--- tome-2.3.5/debian/changelog
+++ tome-2.3.5/debian/changelog
@@ -1,3 +1,28 @@
+tome (2.3.5-2) unstable; urgency=low
+
+ * [f4042dd] Fix code which needed a 32 bit int to not use int/long
+ On amd64, but not on i386, tome produces LUA errors at various
+ times. The errors occur at savefile load, when wileding a weapon,
+ unweilding a weapon, and for other events. The same homedir, same
+ savefiles, same config, same etc., does not produce errors in the
+ 32bit build of the package.
+
+ The error seems to be that the type Number needs to be a 32bit wide
+ integer; and seems to be defined by default as an long, with an option
+ to define it as an int for amd64. However, for the 11 arches Debian
+ supports, this would lead to a morass of selecting architectures in
+ the makefile to override the type; a better solution is to use
+ stdint.h and use a type which is 32 bits wide by design: int32_t.
+
+ Bug fix: "frequent LUA errors on amd64, possibly influencing game
+ logic", thanks to jrodman@debbugs.spamportal.net</a>; The fix was
+ inspired by a different fix proposed by Daniel White.
+
+ This fixes the LUA errors, and (Closes: Bug#419825)
+ This is an important bug fix.
+
+ -- Manoj Srivastava <srivasta@debian.org> Tue, 21 Oct 2008 08:36:01 -0500
+
tome (2.3.5-1) unstable; urgency=low
* New upstream release
--- tome-2.3.5.orig/src/lua/llimits.h
+++ tome-2.3.5/src/lua/llimits.h
@@ -10,6 +10,7 @@
#include <limits.h>
#include <stddef.h>
+#include <stdint.h>
@@ -36,7 +37,7 @@
** GREP LUA_NUMBER to change that
*/
#ifndef LUA_NUM_TYPE
-#define LUA_NUM_TYPE long
+#define LUA_NUM_TYPE int32_t
#endif
typedef LUA_NUM_TYPE Number;
@@ -50,7 +51,7 @@
-typedef unsigned long lint32; /* unsigned int with at least 32 bits */
+typedef int_least32_t lint32; /* unsigned int with at least 32 bits */
#define MAX_SIZET ((size_t)(~(size_t)0)-2)
--
Entropy has us outnumbered. -- Solomon Short
Manoj Srivastava <srivasta@acm.org> <http://www.golden-gryphon.com/>
1024D/BF24424C print 4966 F272 D093 B493 410B 924B 21BA DABB BF24 424C
Reply to: