[OE-core] [PATCH] populate_sdk_base.bbclass: check installation machine before installing SDK

Laurentiu Palcu laurentiu.palcu at intel.com
Mon Nov 5 11:51:30 UTC 2012



On 11/05/2012 09:54 AM, Robert Yang wrote:
> 
> 
> On 11/05/2012 09:58 AM, Robert Yang wrote:
>>
>>
>> On 11/01/2012 09:23 PM, Laurentiu Palcu wrote:
>>> Do not allow installer to continue if the installation machine architecture
>>> does not match the intended SDK machine architecture.
>>>
>>> [YOCTO: #3269]
>>>
>>> Signed-off-by: Laurentiu Palcu <laurentiu.palcu at intel.com>
>>> ---
>>>   meta/classes/populate_sdk_base.bbclass |    8 ++++++++
>>>   1 file changed, 8 insertions(+)
>>>
>>> diff --git a/meta/classes/populate_sdk_base.bbclass
>>> b/meta/classes/populate_sdk_base.bbclass
>>> index a3ac757..dc715c4 100644
>>> --- a/meta/classes/populate_sdk_base.bbclass
>>> +++ b/meta/classes/populate_sdk_base.bbclass
>>> @@ -118,6 +118,14 @@ fakeroot create_shar() {
>>>       cat << "EOF" > ${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.sh
>>>   #!/bin/bash
>>>
>>> +INST_ARCH=$(uname -m | sed -e "s/i[3-6]86/ix86/" -e "s/x86[-_]64/x86_64/")
>>> +SDKMACHINE=$(echo ${SDKMACHINE} | sed -e "s/i[5-6]86/ix86/")
>>> +
>>
>> I'm afraid this doesn't work, how does the script know the SDKMACHINE ?
>> The SDKMACHINE would always be null in
>> poky-eglibc-x86_64-i586-toolchain-gmae-1.3+snapshot-20121104.sh
>>
> 
> This was because i didn't set the SDKMACHINE, I seldom set it when build
> the sdk, but it seems that we should set it since it needs
> 
> include conf/machine-sdk/${SDKMACHINE}.conf
Hmm, I had it set in my local.conf... I missed the fact that, by
default, the local.conf had it commented out.


> 
> Can we check whether the SDKMACHINE is null before build the SDK or use
> SDK_ARCH rather than the SDKMACHINE here ? Otherwise, if we don't set the
> SDKMACHINE, the SDK would be built, but it can't be installed, we would
> always get this error:
I suppose we can safely use SDK_ARCH here, instead of SDKMACHINE. I'll
prepare a patch asap.

> 
> Error: Installation machine not supported!
> 
> // Robert
> 
>> // Robert
>>
>>
>>> +if [ "$INST_ARCH" != "$SDKMACHINE" ]; then
>>> +    echo "Error: Installation machine not supported!"
>>> +    exit -1
>>> +fi
>>> +
>>>   DEFAULT_INSTALL_DIR="${SDKPATH}"
>>>   COMPONENTS_LEN=$(echo ".${SDKPATH}" | sed "s/\// /g" | wc -w)
>>>
>>>
>>
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core at lists.openembedded.org
>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>>
>>




More information about the Openembedded-core mailing list