[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#683025: unblock: lua5.1/5.1.5-4



Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock

Please unblock package lua5.1

This version of lua5.1 fixes a nasty multiarch related issue (bug #676695)
that makes a macro available in lua.h impossible to use. In particular the
LUA_CPATH_DEFAULT causes a compilation error (it uses an undefined
macro) unless the clfags output by `pkg-config lua5.1 --cflags` are used.
Moreover the extra cflag -DDEB_HOST_MULTIARCH=\"triplet\" output
by pkg-config is particularly nasty to escape and users reported various
problems using their build systems in conjunction with this flag.

No package in Debian uses the LUA_CPATH_DEFAULT macro, hence the
fact that it has been broken for almost a year caused no FTBFS, but users
testing the content of the upcoming weezy release on their non-packaged
softwares spotted the error, unfortunately a bit late in the release cycle.

This version of the package does not use a -D flag to set the value of
DEB_HOST_MULTIARCH. Instead it puts the appropriate #define line in the
lua5.1-deb-multiarch.h file that is installed in /usr/include/triplet and
#included in lua.h.  In this way no extra flag (but for -I/usr/include/lua5.1)
is needed to compile against Lua and use the LUA_CPATH_MACRO (i.e. the list
of paths in which the Lua interpreter looks for extensions).

Begin Debdiff.

diff -Nru lua5.1-5.1.5/debian/changelog lua5.1-5.1.5/debian/changelog
--- lua5.1-5.1.5/debian/changelog       2012-05-03 15:12:32.000000000 +0200
+++ lua5.1-5.1.5/debian/changelog       2012-07-23 11:41:06.000000000 +0200
@@ -1,3 +1,18 @@
+lua5.1 (5.1.5-4) unstable; urgency=low
+
+  * Rename lua-deb-multiarch.h into lua5.1-deb-multiarch.h and install it in
+    /usr/include/$DEB_HOST_MULTIARCH/ to make it available with no extra
+    -I directive (Closes: #682234, #682183, #682299)
+
+ -- Enrico Tassi <gareuselesinge@debian.org>  Wed, 18 Jul 2012 18:43:50 +0200
+
+lua5.1 (5.1.5-3) unstable; urgency=low
+
+  * Install architecture dependent .h file in /usr/lib and fix .pc files
+    accordingly to fix multiarch issues (Closes: #676695)
+
+ -- Enrico Tassi <gareuselesinge@debian.org>  Mon, 16 Jul 2012 12:48:01 +0200
+
 lua5.1 (5.1.5-2) unstable; urgency=low

   * Put in the pkg-config .pc file -DDEB_HOST_MULTIARCH so that including
diff -Nru lua5.1-5.1.5/debian/lua-c++.pc.in lua5.1-5.1.5/debian/lua-c++.pc.in
--- lua5.1-5.1.5/debian/lua-c++.pc.in   2012-05-03 15:13:13.000000000 +0200
+++ lua5.1-5.1.5/debian/lua-c++.pc.in   2012-07-23 11:41:06.000000000 +0200
@@ -22,4 +22,4 @@
 Requires:
 Libs: -L${libdir} -l${lib_name}
 Libs.private: -lm -ldl
-Cflags: -I${includedir}/${lib_name_include}
-DDEB_HOST_MULTIARCH=\"${deb_host_multiarch}\"
+Cflags: -I${includedir}/${lib_name_include}
diff -Nru lua5.1-5.1.5/debian/lua.pc.in lua5.1-5.1.5/debian/lua.pc.in
--- lua5.1-5.1.5/debian/lua.pc.in       2012-05-03 15:13:28.000000000 +0200
+++ lua5.1-5.1.5/debian/lua.pc.in       2012-07-23 11:41:06.000000000 +0200
@@ -22,4 +22,4 @@
 Requires:
 Libs: -L${libdir} -l${lib_name}
 Libs.private: -lm -ldl
-Cflags: -I${includedir}/${lib_name_include}
-DDEB_HOST_MULTIARCH=\"${deb_host_multiarch}\"
+Cflags: -I${includedir}/${lib_name_include}
diff -Nru lua5.1-5.1.5/debian/patches/debian_make.patch
lua5.1-5.1.5/debian/patches/debian_make.patch
--- lua5.1-5.1.5/debian/patches/debian_make.patch       2011-12-24
15:35:45.000000000 +0100
+++ lua5.1-5.1.5/debian/patches/debian_make.patch       2012-07-23
11:41:06.000000000 +0200
@@ -1,9 +1,9 @@
 Author: John V. Belmonte <jbelmonte@debian.org>
 Description: Add support for Debian package to makefiles.
-Index: lua5.1-5.1.4/Makefile
+Index: lua5.1-5.1.5/Makefile
 ===================================================================
---- lua5.1-5.1.4.orig/Makefile 2008-08-12 02:40:48.000000000 +0200
-+++ lua5.1-5.1.4/Makefile      2011-07-25 22:26:28.000000000 +0200
+--- lua5.1-5.1.5.orig/Makefile 2012-02-10 10:50:23.000000000 +0100
++++ lua5.1-5.1.5/Makefile      2012-07-16 12:25:26.000000000 +0200
 @@ -12,7 +12,7 @@
  INSTALL_TOP= /usr/local
  INSTALL_BIN= $(INSTALL_TOP)/bin
@@ -13,7 +13,7 @@
  INSTALL_MAN= $(INSTALL_TOP)/man/man1
  #
  # You probably want to make INSTALL_LMOD and INSTALL_CMOD consistent with
-@@ -126,3 +126,31 @@
+@@ -126,3 +126,30 @@
  .PHONY: all $(PLATS) clean test install local none dummy echo pecho lecho

  # (end of Makefile)
@@ -43,12 +43,11 @@
 +# ISSUE: MYCFLAGS not honored in the case of a CFLAGS override
 +debian_linux:
 +      cd src; $(MAKE) debian_all CFLAGS+=-DLUA_USE_LINUX \
-+              CFLAGS+=-DDEB_HOST_MULTIARCH=\\\"$(DEB_HOST_MULTIARCH)\\\" \
 +              LIB_LIBS="-lm -ldl" LUA_LIBS="-lreadline" LDFLAGS="$(LDFLAGS)"
-Index: lua5.1-5.1.4/src/Makefile
+Index: lua5.1-5.1.5/src/Makefile
 ===================================================================
---- lua5.1-5.1.4.orig/src/Makefile     2008-01-19 20:37:58.000000000 +0100
-+++ lua5.1-5.1.4/src/Makefile  2011-07-25 22:25:52.000000000 +0200
+--- lua5.1-5.1.5.orig/src/Makefile     2012-02-13 21:41:22.000000000 +0100
++++ lua5.1-5.1.5/src/Makefile  2012-07-16 12:24:40.000000000 +0200
 @@ -180,3 +180,36 @@
    ltm.h lzio.h lmem.h lopcodes.h lundump.h

diff -Nru lua5.1-5.1.5/debian/patches/module_paths.patch
lua5.1-5.1.5/debian/patches/module_paths.patch
--- lua5.1-5.1.5/debian/patches/module_paths.patch      2011-07-19
16:28:43.000000000 +0200
+++ lua5.1-5.1.5/debian/patches/module_paths.patch      2012-07-23
11:41:06.000000000 +0200
@@ -1,12 +1,15 @@
 Author: John V. Belmonte <jbelmonte@debian.org>
 Description: Set Lua's default PATH and CPATH.
-Index: lua5.1-5.1.4/src/luaconf.h
+Index: lua5.1-5.1.5/src/luaconf.h
 ===================================================================
---- lua5.1-5.1.4.orig/src/luaconf.h    2008-02-11 17:25:08.000000000 +0100
-+++ lua5.1-5.1.4/src/luaconf.h 2011-07-19 15:19:57.000000000 +0200
-@@ -95,13 +95,18 @@
+--- lua5.1-5.1.5.orig/src/luaconf.h    2008-02-11 17:25:08.000000000 +0100
++++ lua5.1-5.1.5/src/luaconf.h 2012-07-16 12:23:12.000000000 +0200
+@@ -94,14 +94,21 @@
+       ".\\?.dll;"  LUA_CDIR"?.dll;" LUA_CDIR"loadall.dll"

  #else
++/* This defines DEB_HOST_MULTIARCH */
++#include "lua5.1-deb-multiarch.h"
  #define LUA_ROOT      "/usr/local/"
 +#define LUA_ROOT2     "/usr/"
  #define LUA_LDIR      LUA_ROOT "share/lua/5.1/"
diff -Nru lua5.1-5.1.5/debian/rules lua5.1-5.1.5/debian/rules
--- lua5.1-5.1.5/debian/rules   2012-04-02 17:38:53.000000000 +0200
+++ lua5.1-5.1.5/debian/rules   2012-07-23 11:41:06.000000000 +0200
@@ -13,6 +13,9 @@
 PKGPP_CONFIG_FILE = $(PKG_DIR)/$(LUA)-c++.pc
 DOC_DIR = debian/$(LUA)-doc/usr/share/doc/$(LUA)-doc

+LUA_MULTIARCH_INCLUDE = $(DEB_DESTDIR)/include/$(DEB_HOST_MULTIARCH)/
+LUA_MULTIARCH = lua5.1-deb-multiarch.h
+
 ifeq (hurd,$(shell dpkg-architecture -qDEB_HOST_ARCH_OS))
        LDFLAGS=-lpthread
 endif
@@ -20,20 +23,26 @@
 %:
        dh $*

+override_dh_auto_configure:
+       echo "#ifndef _LUA_DEB_MULTIARCH_" > src/$(LUA_MULTIARCH)
+       echo "#define _LUA_DEB_MULTIARCH_" >> src/$(LUA_MULTIARCH)
+       echo "#define DEB_HOST_MULTIARCH \"$(DEB_HOST_MULTIARCH)\"" >> \
+               src/$(LUA_MULTIARCH)
+       echo "#endif" >> src/$(LUA_MULTIARCH)
+
 override_dh_auto_build:
        $(MAKE) debian_linux \
                RPATH=/usr/lib/$(DEB_HOST_MULTIARCH) \
-               DEB_HOST_MULTIARCH=$(DEB_HOST_MULTIARCH) \
                LDFLAGS="$(LDFLAGS)"

 override_dh_auto_install:
        $(MAKE) debian_install \
                INSTALL_TOP=$(DEB_DESTDIR) \
                INSTALL_MAN=$(DEB_DESTDIR)/share/man/man1 \
-               INSTALL_INC=$(DEB_DESTDIR)/include/$(LUA) \
-               DEB_HOST_MULTIARCH=$(DEB_HOST_MULTIARCH)
+               INSTALL_INC=$(DEB_DESTDIR)/include/$(LUA)

 override_dh_auto_clean:
+       rm -f src/$(LUA_MULTIARCH)
        $(MAKE) debian_clean

 override_dh_auto_test:
@@ -60,6 +69,8 @@
        echo "lib_name_include=lua$(LUA_V)" >> $(PKGPP_CONFIG_FILE)
        echo "deb_host_multiarch=$(DEB_HOST_MULTIARCH)" >> $(PKGPP_CONFIG_FILE)
        cat debian/lua-c++.pc.in >> $(PKGPP_CONFIG_FILE)
+       mkdir -p $(LUA_MULTIARCH_INCLUDE)
+       cp src/$(LUA_MULTIARCH) $(LUA_MULTIARCH_INCLUDE)
        dh_install

 override_dh_strip:

End Debdiff.

unblock lua5.1/5.1.5-4

-- System Information:
Debian Release: wheezy/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.2.0-3-amd64 (SMP w/4 CPU cores)


Reply to: