From 3b68fb57c938af3948ae4c2da61501183fbef649 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20=C5=A0tetiar?= Date: Wed, 20 Mar 2019 09:52:58 +0100 Subject: [PATCH] build: cleanup possibly dangling Python 2 host symlink MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- include/prereq-build.mk | 2 ++ include/prereq.mk | 12 ++++++++++++ 2 files changed, 14 insertions(+) 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