[PATCH] prereq-build: require python3-distutils

Andre Heider a.heider at gmail.com
Tue Aug 10 03:22:17 PDT 2021


Debian and Ubuntu ship a python3-minimal package which does not include
the distutils module. This is not supported by upstream and can be
considered a broken python distribution.

In practice, many scripts depend on said module, and this is a reoccuring
pain point for building various OpenWrt packages.

Require and check for said module, enough time has been wasted on this.

A list of just the most recent issues:
https://github.com/openwrt/packages/pull/16304
https://github.com/openwrt/packages/pull/16027
https://github.com/openwrt/packages/pull/15443
https://github.com/openwrt/packages/pull/14394
https://github.com/openwrt/packages/pull/12909
https://github.com/openwrt/packages/issues/12443
https://github.com/openwrt/packages/pull/11035
https://github.com/openwrt/packages/issues/10993

Signed-off-by: Andre Heider <a.heider at gmail.com>
---
 include/prereq-build.mk | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/include/prereq-build.mk b/include/prereq-build.mk
index 8fbf6f22c4..922e7c544b 100644
--- a/include/prereq-build.mk
+++ b/include/prereq-build.mk
@@ -170,6 +170,10 @@ $(eval $(call SetupHostCommand,python3,Please install Python >= 3.6, \
 	python3.6 -V 2>&1 | grep 'Python 3', \
 	python3 -V 2>&1 | grep -E 'Python 3\.[6-9]\.?'))
 
+$(eval $(call TestHostCommand,python3-distutils, \
+	Please install the Python3 distutils module, \
+	$(STAGING_DIR_HOST)/bin/python3 -c 'import distutils'))
+
 $(eval $(call SetupHostCommand,git,Please install Git (git-core) >= 1.7.12.2, \
 	git --exec-path | xargs -I % -- grep -q -- --recursive %/git-submodule))
 
-- 
2.30.2




More information about the openwrt-devel mailing list