[OE-core] [PATCH 2/2] python/python3: Add option to remove test files

Andrew Geissler geissonator at gmail.com
Wed Sep 12 20:40:25 UTC 2018


A quick search in the python package shows the following test
directories being included in the python image:
./Python-2.7.14/Lib/bsddb/test
./Python-2.7.14/Lib/sqlite3/test
./Python-2.7.14/Lib/ctypes/test
./Python-2.7.14/Lib/unittest/test
./Python-2.7.14/Lib/lib-tk/test
./Python-2.7.14/Lib/email/test

In some distributions, the extra space taken up by these test files
is very valuable.

The default is to still include the test files.

Signed-off-by: Andrew Geissler <geissonator at gmail.com>
---
 meta/recipes-devtools/python/python3_3.5.5.bb | 9 +++++++++
 meta/recipes-devtools/python/python_2.7.15.bb | 9 +++++++++
 2 files changed, 18 insertions(+)

diff --git a/meta/recipes-devtools/python/python3_3.5.5.bb b/meta/recipes-devtools/python/python3_3.5.5.bb
index c919a97..5d1397a 100644
--- a/meta/recipes-devtools/python/python3_3.5.5.bb
+++ b/meta/recipes-devtools/python/python3_3.5.5.bb
@@ -160,6 +160,11 @@ EOF
 	fi
 }
 
+# Some packages include test/ directories and files. Provide option
+# to not include them.
+
+INCLUDE_TESTS ?= "1"
+
 do_install() {
 	# make install needs the original Makefile, or otherwise the inclues would
 	# go to ${D}${STAGING...}/...
@@ -189,6 +194,10 @@ do_install() {
 	fi
 
 	oe_multilib_header python${PYTHON_BINABI}/pyconfig.h
+
+    if [ "${INCLUDE_TESTS}" -ne "1" ]; then
+        find ${D}${libdir}/python${PYTHON_MAJMIN} -name test -exec rm -rf {} +;
+    fi
 }
 
 do_install_append_class-nativesdk () {
diff --git a/meta/recipes-devtools/python/python_2.7.15.bb b/meta/recipes-devtools/python/python_2.7.15.bb
index 82b65d2..1839624 100644
--- a/meta/recipes-devtools/python/python_2.7.15.bb
+++ b/meta/recipes-devtools/python/python_2.7.15.bb
@@ -90,6 +90,11 @@ do_compile() {
 		OPT="${CFLAGS}"
 }
 
+# Some packages include test/ directories and files. Provide option
+# to not include them.
+
+INCLUDE_TESTS ?= "1"
+
 do_install() {
 	# make install needs the original Makefile, or otherwise the inclues would
 	# go to ${D}${STAGING...}/...
@@ -127,6 +132,10 @@ do_install() {
     if [ -z "${@bb.utils.filter('PACKAGECONFIG', 'bdb', d)}" ]; then
         rm -rf ${D}/${libdir}/python${PYTHON_MAJMIN}/bsddb
     fi
+
+    if [ "${INCLUDE_TESTS}" -ne "1" ]; then
+        find ${D}${libdir}/python${PYTHON_MAJMIN} -name test -exec rm -rf {} +;
+    fi
 }
 
 do_install_append_class-nativesdk () {
-- 
2.7.4




More information about the Openembedded-core mailing list