Skip to contentSkip to conversation

V3: Enable python support for libnewt and libuser

PATCH New Kang Kai 1 participant 3 messages Dec 12, 2012

lore
Share & tools
lore

Kang Kai

author
#0 lore raw

cover V3: Enable python support for libnewt and libuser

V3: add libnewt patch header.

The following changes since commit 45915123a727f86b106da7ccb761b23067b1ff88:

Documentation: poky-ref-manual - Updates to WORKDIR structure (2012-12-11 16:17:57 +0000)

are available in the git repository at:
git://git.pokylinux.org/poky-contrib kangkai/with-python
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=with-python:kangkai/with-python

Kang Kai (2):
newt: enable python support
libuser: enable python support

 meta/recipes-extended/libuser/libuser_0.57.1.bb    |   14 ++++++++---
 .../newt/files/fix_python_fpic.patch               |   24 ++++++++++++++++++++
 meta/recipes-extended/newt/libnewt_0.52.14.bb      |   24 +++++++++++++++-----
 3 files changed, 52 insertions(+), 10 deletions(-)
 create mode 100644 meta/recipes-extended/newt/files/fix_python_fpic.patch
Signature · 1 line
1.7.5.4
author
#1 lore raw

PATCH 1/2 newt: enable python support

Compile newt with python support. There may be packages that need newt's python extension.

Add python to DEPENDS. And add patch fix_python_fpic.patch to compile python .so module with flag -fPIC.

---
 .../newt/files/fix_python_fpic.patch               |   24 ++++++++++++++++++++
 meta/recipes-extended/newt/libnewt_0.52.14.bb      |   24 +++++++++++++++-----
 2 files changed, 42 insertions(+), 6 deletions(-)
 create mode 100644 meta/recipes-extended/newt/files/fix_python_fpic.patch
meta/recipes-extended/newt/files/fix_python_fpic.patch new file +24 -0
new file mode 100644
index 0000000..3ef94e0
@@ -0,0 +1,24 @@
+Fix relocations warning when compile python module
+
+After enable python support in newt, bitbake complains warning:
+
+WARNING: QA Issue: ELF binary '/mnt/sda10/poky-all-platform/build/tmp/work/i586-poky-linux/libnewt/0.52.14-r2/packages-split/libnewt-python/usr/lib/python2.7/site-packages/_snackmodule.so' has relocations in .text
+
+Add flag -fPIC to compile _snackmodule.so to fix the warning.
+
+Signed-off-by: Kang Kai <[email protected]>
+
+Upstream-Status: Pending
+
+---
+--- newt-0.52.14/Makefile.in	2012-12-04 17:27:27.578915801 +0800
++++ newt-0.52.14/Makefile.in.new	2012-12-04 17:28:43.274918472 +0800
+@@ -84,7 +84,7 @@
+ 			PIFLAGS=`$$ver-config --includes`; \
+ 			PLDFLAGS=`$$ver-config --ldflags`; \
+ 			PLFLAGS=`$$ver-config --libs`; \
+-	        $(CC) $(CPPFLAGS) $$PIFLAGS $$PCFLAGS -c -o $$ver/snackmodule.o snackmodule.c ;\
++	        $(CC) $(SHCFLAGS) $(CPPFLAGS) $$PIFLAGS $$PCFLAGS -c -o $$ver/snackmodule.o snackmodule.c ;\
+ 	        $(CC) --shared $$PLDFLAGS $$PLFLAGS $(LDFLAGS) -o $$ver/_snackmodule.so $$ver/snackmodule.o -L.  -lnewt $(LIBS);\
+ 	done || :
+ 	touch $@
meta/recipes-extended/newt/libnewt_0.52.14.bb +18 -6
index 0208695..c1ec029 100644
@@ -15,28 +15,40 @@ LICENSE = "LGPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605"
 
 # slang needs to be >= 2.2
-DEPENDS = "slang popt"
+DEPENDS = "slang popt python"
 
-PR = "r1"
+PR = "r2"
 
 SRC_URI = "https://fedorahosted.org/releases/n/e/newt/newt-${PV}.tar.gz \
            file://remove_slang_include.patch \
            file://fix_SHAREDDIR.patch \
-           file://cross_ar.patch"
+           file://cross_ar.patch \
+           file://fix_python_fpic.patch"
 
 SRC_URI[md5sum] = "eb78c6bb658b92ec7198908b5b8d0e37"
 SRC_URI[sha256sum] = "f70f4f58baa60388ddf2e39249ffb00898fb40f2b2767e42e2ab51fe4b40978e"
 
 S = "${WORKDIR}/newt-${PV}"
 
-EXTRA_OECONF = "--without-python --without-tcl"
+EXTRA_OECONF = "--without-tcl"
 
-inherit autotools
+inherit autotools pythonnative python-dir
 
-PACKAGES_prepend = "whiptail "
+EXTRA_OEMAKE = "PYTHONVERS=${PYTHON_DIR}"
+
+export STAGING_INCDIR
+export STAGING_LIBDIR
+
+export BUILD_SYS
+export HOST_SYS
+
+PACKAGES_prepend = "whiptail ${PN}-python "
 
 do_configure_prepend() {
     sh autogen.sh
 }
 
 FILES_whiptail = "${bindir}/whiptail"
+FILES_${PN}-dbg += "${PYTHON_SITEPACKAGES_DIR}/.debug/"
+FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}/*"
+FILES_${PN}-staticdev = "${libdir}/*.a"
Signature · 1 line
1.7.5.4
author
#2 lore raw

PATCH 2/2 libuser: enable python support

In reply to Kang Kai

Compile libuser with python support and add python to DEPENDS.

---
 meta/recipes-extended/libuser/libuser_0.57.1.bb |   14 ++++++++++----
 1 files changed, 10 insertions(+), 4 deletions(-)
meta/recipes-extended/libuser/libuser_0.57.1.bb +10 -4
index 99b661b..105bacf 100644
@@ -15,10 +15,16 @@ SRC_URI = "https://fedorahosted.org/releases/l/i/libuser/libuser-${PV}.tar.xz"
 
 SRC_URI[md5sum] = "be82c6941264d0b4bd04f95fb342ec7d"
 SRC_URI[sha256sum] = "a61289867581fa715354a3fafe09c3e481173ce0a2dcb33b04588b6ac13cead5"
-PR = "r2"
+PR = "r3"
 
-DEPENDS = "popt libpam glib-2.0 xz-native docbook-utils-native linuxdoc-tools-native"
+DEPENDS = "popt libpam glib-2.0 xz-native docbook-utils-native linuxdoc-tools-native python"
 
-EXTRA_OECONF += "--without-python"
+inherit autotools gettext pythonnative python-dir
+
+EXTRA_OEMAKE = "PYTHON_CPPFLAGS=-I${STAGING_INCDIR}/${PYTHON_DIR}"
+
+PACKAGES += "${PN}-python "
+
+FILES_${PN}-dbg += "${PYTHON_SITEPACKAGES_DIR}/.debug"
+FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}"
 
-inherit autotools gettext
Signature · 1 line
1.7.5.4