]> code.ossystems Code Review - openembedded-core.git/commitdiff
python: add PACKAGECONFIG for Berkeley DB module
authorRoss Burton <ross.burton@intel.com>
Wed, 1 Nov 2017 00:28:34 +0000 (00:28 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 8 Nov 2017 22:23:43 +0000 (22:23 +0000)
The bsddb module is deprecated and requires an old version of Berkeley DB that
some may be unhappy with even shipping, so expose a way to disable the module.

Signed-off-by: Ross Burton <ross.burton@intel.com>
meta/recipes-devtools/python/python_2.7.13.bb

index 877069943ee5a3e34cfd94293b1bc2af02200571..754c029097f97fb775c88a51c7757ad64fc691d1 100644 (file)
@@ -1,5 +1,5 @@
 require python.inc
-DEPENDS = "python-native libffi bzip2 db gdbm openssl readline sqlite3 zlib"
+DEPENDS = "python-native libffi bzip2 gdbm openssl readline sqlite3 zlib"
 PR = "${INC_PR}"
 
 DISTRO_SRC_URI ?= "file://sitecustomize.py"
@@ -39,6 +39,9 @@ CONFIGUREOPTS += " --with-system-ffi "
 
 EXTRA_OECONF += "ac_cv_file__dev_ptmx=yes ac_cv_file__dev_ptc=no"
 
+PACKAGECONFIG ??= "bdb"
+PACKAGECONFIG[bdb] = ",,db"
+
 do_configure_append() {
        rm -f ${S}/Makefile.orig
         autoreconf -Wcross --verbose --install --force --exclude=autopoint ../Python-${PV}/Modules/_ctypes/libffi
@@ -118,6 +121,10 @@ do_install() {
        fi
 
        oe_multilib_header python${PYTHON_MAJMIN}/pyconfig.h
+
+    if [ -z "${@bb.utils.filter('PACKAGECONFIG', 'bdb', d)}" ]; then
+        rm -rf ${D}/${libdir}/python${PYTHON_MAJMIN}/bsddb
+    fi
 }
 
 do_install_append_class-nativesdk () {
@@ -154,6 +161,8 @@ FILES_lib${BPN}2 = "${libdir}/libpython*.so.*"
 PACKAGES += "${PN}-misc"
 FILES_${PN}-misc = "${libdir}/python${PYTHON_MAJMIN}"
 RDEPENDS_${PN}-modules += "${PN}-misc"
+
+# ptest
 RDEPENDS_${PN}-ptest = "${PN}-modules ${PN}-tests"
 #inherit ptest after "require python-${PYTHON_MAJMIN}-manifest.inc" so PACKAGES doesn't get overwritten
 inherit ptest
@@ -180,4 +189,7 @@ do_install_ptest() {
 PACKAGES += "${PN}-man"
 FILES_${PN}-man = "${datadir}/man"
 
+# Nasty but if bdb isn't enabled the package won't be generated
+RDEPENDS_${PN}-modules_remove = "${@bb.utils.contains('PACKAGECONFIG', 'bdb', '', '${PN}-bsddb', d)}"
+
 BBCLASSEXTEND = "nativesdk"