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 | |
| 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>
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 0000000000..c6eb03bf2f --- /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 bd65eae843..a1c8f9f7ba 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 8bb0d3ebb3..68f0b9dc12 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 \ |
