mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-02-16 02:50:49 +00:00
- 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>
27 lines
923 B
Diff
27 lines
923 B
Diff
check_mod_version breaks if module version is of x.y.z form
|
|
use a regex to help cast x.y.z version to a float
|
|
|
|
Upstream-Status: Pending
|
|
|
|
Index: git/setup.py
|
|
===================================================================
|
|
--- git.orig/setup.py
|
|
+++ git/setup.py
|
|
@@ -25,6 +25,7 @@ import glob
|
|
import os
|
|
import platform
|
|
import sys
|
|
+import re
|
|
from distutils.ccompiler import new_compiler
|
|
from distutils.errors import CompileError
|
|
from distutils.errors import LinkError
|
|
@@ -51,6 +52,8 @@ def pkgconfig(*packages, **kwargs):
|
|
|
|
def check_mod_version(module, version):
|
|
modversion = subprocess.check_output(["pkg-config", "--modversion", module])
|
|
+ match = re.search(b'([0-9]+\.[0-9]+)', modversion)
|
|
+ modversion = match.group(0)
|
|
if not float(modversion) >= float(version):
|
|
sys.stderr.write("*** Minimum required %s version: %s, found: %s\n" % (module, version, modversion,))
|
|
sys.exit(1)
|