From: Samuel Martin <s.martin49@gmail.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 14/33] dependencies: build a host python2 if no suitable one can be found
Date: Thu, 22 Nov 2012 01:18:04 +0100 [thread overview]
Message-ID: <1353543503-8952-15-git-send-email-s.martin49@gmail.com> (raw)
In-Reply-To: <1353543503-8952-1-git-send-email-s.martin49@gmail.com>
Some distros choose to change the /usr/bin/python binary, making it pointed
to python3 instead of python2.
This may have some bad consequences for packages that uses some
non-python3-compliant python scripts in their build system (eg. in install
or post-install scripts).
This patch checks for a suitable python2 version (2.6 or 2.7) on the host
system, and declares the following variables:
- PYTHON2: pointing to the host python2 binary;
- NEED_PYTHON2: sets to "host-python" if no python2 binary has been found.
This way, a package using some python2 scripts must:
- adds $(NEED_PYTHON2) to its dependency list;
- sets $(PYTHON2) as the python binary to be used.
A side effect of this patch is getting rid of any host python. Buildroot
can runs on a host without python, or with a too old python2 version, or
with only python3; in such case, $(NEED_PYTHON2) should be added to the
dependency list. So, we can get rid of the python dependency check.
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
---
support/dependencies/check-host-python2.mk | 6 ++++++
support/dependencies/check-host-python2.sh | 13 +++++++++++++
2 files changed, 19 insertions(+)
create mode 100644 support/dependencies/check-host-python2.mk
create mode 100755 support/dependencies/check-host-python2.sh
diff --git a/support/dependencies/check-host-python2.mk b/support/dependencies/check-host-python2.mk
new file mode 100644
index 0000000..ddae701
--- /dev/null
+++ b/support/dependencies/check-host-python2.mk
@@ -0,0 +1,6 @@
+PYTHON2 = $(call suitable-host-package,python2)
+
+ifeq ($(PYTHON2),)
+ NEED_PYTHON2 = host-python
+ PYTHON2 = $(HOST_DIR)/usr/bin/python
+endif
diff --git a/support/dependencies/check-host-python2.sh b/support/dependencies/check-host-python2.sh
new file mode 100755
index 0000000..6ad4b3a
--- /dev/null
+++ b/support/dependencies/check-host-python2.sh
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+candidates="python python2"
+
+for candidate in ${candidates} ; do
+ which ${candidate} &>/dev/null || continue
+ # restrict version of python2 to 2.6 or 2.7
+ if ${candidate} --version 2>&1 | grep -q 'Python 2\.[6-7].*' ; then
+ # found a valid candidate, so quit now
+ echo $(which ${candidate})
+ exit
+ fi
+done
--
1.8.0
next prev parent reply other threads:[~2012-11-22 0:18 UTC|newest]
Thread overview: 82+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-11-22 0:17 [Buildroot] [PATCH 00/33] Pull request for 2012.11/bug-fixes Samuel Martin
2012-11-22 0:17 ` [Buildroot] [PATCH 01/33] libecore: fix build with glibc >=2.16 Samuel Martin
2012-11-23 9:00 ` Peter Korsgaard
2012-11-22 0:17 ` [Buildroot] [PATCH 02/33] libpcap: add pcap.pc file Samuel Martin
2012-11-22 10:09 ` Thomas Petazzoni
2012-11-22 10:39 ` Samuel Martin
2012-11-22 0:17 ` [Buildroot] [PATCH 03/33] tcpdump: use 'pkg-config pcap' instead of pcap-config Samuel Martin
2012-11-22 10:10 ` Thomas Petazzoni
2012-11-22 10:46 ` Samuel Martin
2012-11-22 0:17 ` [Buildroot] [PATCH 04/33] igh-ethercat: disable drivers build with kernel 3.6 Samuel Martin
2012-11-22 10:12 ` Thomas Petazzoni
2012-11-22 11:07 ` Samuel Martin
2012-11-22 0:17 ` [Buildroot] [PATCH 05/33] imagemagick: explicitly disable c++ support if no c++ compiler available Samuel Martin
2012-11-23 9:09 ` Peter Korsgaard
2012-11-22 0:17 ` [Buildroot] [PATCH 06/33] sylpheed: fix build disabling gpgme support Samuel Martin
2012-11-23 9:10 ` Peter Korsgaard
2013-05-06 8:01 ` Peter Korsgaard
2013-05-06 10:02 ` Samuel Martin
2012-11-22 0:17 ` [Buildroot] [PATCH 07/33] fluxbox: fix build against imlib2 Samuel Martin
2012-11-23 9:14 ` Peter Korsgaard
2012-12-09 18:14 ` Samuel Martin
2012-11-22 0:17 ` [Buildroot] [PATCH 08/33] owl-linux: update help text about linux kernel dependencies Samuel Martin
2012-11-30 15:45 ` Peter Korsgaard
2012-11-22 0:17 ` [Buildroot] [PATCH 09/33] linux-fusion: fix build Samuel Martin
2012-11-29 12:38 ` Simon Dawson
2012-11-30 0:34 ` Peter Korsgaard
2012-11-22 0:18 ` [Buildroot] [PATCH 10/33] ltp-testsuite: add warning about bessel function support if uclibc toolchain Samuel Martin
2013-03-04 9:30 ` Peter Korsgaard
2012-11-22 0:18 ` [Buildroot] [PATCH 11/33] ltp-testsuite: fix build on uClibc exp10 Samuel Martin
2013-03-04 9:29 ` Peter Korsgaard
2012-11-22 0:18 ` [Buildroot] [PATCH 12/33] sconeserver: fix configure.in Samuel Martin
2012-11-22 0:18 ` [Buildroot] [PATCH 13/33] sconeserver: fix imagemagick dependency Samuel Martin
2012-11-22 0:18 ` Samuel Martin [this message]
2012-11-22 0:18 ` [Buildroot] [PATCH 15/33] scons: force to use python2 on the host Samuel Martin
2012-11-22 0:18 ` [Buildroot] [PATCH 16/33] libmad: do not install mad.pc on the target Samuel Martin
2012-11-22 0:18 ` [Buildroot] [PATCH 17/33] matchbox packages: fix broken urls Samuel Martin
2012-11-30 15:43 ` Peter Korsgaard
2012-11-30 19:57 ` Samuel Martin
2012-11-30 20:16 ` Peter Korsgaard
2012-11-30 20:38 ` [Buildroot] [PATCH] " Samuel Martin
2012-11-30 21:09 ` Peter Korsgaard
2012-11-22 0:18 ` [Buildroot] [PATCH 18/33] linux-fusion: bump to version 8.10.4 Samuel Martin
2012-11-29 12:38 ` Simon Dawson
2012-11-30 15:24 ` Peter Korsgaard
2012-11-22 0:18 ` [Buildroot] [PATCH 19/33] python2: bump to 2.7.3 Samuel Martin
2012-11-22 10:16 ` Thomas Petazzoni
2012-11-22 10:47 ` Samuel Martin
2012-11-22 10:52 ` Thomas Petazzoni
2012-11-22 0:18 ` [Buildroot] [PATCH 20/33] pkg-download.mk: add tarball check in the wget method Samuel Martin
2012-11-22 0:18 ` [Buildroot] [PATCH 21/33] rrdtool: add python binding support Samuel Martin
2013-01-15 21:57 ` Peter Korsgaard
2013-01-15 22:17 ` Samuel Martin
2012-11-22 0:18 ` [Buildroot] [PATCH 22/33] libmad: add license info Samuel Martin
2012-11-24 23:08 ` Arnout Vandecappelle
2012-11-30 15:29 ` Peter Korsgaard
2012-11-22 0:18 ` [Buildroot] [PATCH 23/33] scons: " Samuel Martin
2012-11-24 23:06 ` Arnout Vandecappelle
2012-11-30 15:32 ` Peter Korsgaard
2012-11-22 0:18 ` [Buildroot] [PATCH 24/33] efl packages: " Samuel Martin
2012-11-24 23:04 ` Arnout Vandecappelle
2012-11-22 0:18 ` [Buildroot] [PATCH 25/33] fluxbox: " Samuel Martin
2012-11-24 20:48 ` Arnout Vandecappelle
2012-11-22 0:18 ` [Buildroot] [PATCH 26/33] igh-ethercat: " Samuel Martin
2012-11-24 20:46 ` Arnout Vandecappelle
2012-11-22 0:18 ` [Buildroot] [PATCH 27/33] imagemagick: " Samuel Martin
2012-11-24 20:42 ` Arnout Vandecappelle
2012-11-30 15:34 ` Peter Korsgaard
2012-11-22 0:18 ` [Buildroot] [PATCH 28/33] imlib2: " Samuel Martin
2012-11-24 20:29 ` Arnout Vandecappelle
2012-11-22 0:18 ` [Buildroot] [PATCH 29/33] ltp-testsuite: " Samuel Martin
2012-11-24 20:41 ` Arnout Vandecappelle
2013-01-15 22:18 ` Peter Korsgaard
2012-11-22 0:18 ` [Buildroot] [PATCH 30/33] matchbox packages: " Samuel Martin
2012-11-24 20:37 ` Arnout Vandecappelle
2012-11-22 0:18 ` [Buildroot] [PATCH 31/33] owl-linux: " Samuel Martin
2012-11-24 20:20 ` Arnout Vandecappelle
2012-11-22 0:18 ` [Buildroot] [PATCH 32/33] rrdtool: " Samuel Martin
2012-11-22 5:17 ` Baruch Siach
2012-11-22 10:07 ` Samuel Martin
2012-11-24 20:09 ` Arnout Vandecappelle
2012-11-22 0:18 ` [Buildroot] [PATCH 33/33] sylpheed: " Samuel Martin
2012-11-24 23:15 ` Arnout Vandecappelle
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1353543503-8952-15-git-send-email-s.martin49@gmail.com \
--to=s.martin49@gmail.com \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox