From: Petr Štetiar Date: Wed, 20 Mar 2019 08:52:58 +0000 (+0100) Subject: build: cleanup possibly dangling Python 2 host symlink X-Git-Tag: v21.02.0-rc1~5436 X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=3b68fb57c938af3948ae4c2da61501183fbef649;p=openwrt%2Fopenwrt.git build: cleanup possibly dangling Python 2 host symlink When bumping buildroot to Python 3, we need to assure, that Python symlink in staging bin directory points to Python >= 3.5 as well. We can't rely completly just on SetupHostCommand as its executed only in cases when the $(STAGING_DIR_HOST)/bin/python doesn't already exist, so we need to remove it before running SetupHostCommand. Acked-by: Yousong Zhou Signed-off-by: Petr Štetiar --- diff --git a/include/prereq-build.mk b/include/prereq-build.mk index c52ca71908..40df89575d 100644 --- a/include/prereq-build.mk +++ b/include/prereq-build.mk @@ -141,6 +141,8 @@ $(eval $(call SetupHostCommand,wget,Please install GNU 'wget', \ $(eval $(call SetupHostCommand,perl,Please install Perl 5.x, \ perl --version | grep "perl.*v5")) +$(eval $(call CleanupPython2)) + $(eval $(call SetupHostCommand,python,Please install Python >= 3.5, \ python3.7 -V 2>&1 | grep -E 'Python 3\.[5-9]\.?', \ python3.6 -V 2>&1 | grep -E 'Python 3\.[5-9]\.?', \ diff --git a/include/prereq.mk b/include/prereq.mk index 0f0f253744..83ac21242c 100644 --- a/include/prereq.mk +++ b/include/prereq.mk @@ -66,6 +66,18 @@ define RequireHeader $$(eval $$(call Require,$(1),$(2))) endef +define CleanupPython2 + define Require/python2-cleanup + if [ -f "$(STAGING_DIR_HOST)/bin/python" ] && \ + $(STAGING_DIR_HOST)/bin/python -V 2>&1 | \ + grep -q 'Python 2'; then \ + rm $(STAGING_DIR_HOST)/bin/python; \ + fi + endef + + $$(eval $$(call Require,python2-cleanup)) +endef + define QuoteHostCommand '$(subst ','"'"',$(strip $(1)))' endef