From 5bfb9c30a1a3199596dcf07cf64dea7df92a7237 Mon Sep 17 00:00:00 2001 From: Andre Heider Date: Tue, 10 Aug 2021 12:22:17 +0200 Subject: [PATCH] prereq-build: require python3-distutils 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 (cherry picked from commit 60af8d753343691c4a647bfc7c51ef6eb92df9f2) --- include/prereq-build.mk | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/include/prereq-build.mk b/include/prereq-build.mk index cb3dcc51e36..538aee58fed 100644 --- a/include/prereq-build.mk +++ b/include/prereq-build.mk @@ -168,6 +168,10 @@ $(eval $(call SetupHostCommand,python3,Please install Python >= 3.5, \ python3.5 -V 2>&1 | grep 'Python 3', \ python3 -V 2>&1 | grep -E 'Python 3\.[5-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