Package: tenmado
Version: 0.8-1
Severity: wishlist
Tags: patch
User: [email protected]
Usertags: origin-ubuntu oneiric ubuntu-patch

the package tenmado fails to build when using the linker flag --as-needed
This is caused by the libraries being placed before objects needing their symbols on the command line. The libraries are then not registered as needed
See the log in the ubuntu bug:
https://bugs.launchpad.net/ubuntu/+source/tkpng/+bug/832926

Attached patch fixes this issue by patching Makefile.in, if the packaging is changed to regenerate the autotools files it must be applied to Makefile.am. The patch includes a change to 3.0 (quilt) format and moving of the existing patch to that format.

diff -Nru tenmado-0.8/debian/changelog tenmado-0.8/debian/changelog
--- tenmado-0.8/debian/changelog        2011-08-31 20:41:37.000000000 +0200
+++ tenmado-0.8/debian/changelog        2011-08-31 20:29:43.000000000 +0200
@@ -1,3 +1,12 @@
+tenmado (0.8-1ubuntu1) oneiric; urgency=low
+
+  * debian/patches/fix-as-needed-build.patch:
+    - fix ftbs with ld --as-needed (LP: #832831)
+  * change to 3.0 (quilt) 
+  * move 10pointer_to_readme patch from direct upstream change to quilt
+
+ -- Julian Taylor <[email protected]>  Wed, 31 Aug 2011 20:28:51 
+0200
+
 tenmado (0.8-1) unstable; urgency=low
 
   * new upstream release
diff -Nru tenmado-0.8/debian/patches/fix-as-needed-build.patch 
tenmado-0.8/debian/patches/fix-as-needed-build.patch
--- tenmado-0.8/debian/patches/fix-as-needed-build.patch        1970-01-01 
01:00:00.000000000 +0100
+++ tenmado-0.8/debian/patches/fix-as-needed-build.patch        2011-08-31 
20:37:58.000000000 +0200
@@ -0,0 +1,27 @@
+Description: fix build with ld --as-needed
+ libraries must be behind objects needing their symbols
+Author: Julian Taylor <[email protected]>
+Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/tenmado/+bug/832831
+Index: tenmado/Makefile.in
+===================================================================
+--- tenmado.orig/Makefile.in   2011-08-31 20:26:09.079508991 +0200
++++ tenmado/Makefile.in        2011-08-31 20:26:05.939509030 +0200
+@@ -168,7 +168,7 @@
+ 
+ # -g -O2 are in CFLAGS by default, don't use @CFLAGS@ here
+ AM_CFLAGS = $(SDL_CFLAGS) $(CC_WARNINGS)
+-AM_LDFLAGS = @LIBS@ $(SDL_LIBS)
++AM_LDFLAGS = @LIBS@
+ 
+ AM_CPPFLAGS = -DDATADIR=\"$(datadir)\" \
+   -DLOCALSTATEDIR=\"$(localstatedir)\" \
+@@ -180,7 +180,8 @@
+ # there is no AM_LDADD
+ tenmado_LDADD = $(top_srcdir)/happy-L/libhappy-L.a \
+   $(top_srcdir)/libbac/libbac.a \
+-  $(top_srcdir)/libtenm/libtenm.a
++  $(top_srcdir)/libtenm/libtenm.a \
++  $(SDL_LIBS)
+ 
+ 
+ man_MANS = tenmado.6
diff -Nru tenmado-0.8/debian/patches/series tenmado-0.8/debian/patches/series
--- tenmado-0.8/debian/patches/series   1970-01-01 01:00:00.000000000 +0100
+++ tenmado-0.8/debian/patches/series   2011-08-31 20:28:45.000000000 +0200
@@ -0,0 +1,2 @@
+fix-as-needed-build.patch
+10pointer_to_readme
diff -Nru tenmado-0.8/debian/source/format tenmado-0.8/debian/source/format
--- tenmado-0.8/debian/source/format    1970-01-01 01:00:00.000000000 +0100
+++ tenmado-0.8/debian/source/format    2011-08-31 20:24:26.000000000 +0200
@@ -0,0 +1 @@
+3.0 (quilt)
diff -Nru tenmado-0.8/tenmado.6 tenmado-0.8/tenmado.6
--- tenmado-0.8/tenmado.6       2011-08-31 20:41:37.000000000 +0200
+++ tenmado-0.8/tenmado.6       2005-08-11 19:07:57.000000000 +0200
@@ -1,5 +1,5 @@
 .\" $Id: tenmado.6,v 1.18 2004/08/07 12:58:04 oohara Exp $
-.TH TENMADO 6 "Thu, 16 Jan 2003" "Project Geeste" "tenmado manual"
+.TH TENMADO 6 "Wed, 15 Jan 2003" "Project Geeste" "tenmado manual"
 .SH NAME
 tenmado \- hard-core shoot 'em up game in blue-or-red world
 .SH SYNOPSIS
@@ -45,8 +45,6 @@
 A joystick is also available for move and shoot.  Note that you must
 plug the joystick before you invoke tenmado.  For more information,
 see the tutorial demo by choosing it from the menu in the title.
-Also check the README file which can be found at
-/usr/share/doc/tenmado/README .
 .SH OPTIONS
 .TP
 .BI "\-\-dump" " stage"

Reply via email to