diff options
author | Hongxu Jia <hongxu.jia@windriver.com> | 2017-05-26 03:37:30 -0400 |
---|---|---|
committer | Martin Jansa <Martin.Jansa@gmail.com> | 2017-06-05 11:01:47 +0200 |
commit | abc5a71c4d216742dc2af4b475136262ac169612 (patch) | |
tree | 2f5c60e63f45ffc89332034d5f15f946482fd94d /meta-python/recipes-extended | |
parent | 0cf7b58745b1bc28d3affef49d5b56128287a576 (diff) | |
download | meta-openembedded-abc5a71c4d216742dc2af4b475136262ac169612.tar.gz |
python3-pyparted: add a python3 recipe
- Split to a common python-pyparted.inc for python2 and python3
- Tweak 0001-fix-version-float-check.patch for python3 to fix
do_compile errror
----
| ERROR: python3 setup.py build_ext execution failed.
| Traceback (most recent call last):
| File "setup.py", line 62, in <module>
| check_mod_version('libparted', need_libparted_version)
| File "setup.py", line 55, in check_mod_version
| match = re.search('([0-9]+\.[0-9]+)', modversion)
| File "work/core2-64-wrs-linux/python3-pyparted/3.10.7+gitAU
TOINC+69c4a478e4-r0/recipe-sysroot-native/usr/lib/python3.5/re.py",
line 173, in search
| return _compile(pattern, flags).search(string)
| TypeError: cannot use a string pattern on a bytes-like object
----
The reason is the return of subprocess.check_output is byte in python3,
but string in python2
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Diffstat (limited to 'meta-python/recipes-extended')
4 files changed, 63 insertions, 19 deletions
diff --git a/meta-python/recipes-extended/python-pyparted/python-pyparted.inc b/meta-python/recipes-extended/python-pyparted/python-pyparted.inc new file mode 100644 index 000000000..65f8ca14d --- /dev/null +++ b/meta-python/recipes-extended/python-pyparted/python-pyparted.inc | |||
@@ -0,0 +1,21 @@ | |||
1 | DESCRIPTION = "pyparted is a set of Python modules that provide Python programmers \ | ||
2 | an interface to libparted, the GNU parted library for disk partitioning and \ | ||
3 | filesystem manipulation." | ||
4 | SUMMARY = "Python bindings for libparted" | ||
5 | HOMEPAGE = "https://github.com/rhinstaller/pyparted" | ||
6 | LICENSE = "GPL-2.0+" | ||
7 | LIC_FILES_CHKSUM = "\ | ||
8 | file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b \ | ||
9 | file://src/_pedmodule.c;startline=10;endline=22;md5=ebcb25dde1ac9c46e986dec79b404e7e \ | ||
10 | " | ||
11 | DEPENDS += "parted" | ||
12 | |||
13 | # upstream only publishes releases in github archives which are discouraged | ||
14 | SRCREV = "69c4a478e43d3eff6ae3a0116fa38da06776d5f5" | ||
15 | SRC_URI = "git://github.com/rhinstaller/pyparted.git;protocol=https \ | ||
16 | file://0001-fix-version-float-check.patch \ | ||
17 | " | ||
18 | S = "${WORKDIR}/git" | ||
19 | |||
20 | RDEPENDS_${PN} += "parted (>= 2.3)" | ||
21 | RDEPENDS_${PN}_class-native = "" | ||
diff --git a/meta-python/recipes-extended/python-pyparted/python-pyparted_3.10.7.bb b/meta-python/recipes-extended/python-pyparted/python-pyparted_3.10.7.bb index 8335d08c3..8a15a89fd 100644 --- a/meta-python/recipes-extended/python-pyparted/python-pyparted_3.10.7.bb +++ b/meta-python/recipes-extended/python-pyparted/python-pyparted_3.10.7.bb | |||
@@ -1,27 +1,12 @@ | |||
1 | DESCRIPTION = "pyparted is a set of Python modules that provide Python programmers \ | 1 | require python-pyparted.inc |
2 | an interface to libparted, the GNU parted library for disk partitioning and \ | ||
3 | filesystem manipulation." | ||
4 | SUMMARY = "Python bindings for libparted" | ||
5 | HOMEPAGE = "https://github.com/rhinstaller/pyparted" | ||
6 | LICENSE = "GPL-2.0+" | ||
7 | LIC_FILES_CHKSUM = "\ | ||
8 | file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b \ | ||
9 | file://src/_pedmodule.c;startline=10;endline=22;md5=ebcb25dde1ac9c46e986dec79b404e7e \ | ||
10 | " | ||
11 | DEPENDS += "parted python-re" | ||
12 | 2 | ||
13 | PV = "3.10.7+git${SRCPV}" | 3 | DEPENDS += "python-re" |
14 | 4 | ||
15 | # upstream only publishes releases in github archives which are discouraged | 5 | PV = "3.10.7+git${SRCPV}" |
16 | SRCREV = "69c4a478e43d3eff6ae3a0116fa38da06776d5f5" | ||
17 | SRC_URI = "git://github.com/rhinstaller/pyparted.git;protocol=https \ | ||
18 | file://0001-fix-version-float-check.patch \ | ||
19 | " | ||
20 | S = "${WORKDIR}/git" | ||
21 | 6 | ||
22 | inherit distutils | 7 | inherit distutils |
23 | 8 | ||
24 | RDEPENDS_${PN} += "python-stringold python-codecs python-math parted (>= 2.3)" | 9 | RDEPENDS_${PN} += "python-stringold python-codecs python-math" |
25 | RDEPENDS_${PN}_class-native = "" | 10 | RDEPENDS_${PN}_class-native = "" |
26 | 11 | ||
27 | BBCLASSEXTEND = "native" | 12 | BBCLASSEXTEND = "native" |
diff --git a/meta-python/recipes-extended/python-pyparted/python3-pyparted/0001-fix-version-float-check.patch b/meta-python/recipes-extended/python-pyparted/python3-pyparted/0001-fix-version-float-check.patch new file mode 100644 index 000000000..14fb0bb3e --- /dev/null +++ b/meta-python/recipes-extended/python-pyparted/python3-pyparted/0001-fix-version-float-check.patch | |||
@@ -0,0 +1,26 @@ | |||
1 | check_mod_version breaks if module version is of x.y.z form | ||
2 | use a regex to help cast x.y.z version to a float | ||
3 | |||
4 | Upstream-Status: Pending | ||
5 | |||
6 | Index: git/setup.py | ||
7 | =================================================================== | ||
8 | --- git.orig/setup.py | ||
9 | +++ git/setup.py | ||
10 | @@ -25,6 +25,7 @@ import glob | ||
11 | import os | ||
12 | import platform | ||
13 | import sys | ||
14 | +import re | ||
15 | from distutils.ccompiler import new_compiler | ||
16 | from distutils.errors import CompileError | ||
17 | from distutils.errors import LinkError | ||
18 | @@ -51,6 +52,8 @@ def pkgconfig(*packages, **kwargs): | ||
19 | |||
20 | def check_mod_version(module, version): | ||
21 | modversion = subprocess.check_output(["pkg-config", "--modversion", module]) | ||
22 | + match = re.search(b'([0-9]+\.[0-9]+)', modversion) | ||
23 | + modversion = match.group(0) | ||
24 | if not float(modversion) >= float(version): | ||
25 | sys.stderr.write("*** Minimum required %s version: %s, found: %s\n" % (module, version, modversion,)) | ||
26 | sys.exit(1) | ||
diff --git a/meta-python/recipes-extended/python-pyparted/python3-pyparted_3.10.7.bb b/meta-python/recipes-extended/python-pyparted/python3-pyparted_3.10.7.bb new file mode 100644 index 000000000..ff72c2a65 --- /dev/null +++ b/meta-python/recipes-extended/python-pyparted/python3-pyparted_3.10.7.bb | |||
@@ -0,0 +1,12 @@ | |||
1 | require python-pyparted.inc | ||
2 | |||
3 | DEPENDS += "python3-re" | ||
4 | |||
5 | PV = "3.10.7+git${SRCPV}" | ||
6 | |||
7 | inherit distutils3 | ||
8 | |||
9 | RDEPENDS_${PN} += "python3-stringold python3-codecs python3-math" | ||
10 | RDEPENDS_${PN}_class-native = "" | ||
11 | |||
12 | BBCLASSEXTEND = "native" | ||