[OpenWrt-Devel] [PATCH 5/6] build: switch to Python 3
Y.b. Lu
yangbo.lu at nxp.com
Tue Jun 18 23:20:43 EDT 2019
Hi Petr,
> -----Original Message-----
> From: Petr Štetiar <ynezz at true.cz>
> Sent: 2019年6月18日 4:09
> To: openwrt-devel at lists.openwrt.org
> Cc: Petr Štetiar <ynezz at true.cz>; Y.b. Lu <yangbo.lu at nxp.com>; Mathew
> McBride <matt at traverse.com.au>
> Subject: [PATCH 5/6] build: switch to Python 3
>
> This patch switches Python used in buildroot to Python 3 as Python 2.x series
> is going to be EOL relatively soon[1].
>
> "Being the last of the Python 2.x series, 2.7 will have an extended
> period of maintenance. Specifically, 2.7 will receive bugfix support
> until January 1, 2020. After the last release, 2.7 will receive no
> support."
>
> It seems like Python 3 is going to be needed in order to support Meson build
> system which has gained some traction recently.
>
> Build tested on following targets:
>
> ath79/generic
> imx6/generic
> ipq40xx/generic
> lantiq/xway
> layerscape/armv7 (broken)
> layerscape/armv8_32b (broken)
> layerscape/armv8_64b (broken)
> mvebu/cortexa72
> ramips/mt7621
> ramips/mt7620
> sunxi/cortexa7
> x86/64
>
> Layerscape targets are unfortunately left broken as their ls-rcw firmware
> package uses Python 2 and converting it to Python 3 would take more then
> reasoanble amount of time (I've tried to fix it already) and would be better
> fixed by someone who can even run test it.
[Y.b. Lu] I created a pull request for ls-rcw to convert to python3. I compared the binaries generated with python2 and python3. Looked good.
Please help to review or cherry-pick if you need.
https://github.com/openwrt/openwrt/pull/2149
>
> Run tested on ath79 (Archer C7 v5), ipq40xx (nbg6617) and x86_64 (QEMU
> and apu2).
>
> 1.
> https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.p
> ython.org%2Fdev%2Fpeps%2Fpep-0373%2F&data=02%7C01%7Cyangbo.
> lu%40nxp.com%7C8ea4f054b5be452b1f8808d6f35fa7af%7C686ea1d3bc2b4c
> 6fa92cd99c5c301635%7C0%7C1%7C636963989493552800&sdata=mnt
> xb7ox6zgB2n%2B%2Fe07n%2Blhq%2FLqVAxaSgvTzCfb6YvE%3D&reserve
> d=0
>
> Ref: PR#1937
> Cc: Yangbo Lu <yangbo.lu at nxp.com>
> Cc: Mathew McBride <matt at traverse.com.au>
> Signed-off-by: Petr Štetiar <ynezz at true.cz>
> ---
> README | 2 +-
> include/prereq-build.mk | 15 +++++++++++----
> 2 files changed, 12 insertions(+), 5 deletions(-)
>
> diff --git a/README b/README
> index 55ca92af65f8..c867c1fa4da8 100644
> --- a/README
> +++ b/README
> @@ -11,7 +11,7 @@ To build your own firmware you need a Linux, BSD or
> MacOSX system (case sensitive filesystem required). Cygwin is unsupported
> because of the lack of a case sensitive file system.
>
> -You need gcc, binutils, bzip2, flex, python, perl, make, find, grep, diff,
> +You need gcc, binutils, bzip2, flex, python3.5+, perl, make, find,
> +grep, diff,
> unzip, gawk, getopt, subversion, libz-dev and libc headers installed.
>
> 1. Run "./scripts/feeds update -a" to obtain all the latest package definitions
> diff --git a/include/prereq-build.mk b/include/prereq-build.mk index
> f7da916f648c..c52ca719087c 100644
> --- a/include/prereq-build.mk
> +++ b/include/prereq-build.mk
> @@ -141,10 +141,17 @@ $(eval $(call SetupHostCommand,wget,Please
> install GNU 'wget', \ $(eval $(call SetupHostCommand,perl,Please install Perl
> 5.x, \
> perl --version | grep "perl.*v5"))
>
> -$(eval $(call SetupHostCommand,python,Please install Python 2.x, \
> - python2.7 -V 2>&1 | grep Python, \
> - python2 -V 2>&1 | grep Python, \
> - python -V 2>&1 | grep Python))
> +$(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]\.?', \
> + python3.5 -V 2>&1 | grep -E 'Python 3\.[5-9]\.?', \
> + python3 -V 2>&1 | grep -E 'Python 3\.[5-9]\.?'))
> +
> +$(eval $(call SetupHostCommand,python3,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]\.?', \
> + python3.5 -V 2>&1 | grep -E 'Python 3\.[5-9]\.?', \
> + python3 -V 2>&1 | grep -E 'Python 3\.[5-9]\.?'))
>
> $(eval $(call SetupHostCommand,git,Please install Git (git-core) >= 1.7.12.2, \
> git --exec-path | xargs -I % -- grep -q -- --recursive %/git-submodule))
> --
> 1.9.1
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel
More information about the openwrt-devel
mailing list