From 496a793d7b31d30e918d90ae257c01341aed05c1 Mon Sep 17 00:00:00 2001 From: Enrico Scholz Date: Fri, 21 Nov 2014 17:55:12 +0100 Subject: serf: fix 'ccache' builds 'scons' cleans the environment which breaks ccache builds because CCACHEDIR can point to an unexpected location: | ccache arm-linux-gnueabi-gcc ... context.c | ccache: failed to create .../serf/1.3.8-r0/.home/.ccache (No such file or directory) Issue is described in http://www.scons.org/wiki/ImportingEnvironmentSettings and because 'bitbake' cleans environment we can pass it completely instead of trying to enumerate needed env. With the 'env.patch' the FULLCC variable is not needed anymore (which would break when CC is 'ccache arm-...-gcc' and host ccache is used) because the correct $PATH is available during scons build: | sh: .../sysroots/x86_64-oe-linux/usr/bin/arm-linux-gnueabi/ccache: No such file or directory | scons: *** [context.o] Error 127 (From OE-Core rev: 36d94ed631f1a753482282fced7d3b7505d5e03d) Signed-off-by: Enrico Scholz Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- meta/recipes-support/serf/serf/env.patch | 28 ++++++++++++++++++++++++++++ meta/recipes-support/serf/serf_1.3.8.bb | 9 +++------ 2 files changed, 31 insertions(+), 6 deletions(-) create mode 100644 meta/recipes-support/serf/serf/env.patch (limited to 'meta') diff --git a/meta/recipes-support/serf/serf/env.patch b/meta/recipes-support/serf/serf/env.patch new file mode 100644 index 0000000000..9d073e9abf --- /dev/null +++ b/meta/recipes-support/serf/serf/env.patch @@ -0,0 +1,28 @@ +'scons' cleans the environment which breaks ccache builds because +CCACHEDIR can point to an unexpected location: + +| ccache arm-linux-gnueabi-gcc ... context.c +| ccache: failed to create .../serf/1.3.6-r0/.home/.ccache (No such file or directory) + +Issue is described in + + http://www.scons.org/wiki/ImportingEnvironmentSettings + +and because 'bitbake' cleans environment we can pass it completely +instead of trying to enumerate needed env. + +Upstream-Status: Inappropriate + + +Index: serf-1.3.6/SConstruct +=================================================================== +--- serf-1.3.6.orig/SConstruct ++++ serf-1.3.6/SConstruct +@@ -149,6 +149,7 @@ if sys.platform == 'win32': + env = Environment(variables=opts, + tools=('default', 'textfile',), + CPPPATH=['.', ], ++ ENV = os.environ, + ) + + env.Append(BUILDERS = { diff --git a/meta/recipes-support/serf/serf_1.3.8.bb b/meta/recipes-support/serf/serf_1.3.8.bb index 10db122da9..e8188895b3 100644 --- a/meta/recipes-support/serf/serf_1.3.8.bb +++ b/meta/recipes-support/serf/serf_1.3.8.bb @@ -1,7 +1,7 @@ SRC_URI = "http://serf.googlecode.com/svn/src_releases/serf-${PV}.tar.bz2 \ - file://norpath.patch" -SRC_URI[md5sum] = "2e4efe57ff28cb3202a112e90f0c2889" + file://norpath.patch \ + file://env.patch" SRC_URI[sha256sum] = "e0500be065dbbce490449837bb2ab624e46d64fc0b090474d9acaa87c82b2590" LICENSE = "Apache-2.0" @@ -9,12 +9,9 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" DEPENDS = "python-scons-native openssl apr apr-util util-linux expat" -FULLCC = "${STAGING_BINDIR_TOOLCHAIN}/${CC}" -FULLCC_class-native = "${CC}" - do_compile() { ${STAGING_BINDIR_NATIVE}/scons ${PARALLEL_MAKE} PREFIX=${prefix} \ - CC="${FULLCC}" \ + CC="${CC}" \ APR=`which apr-1-config` APU=`which apu-1-config` \ CFLAGS="${CFLAGS}" LINKFLAGS="${LDFLAGS}" \ OPENSSL="${STAGING_EXECPREFIXDIR}" -- cgit v1.2.3-54-g00ecf