dunfell: remove .py files from rootfs
Only the .pyc files are needed so save some space in the image by
removing the .py files.
With the move to python3, machines that bring python into their image no
longer build due to the squashfs being too large. This fixes that issue.
A similar function as this used to be under the tiny-distro feature but
it just needs to be mandatory now until someone feels like they need
the .py files in the image.
Change-Id: I1cc50db8cc3f37a56a09d15b254b298beee9c721
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
diff --git a/recipes-devtools/python/python3_%.bbappend b/recipes-devtools/python/python3_%.bbappend
index 5d5e38a..69f4e9a 100644
--- a/recipes-devtools/python/python3_%.bbappend
+++ b/recipes-devtools/python/python3_%.bbappend
@@ -4,8 +4,17 @@
ALTERNATIVE_LINK_NAME[python] = "${bindir}/python"
ALTERNATIVE_TARGET[python] = "${bindir}/python3"
-# Even though python3 is built with --without-ensurepip, it still installs
-# a large, compressed version of pip. Remove it to free up the space.
+# python3 takes up a lot of space that most embedded systems
+# do not have, so remove some un-needed files from the rootfs
do_install_append_class-target() {
+ # Even though python3 is built with --without-ensurepip, it still installs
+ # a large, compressed version of pip. Remove it to free up the space.
rm -rf ${D}${libdir}/python${PYTHON_MAJMIN}/ensurepip
+
+ # Remove all python .py files from python recipe. Only the .pyc
+ # files are required.
+ # The _sysconfigdata*.py files are system configuration files generated
+ # during build time. It's used in the yocto packaging process so
+ # it is required to remain in the image.
+ find ${D}${libdir}/python${PYTHON_MAJMIN} -name \*.py ! -name _sysconfigdata*.py -exec rm {} \;
}