prereq-build: require python3-distutils
authorAndre Heider <a.heider@gmail.com>
Tue, 10 Aug 2021 10:22:17 +0000 (12:22 +0200)
committerHauke Mehrtens <hauke@hauke-m.de>
Sat, 28 Aug 2021 13:48:08 +0000 (15:48 +0200)
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@gmail.com>
(cherry picked from commit 60af8d753343691c4a647bfc7c51ef6eb92df9f2)

include/prereq-build.mk

index cb3dcc5..538aee5 100644 (file)
@@ -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))