[OE-core] [dizzy][PATCH] serf: fix 'ccache' builds

Martin Jansa martin.jansa at gmail.com
Thu Mar 5 23:07:12 UTC 2015


On Fri, Mar 06, 2015 at 12:03:28AM +0100, Martin Jansa wrote:
> From: Enrico Scholz <enrico.scholz at sigma-chemnitz.de>
> 
> '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)

This also fixes the build with external toolchain which doesn't exist in
STAGING_BINDIR_TOOLCHAIN, so please consider to merge this in dizzy.

> 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
> 
> Signed-off-by: Enrico Scholz <enrico.scholz at sigma-chemnitz.de>
> Signed-off-by: Ross Burton <ross.burton at intel.com>
> ---
>  meta/recipes-support/serf/serf/env.patch | 28 ++++++++++++++++++++++++++++
>  meta/recipes-support/serf/serf_1.3.7.bb  |  8 +++-----
>  2 files changed, 31 insertions(+), 5 deletions(-)
>  create mode 100644 meta/recipes-support/serf/serf/env.patch
> 
> diff --git a/meta/recipes-support/serf/serf/env.patch b/meta/recipes-support/serf/serf/env.patch
> new file mode 100644
> index 0000000..9d073e9
> --- /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.7.bb b/meta/recipes-support/serf/serf_1.3.7.bb
> index 5230ef7..b87a04a 100644
> --- a/meta/recipes-support/serf/serf_1.3.7.bb
> +++ b/meta/recipes-support/serf/serf_1.3.7.bb
> @@ -1,6 +1,7 @@
>  
>  SRC_URI = "http://serf.googlecode.com/svn/src_releases/serf-1.3.7.tar.bz2 \
> -           file://norpath.patch"
> +           file://norpath.patch \
> +           file://env.patch"
>  SRC_URI[md5sum] = "0a6fa745df4517dd8f79c75c538919bc"
>  SRC_URI[sha256sum] = "ecccb74e665e6ea7539271e126a21d0f7eeddfeaa8ce090adb3aec6682f9f0ae"
>  
> @@ -9,12 +10,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}"
> -- 
> 2.3.1
> 

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20150306/ff089fca/attachment-0002.sig>


More information about the Openembedded-core mailing list