Patchwork [meta-oe,1/4] talloc: Fix swig interface install path

login
register
mail settings
Submitter Otavio Salvador
Date Oct. 3, 2012, 1:41 p.m.
Message ID <1349271693-6378-1-git-send-email-otavio@ossystems.com.br>
Download mbox | patch
Permalink /patch/37701/
State Accepted
Commit d4c73cbdfede37e9dce069e8770c112f16ce0b5a
Headers show

Comments

Otavio Salvador - Oct. 3, 2012, 1:41 p.m.
From: Andrei Gherzan <andrei@gherzan.ro>

Using the way swig interface is installed leads to a bad path in ${D}.
The interface ended up in ${D}/${STAGING_DIR_NATIVE} which is wrong. The
fix is to define a variable in recipe which is used in install rule by
talloc.
As well, LICENSE variable  modified to reflect the real license:
LGPL-3.0

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
---
 .../install-swig-interface-in-SWINGLIBDIR.patch    |   23 ++++++++++++++++++++
 meta-oe/recipes-support/talloc/talloc_2.0.1.bb     |   17 ++++++++++++--
 2 files changed, 37 insertions(+), 3 deletions(-)
 create mode 100644 meta-oe/recipes-support/talloc/talloc/install-swig-interface-in-SWINGLIBDIR.patch

Patch

diff --git a/meta-oe/recipes-support/talloc/talloc/install-swig-interface-in-SWINGLIBDIR.patch b/meta-oe/recipes-support/talloc/talloc/install-swig-interface-in-SWINGLIBDIR.patch
new file mode 100644
index 0000000..e1339a0
--- /dev/null
+++ b/meta-oe/recipes-support/talloc/talloc/install-swig-interface-in-SWINGLIBDIR.patch
@@ -0,0 +1,23 @@ 
+Using the way swig interface is installed leads to a bad path in ${D}.
+The interface ended up in ${D}/${STAGING_DIR_NATIVE} which is wrong. The
+fix is to define a variable in recipe which is used in install rule by
+talloc.
+
+Upstream-Status: Inappropriate [build system specific]
+Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
+
+Index: talloc-2.0.1/talloc.mk
+===================================================================
+--- talloc-2.0.1.orig/talloc.mk	2009-10-11 16:42:24.000000000 +0300
++++ talloc-2.0.1/talloc.mk	2012-09-13 23:15:05.283539702 +0300
+@@ -23,8 +23,8 @@
+ 	${INSTALLCMD} -m 644 talloc.pc $(DESTDIR)$(libdir)/pkgconfig
+ 	if [ -f talloc.3 ];then ${INSTALLCMD} -d $(DESTDIR)$(mandir)/man3; fi
+ 	if [ -f talloc.3 ];then ${INSTALLCMD} -m 644 talloc.3 $(DESTDIR)$(mandir)/man3; fi
+-	which swig >/dev/null 2>&1 && ${INSTALLCMD} -d $(DESTDIR)`swig -swiglib` || true
+-	which swig >/dev/null 2>&1 && ${INSTALLCMD} -m 644 talloc.i $(DESTDIR)`swig -swiglib` || true
++	which swig >/dev/null 2>&1 && ${INSTALLCMD} -d $(DESTDIR)/$(SWIGLIBDIR) || true
++	which swig >/dev/null 2>&1 && ${INSTALLCMD} -m 644 talloc.i $(DESTDIR)/$(SWIGLIBDIR) || true
+ 
+ doc:: talloc.3 talloc.3.html
+ 
diff --git a/meta-oe/recipes-support/talloc/talloc_2.0.1.bb b/meta-oe/recipes-support/talloc/talloc_2.0.1.bb
index a69bd40..6aa5a9e 100644
--- a/meta-oe/recipes-support/talloc/talloc_2.0.1.bb
+++ b/meta-oe/recipes-support/talloc/talloc_2.0.1.bb
@@ -1,17 +1,19 @@ 
 DESCRIPTION = "Hierarchical, reference counted memory pool system with destructors"
 HOMEPAGE = "http://talloc.samba.org"
-LICENSE = "LGPL"
+LICENSE = "LGPL-3.0"
 LIC_FILES_CHKSUM = "file://NEWS;md5=5fe776b23a711c9153ee94bc87e47334"
 
 inherit autotools pkgconfig
 
-SRC_URI = "http://samba.org/ftp/${BPN}/${BPN}-${PV}.tar.gz"
+SRC_URI = "http://samba.org/ftp/${BPN}/${BPN}-${PV}.tar.gz \
+           file://install-swig-interface-in-SWINGLIBDIR.patch \
+           "
 SRC_URI[md5sum] = "c6e736540145ca58cb3dcb42f91cf57b"
 SRC_URI[sha256sum] = "5b810527405f29d54f50efd78bf2c89e318f2cd8bed001f22f2a1412fd27c9b4"
 
 TARGET_CC_ARCH += "${LDFLAGS}"
 
-PR = "r1"
+PR = "r2"
 
 # autoreconf doesn't work well while reconfiguring included libreplace
 do_configure () {
@@ -19,9 +21,18 @@  do_configure () {
        oe_runconf
 }
 
+do_install_prepend() {
+       # Hack the way swig interface for talloc is installed
+       # This hack is accompanied by install-swig-interface-in-SWINGLIBDIR.patch
+       type swig > /dev/null 2>&1 && SWIGLIBDIR=`swig -swiglib` && SWIGLIBDIR=${SWIGLIBDIR##${STAGING_DIR_NATIVE}} && export SWIGLIBDIR || echo "No swig found"
+}
+
 do_install_append() {
        install -d ${D}${libdir}
        ln -s libtalloc.so.2.0.1 ${D}${libdir}/libtalloc.so.2.0
        ln -s libtalloc.so.2.0 ${D}${libdir}/libtalloc.so.2
        ln -s libtalloc.so.2 ${D}${libdir}/libtalloc.so
 }
+
+PACKAGES += "${PN}-swig"
+FILES_${PN}-swig += "${datadir}"