* [dizzy][PATCH] serf: fix 'ccache' builds
@ 2015-03-05 23:03 Martin Jansa
2015-03-05 23:07 ` Martin Jansa
0 siblings, 1 reply; 3+ messages in thread
From: Martin Jansa @ 2015-03-05 23:03 UTC (permalink / raw)
To: openembedded-core; +Cc: Enrico Scholz
From: Enrico Scholz <enrico.scholz@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)
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@sigma-chemnitz.de>
Signed-off-by: Ross Burton <ross.burton@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
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [dizzy][PATCH] serf: fix 'ccache' builds
2015-03-05 23:03 [dizzy][PATCH] serf: fix 'ccache' builds Martin Jansa
@ 2015-03-05 23:07 ` Martin Jansa
2015-03-07 4:13 ` akuster808
0 siblings, 1 reply; 3+ messages in thread
From: Martin Jansa @ 2015-03-05 23:07 UTC (permalink / raw)
To: openembedded-core; +Cc: Enrico Scholz
[-- Attachment #1: Type: text/plain, Size: 3939 bytes --]
On Fri, Mar 06, 2015 at 12:03:28AM +0100, Martin Jansa wrote:
> From: Enrico Scholz <enrico.scholz@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@sigma-chemnitz.de>
> Signed-off-by: Ross Burton <ross.burton@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@gmail.com
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 188 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [dizzy][PATCH] serf: fix 'ccache' builds
2015-03-05 23:07 ` Martin Jansa
@ 2015-03-07 4:13 ` akuster808
0 siblings, 0 replies; 3+ messages in thread
From: akuster808 @ 2015-03-07 4:13 UTC (permalink / raw)
To: openembedded-core
working on dizzy merged this weekend.
- armin
On 03/05/2015 03:07 PM, Martin Jansa wrote:
> On Fri, Mar 06, 2015 at 12:03:28AM +0100, Martin Jansa wrote:
>> From: Enrico Scholz <enrico.scholz@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@sigma-chemnitz.de>
>> Signed-off-by: Ross Burton <ross.burton@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
>>
>
>
>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2015-03-07 4:13 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-03-05 23:03 [dizzy][PATCH] serf: fix 'ccache' builds Martin Jansa
2015-03-05 23:07 ` Martin Jansa
2015-03-07 4:13 ` akuster808
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox