diff options
author | Martin Jansa <martin.jansa@gmail.com> | 2019-06-18 21:45:34 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2019-06-19 13:12:21 +0100 |
commit | 7ce8b1bc510cfe8b013430a3826ece6878d8568e (patch) | |
tree | 2dfe95cd44a5e192888e3fcc13bd833ac6822e48 /meta/recipes-support/serf/serf_1.3.9.bb | |
parent | 2abfbf186989223d5d256c25e0b52b02f29d5bfb (diff) | |
download | openembedded-core-contrib-7ce8b1bc510cfe8b013430a3826ece6878d8568e.tar.gz |
serf: stop scons trying to create directories in hosts rootfs
* since 1522f09a4d serf: cleanup recipe
serf.do_install fails in builds with multilib enabled (with
libdir=/usr/lib64 on host where /usr/lib64 doesn't exist)
DEBUG: Executing shell function do_install
scons: Reading SConscript files ...
PermissionError: [Errno 13] Permission denied: '/usr/lib64':
File "TOPDIR/BUILD/work/qemux86-signage-linux/serf/1.3.9-r0/serf-1.3.9/SConstruct", line 158:
ENV = os.environ,
File "/TOPDIR/BUILD/work/qemux86-signage-linux/serf/1.3.9-r0/recipe-sysroot-native/usr/bin/../../usr/lib/python3.7/site-packages/SCons/Environment.py", line 965:
variables.Update(self)
File "/TOPDIR/BUILD/work/qemux86-signage-linux/serf/1.3.9-r0/recipe-sysroot-native/usr/bin/../../usr/lib/python3.7/site-packages/SCons/Variables/__init__.py", line 227:
option.validator(option.key, env.subst('${%s}'%option.key), env)
File "TOPDIR/BUILD/work/qemux86-signage-linux/serf/1.3.9-r0/serf-1.3.9/SConstruct", line 60:
return PathVariable.PathIsDirCreate(key, val, env)
File "/TOPDIR/BUILD/work/qemux86-signage-linux/serf/1.3.9-r0/recipe-sysroot-native/usr/bin/../../usr/lib/python3.7/site-packages/SCons/Variables/PathVariable.py", line 101:
os.makedirs(val)
File "TOPDIR/BUILD/work/qemux86-signage-linux/serf/1.3.9-r0/recipe-sysroot-native/usr/lib/python3.7/os.py", line 221:
mkdir(name, mode)
ERROR: scons install execution failed.
* I don't know how exactly --install-sandbox is supposed to work but
in this case it's trying to mkdir /usr/lib64 on the host rootfs
which is clearly wrong and if I set LIBDIR together with
--install-sandbox then the install paths are prefixed with $D twice
in some cases (not for includedir and empty libdir at the end).
So in the end I think it was an issue caused by the custom path
validator in serf's SConstruct, removing that stops touching host
and the installed paths (including the paths inside libserf*.pc)
look correct
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-support/serf/serf_1.3.9.bb')
-rw-r--r-- | meta/recipes-support/serf/serf_1.3.9.bb | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/meta/recipes-support/serf/serf_1.3.9.bb b/meta/recipes-support/serf/serf_1.3.9.bb index 92cd5ca061..dd4133a45c 100644 --- a/meta/recipes-support/serf/serf_1.3.9.bb +++ b/meta/recipes-support/serf/serf_1.3.9.bb @@ -6,6 +6,7 @@ SRC_URI = "${APACHE_MIRROR}/${BPN}/${BPN}-${PV}.tar.bz2 \ file://0002-SConstruct-Fix-path-quoting-for-.def-generator.patch \ file://0003-gen_def.patch \ file://0004-Follow-up-to-r1811083-fix-building-with-scons-3.0.0-.patch \ + file://SConstruct.stop.creating.directories.without.sandbox-install.prefix.patch \ " SRC_URI[md5sum] = "370a6340ff20366ab088012cd13f2b57" |