[oe] bitbake: staging of binary over symlink breaks sysroot (lzma x xz)

Bernhard Reutner-Fischer rep.dot.nop at gmail.com
Wed Jul 28 14:32:08 UTC 2010


On Wed, Jul 28, 2010 at 04:06:13PM +0200, Bernhard Reutner-Fischer wrote:
>On Wed, Jul 28, 2010 at 03:39:33PM +0200, Marco Cavallini wrote:
>>Stanislav Brabec ha scritto, Il 28/07/2010 11:30:
>>> I just built an angstrom image and thinks failed.
>>> 
>>> lzma image depends on lzma-native, grep and other programs that use .xz
>>> suffix for tarballs depend on xz-native.
>>> This fact itself is bad - it creates file conflicts in the sysroot.
>>> 
>>> But things were even worse:
>>> - xz-native staged xz binary and lzma as a symlink to xz.
>>> - lzma-native tried to stage lzma 4 minutes later
>>> 
>>> But staging of lzma apparently went wrong. Instead of removal of lzma
>>> symlink and installation of lzma binary, bitbake followed the symlink
>>> and staged lzma as xz with a result of broken build environment.
>>> 
>>> I have bitbake-1.8.18.
>>> 
>>
>>
>>In the meantime we are waiting for a patch I used
>> bitbake xz-native
>>prior to launch
>> bitbake x11-image
>
>To rectify this extra manual step, one would need to something like the
>attached (untested). This does not take care of diverting lzma/xz
>binaries which is a separate issue.


>diff --git a/classes/native.bbclass b/classes/native.bbclass
>index 3437836..57de77e 100644
>--- a/classes/native.bbclass
>+++ b/classes/native.bbclass
>@@ -89,7 +89,7 @@ PKG_CONFIG_SYSROOT_DIR = ""
> 
> ORIG_DEPENDS := "${DEPENDS}"
> 
>-DEPENDS_virtclass-native ?= "${ORIG_DEPENDS}"
>+DEPENDS_virtclass-native ?= "${@['${ORIG_DEPENDS}',''][bb.data.getVar('INHIBIT_DEFAULT_DEPS_virtclass-native', d, True) or False]}"
> 
and if that reads
DEPENDS_virtclass-native ?= "${@base_conditional('INHIBIT_DEFAULT_DEPS_virtclass-native', '1', '', '${ORIG_DEPENDS}', d)}"
then it actually does what it's supposed to do ;)




More information about the Openembedded-devel mailing list