diff options
author | Martin Jansa <Martin.Jansa@gmail.com> | 2012-04-24 18:29:20 +0200 |
---|---|---|
committer | Martin Jansa <Martin.Jansa@gmail.com> | 2012-04-30 08:25:13 +0200 |
commit | 867053702a7917ed599e87d415a7f210ecd5ff85 (patch) | |
tree | c8b2815c070dfd3c5e30313e8a4060ff8db2f194 /meta-oe/recipes-navigation/gpsd | |
parent | c6135b0d88a39354ba4213e71ef0941c48d88707 (diff) | |
download | meta-openembedded-867053702a7917ed599e87d415a7f210ecd5ff85.tar.gz |
gpsd: fix python paths and RPATHs
* see included patch for description
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Diffstat (limited to 'meta-oe/recipes-navigation/gpsd')
3 files changed, 74 insertions, 0 deletions
diff --git a/meta-oe/recipes-navigation/gpsd/gpsd/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch b/meta-oe/recipes-navigation/gpsd/gpsd/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch new file mode 100644 index 000000000..c6eb03bf2 --- /dev/null +++ b/meta-oe/recipes-navigation/gpsd/gpsd/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch | |||
@@ -0,0 +1,72 @@ | |||
1 | From dd3ca38b27cce93f7e932abaa27b41371234fa90 Mon Sep 17 00:00:00 2001 | ||
2 | From: Martin Jansa <Martin.Jansa@gmail.com> | ||
3 | Date: Tue, 24 Apr 2012 18:45:14 +0200 | ||
4 | Subject: [PATCH] SConstruct: prefix includepy with sysroot and drop sysroot | ||
5 | from python_lib_dir | ||
6 | |||
7 | * without PYTHONPATH, distutil's sysconfig returns INCLUDEPY without sysroot prefix | ||
8 | and with PYTHONPATH from OE it's pointing to native python dir | ||
9 | |||
10 | $ export PYTHONPATH=/OE/shr-core/tmp-eglibc/sysroots/om-gta02/usr/lib/python2.7/ | ||
11 | $ python | ||
12 | Python 2.7.2 (default, Apr 18 2012, 09:19:59) | ||
13 | [GCC 4.6.2] on linux2 | ||
14 | Type "help", "copyright", "credits" or "license" for more information. | ||
15 | >>> from distutils import sysconfig | ||
16 | >>> sysconfig.get_config_vars('INCLUDEPY') | ||
17 | ['/OE/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/include/python2.7'] | ||
18 | >>> | ||
19 | $ unset PYTHONPATH | ||
20 | $ python | ||
21 | Python 2.7.2 (default, Apr 18 2012, 09:19:59) | ||
22 | [GCC 4.6.2] on linux2 | ||
23 | Type "help", "copyright", "credits" or "license" for more information. | ||
24 | >>> from distutils import sysconfig | ||
25 | >>> sysconfig.get_config_vars('INCLUDEPY') | ||
26 | ['/python2.7'] | ||
27 | >>> import sysconfig | ||
28 | >>> sysconfig.get_config_vars('INCLUDEPY') | ||
29 | ['/OE/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/include/python2.7'] | ||
30 | * python_lib_dir = python_lib_dir.replace(env['sysroot'], '') | ||
31 | returns path to target sysroot | ||
32 | |||
33 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> | ||
34 | --- | ||
35 | SConstruct | 9 +++++++++ | ||
36 | 1 files changed, 9 insertions(+), 0 deletions(-) | ||
37 | |||
38 | diff --git a/SConstruct b/SConstruct | ||
39 | index 3c919fc..8478181 100644 | ||
40 | --- a/SConstruct | ||
41 | +++ b/SConstruct | ||
42 | @@ -932,6 +932,12 @@ else: | ||
43 | if vars[i] is None: | ||
44 | vars[i] = [] | ||
45 | (cc, cxx, opt, basecflags, ccshared, ldshared, so_ext, includepy, ldflags) = vars | ||
46 | + | ||
47 | + if env['sysroot']: | ||
48 | + print "Prefixing includepy '%s' with sysroot prefix" % includepy | ||
49 | + includepy = os.path.normpath("%s/%s/%s/%s" % (env['sysroot'], env['prefix'], env['includedir'], includepy)) | ||
50 | + print "'%s'" % includepy | ||
51 | + | ||
52 | # in case CC/CXX was set to the scan-build wrapper, | ||
53 | # ensure that we build the python modules with scan-build, too | ||
54 | if env['CC'] is None or env['CC'].find('scan-build') < 0: | ||
55 | @@ -1165,11 +1171,14 @@ if not env['python']: | ||
56 | python_install = [] | ||
57 | else: | ||
58 | python_lib_dir = sysconfig.get_python_lib(plat_specific=1) | ||
59 | + python_lib_dir = python_lib_dir.replace(env['sysroot'], '') | ||
60 | python_module_dir = python_lib_dir + os.sep + 'gps' | ||
61 | python_extensions_install = python_env.Install( DESTDIR + python_module_dir, | ||
62 | python_built_extensions) | ||
63 | if not env['debug'] and not env['profiling'] and env['strip']: | ||
64 | python_env.AddPostAction(python_extensions_install, '$STRIP $TARGET') | ||
65 | + env.AddPostAction(python_extensions_install, '$CHRPATH -r "%s" "$TARGET"' \ | ||
66 | + % (python_lib_dir, )) | ||
67 | |||
68 | python_modules_install = python_env.Install( DESTDIR + python_module_dir, | ||
69 | python_modules) | ||
70 | -- | ||
71 | 1.7.8.5 | ||
72 | |||
diff --git a/meta-oe/recipes-navigation/gpsd/gpsd_3.5.bb b/meta-oe/recipes-navigation/gpsd/gpsd_3.5.bb index bd65eae84..a1c8f9f7b 100644 --- a/meta-oe/recipes-navigation/gpsd/gpsd_3.5.bb +++ b/meta-oe/recipes-navigation/gpsd/gpsd_3.5.bb | |||
@@ -11,6 +11,7 @@ SRC_URI = "http://download.savannah.gnu.org/releases/${PN}/${P}.tar.gz \ | |||
11 | file://0002-SConstruct-respect-sysroot-also-in-SPLINTOPTS.patch \ | 11 | file://0002-SConstruct-respect-sysroot-also-in-SPLINTOPTS.patch \ |
12 | file://0003-Revert-The-strptime-prototype-is-not-provided-unless.patch \ | 12 | file://0003-Revert-The-strptime-prototype-is-not-provided-unless.patch \ |
13 | file://0004-SConstruct-remove-rpath.patch \ | 13 | file://0004-SConstruct-remove-rpath.patch \ |
14 | file://0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch \ | ||
14 | file://gpsd-default \ | 15 | file://gpsd-default \ |
15 | file://gpsd \ | 16 | file://gpsd \ |
16 | file://60-gpsd.rules \ | 17 | file://60-gpsd.rules \ |
diff --git a/meta-oe/recipes-navigation/gpsd/gpsd_git.bb b/meta-oe/recipes-navigation/gpsd/gpsd_git.bb index 8bb0d3ebb..68f0b9dc1 100644 --- a/meta-oe/recipes-navigation/gpsd/gpsd_git.bb +++ b/meta-oe/recipes-navigation/gpsd/gpsd_git.bb | |||
@@ -15,6 +15,7 @@ SRC_URI = "git://git.sv.gnu.org/gpsd.git;protocol=git;branch=master \ | |||
15 | file://0002-SConstruct-respect-sysroot-also-in-SPLINTOPTS.patch \ | 15 | file://0002-SConstruct-respect-sysroot-also-in-SPLINTOPTS.patch \ |
16 | file://0003-Revert-The-strptime-prototype-is-not-provided-unless.patch \ | 16 | file://0003-Revert-The-strptime-prototype-is-not-provided-unless.patch \ |
17 | file://0004-SConstruct-remove-rpath.patch \ | 17 | file://0004-SConstruct-remove-rpath.patch \ |
18 | file://0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch \ | ||
18 | file://gpsd-default \ | 19 | file://gpsd-default \ |
19 | file://gpsd \ | 20 | file://gpsd \ |
20 | file://60-gpsd.rules \ | 21 | file://60-gpsd.rules \ |