Patchwork [1/1] apr-util: fix the rules.mk with path to sysroot instead of the workdir of apr

login
register
mail settings
Submitter jackie huang
Date Aug. 17, 2012, 3:11 a.m.
Message ID <c15f63ce203208dbb2cb58d8916fd4eee1db632f.1345172940.git.jackie.huang@windriver.com>
Download mbox | patch
Permalink /patch/34771/
State Accepted
Commit d6aa123fdbfa82c07e33a9b4c7aacad821184790
Headers show

Comments

jackie huang - Aug. 17, 2012, 3:11 a.m.
From: Jackie Huang <jackie.huang@windriver.com>

The copying for rules.mk was happened in do_configure_prepend, but it will be
replaced by the one generated by configure, in which APR_MKEXPORT points to
the workdir of apr and cause compile filure when the workdir of apr is removed.
So change the copying in _prepend to _append.

[YOCTO #2947]

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
---
 meta/recipes-support/apr/apr-util_1.4.1.bb |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)
Martin Jansa - Aug. 17, 2012, 12:13 p.m.
On Fri, Aug 17, 2012 at 11:11:43AM +0800, jackie.huang@windriver.com wrote:
> From: Jackie Huang <jackie.huang@windriver.com>
> 
> The copying for rules.mk was happened in do_configure_prepend, but it will be
> replaced by the one generated by configure, in which APR_MKEXPORT points to
> the workdir of apr and cause compile filure when the workdir of apr is removed.
> So change the copying in _prepend to _append.
> 
> [YOCTO #2947]
> 
> Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
> ---
>  meta/recipes-support/apr/apr-util_1.4.1.bb |    6 ++++--
>  1 files changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/meta/recipes-support/apr/apr-util_1.4.1.bb b/meta/recipes-support/apr/apr-util_1.4.1.bb
> index deb608f..0516bc4 100644
> --- a/meta/recipes-support/apr/apr-util_1.4.1.bb
> +++ b/meta/recipes-support/apr/apr-util_1.4.1.bb
> @@ -32,8 +32,10 @@ inherit autotools lib_package binconfig
>  
>  OE_BINCONFIG_EXTRA_MANGLE = " -e 's:location=source:location=installed:'"
>  
> -do_configure_prepend() {
> -	cp ${STAGING_DATADIR}/apr/apr_rules.mk ${S}/build/rules.mk
> +do_configure_append() {
> +	if [ "${PN}" == "${BPN}" ]; then
> +		cp ${STAGING_DATADIR}/apr/apr_rules.mk ${S}/build/rules.mk
> +	fi
>  }
>  do_configure_prepend_virtclass-native() {
>  	cp ${STAGING_DATADIR_NATIVE}/apr/apr_rules.mk ${S}/build/rules.mk

Why is it different then native case above?

Shouldn't be the same fix prepend/append applied for native case too and
then "${PN}" == "${BPN}" won't be needed?

Cheers,
jackie huang - Aug. 21, 2012, 3:14 a.m.
On 8/17/2012 8:13 PM, Martin Jansa wrote:
> On Fri, Aug 17, 2012 at 11:11:43AM +0800, jackie.huang@windriver.com wrote:
>> From: Jackie Huang <jackie.huang@windriver.com>
>>
>> The copying for rules.mk was happened in do_configure_prepend, but it will be
>> replaced by the one generated by configure, in which APR_MKEXPORT points to
>> the workdir of apr and cause compile filure when the workdir of apr is removed.
>> So change the copying in _prepend to _append.
>>
>> [YOCTO #2947]
>>
>> Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
>> ---
>>   meta/recipes-support/apr/apr-util_1.4.1.bb |    6 ++++--
>>   1 files changed, 4 insertions(+), 2 deletions(-)
>>
>> diff --git a/meta/recipes-support/apr/apr-util_1.4.1.bb b/meta/recipes-support/apr/apr-util_1.4.1.bb
>> index deb608f..0516bc4 100644
>> --- a/meta/recipes-support/apr/apr-util_1.4.1.bb
>> +++ b/meta/recipes-support/apr/apr-util_1.4.1.bb
>> @@ -32,8 +32,10 @@ inherit autotools lib_package binconfig
>>
>>   OE_BINCONFIG_EXTRA_MANGLE = " -e 's:location=source:location=installed:'"
>>
>> -do_configure_prepend() {
>> -	cp ${STAGING_DATADIR}/apr/apr_rules.mk ${S}/build/rules.mk
>> +do_configure_append() {
>> +	if [ "${PN}" == "${BPN}" ]; then
>> +		cp ${STAGING_DATADIR}/apr/apr_rules.mk ${S}/build/rules.mk
>> +	fi
>>   }
>>   do_configure_prepend_virtclass-native() {
>>   	cp ${STAGING_DATADIR_NATIVE}/apr/apr_rules.mk ${S}/build/rules.mk
>
> Why is it different then native case above?
>

The bug didn't happen in native case since the related paths in rules.mk 
generated by configure for apr-util-native were pointed to the correct 
dirs in sysroot, so this fix is only applied for BPN.

And I checked that what makes this difference is the different 
'location' in apr-1-config of BPN and native one:

  $ diff intel-atom/usr/bin/crossscripts/apr-1-config 
x86_64-linux/usr/bin/apr-1-config | tail -n 4
49c49
< location=source
---
 > location=installed


Thanks,
Jackie

> Shouldn't be the same fix prepend/append applied for native case too and
> then "${PN}" == "${BPN}" won't be needed?
>
> Cheers,
>
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>

Patch

diff --git a/meta/recipes-support/apr/apr-util_1.4.1.bb b/meta/recipes-support/apr/apr-util_1.4.1.bb
index deb608f..0516bc4 100644
--- a/meta/recipes-support/apr/apr-util_1.4.1.bb
+++ b/meta/recipes-support/apr/apr-util_1.4.1.bb
@@ -32,8 +32,10 @@  inherit autotools lib_package binconfig
 
 OE_BINCONFIG_EXTRA_MANGLE = " -e 's:location=source:location=installed:'"
 
-do_configure_prepend() {
-	cp ${STAGING_DATADIR}/apr/apr_rules.mk ${S}/build/rules.mk
+do_configure_append() {
+	if [ "${PN}" == "${BPN}" ]; then
+		cp ${STAGING_DATADIR}/apr/apr_rules.mk ${S}/build/rules.mk
+	fi
 }
 do_configure_prepend_virtclass-native() {
 	cp ${STAGING_DATADIR_NATIVE}/apr/apr_rules.mk ${S}/build/rules.mk