[OE-core] [PATCH 2/2] external-python-tarball: code refactoring

Kang Kai Kai.Kang at windriver.com
Wed Jan 23 02:35:00 UTC 2013


On 2013年01月23日 00:58, Saul Wold wrote:
> On 01/22/2013 03:30 AM, Kang Kai wrote:
>> external-python-tarball only can be built when inherit package_ipk now.
>> Update it to reuse existed populate sdk code that it could be built for
>> rpm and deb too.
>>
>> [Yocto 3006]
>>
>> Signed-off-by: Kang Kai <kai.kang at windriver.com>
>> ---
>> meta/recipes-core/meta/external-python-tarball.bb | 69 
>> ++-------------------
>> 1 files changed, 6 insertions(+), 63 deletions(-)
>>
>> diff --git a/meta/recipes-core/meta/external-python-tarball.bb 
>> b/meta/recipes-core/meta/external-python-tarball.bb
>> index 2085acc..186bf50 100644
>> --- a/meta/recipes-core/meta/external-python-tarball.bb
>> +++ b/meta/recipes-core/meta/external-python-tarball.bb
>> @@ -3,19 +3,16 @@ LICENSE = "MIT"
>> LIC_FILES_CHKSUM = 
>> "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
>> file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
>>
>> -DEPENDS = "opkg-native opkg-utils-native virtual/fakeroot-native 
>> sed-native"
>> +DEPENDS = "virtual/fakeroot-native sed-native"
>>
>> -PR = "r1"
>> +PR = "r2"
>>
>> inherit meta
>> +inherit populate_sdk
>>
>> -SDK_DIR = "${WORKDIR}/sdk"
>> -SDK_OUTPUT = "${SDK_DIR}/image"
>> -SDK_DEPLOY = "${TMPDIR}/deploy/sdk"
>> +TOOLCHAIN_TARGET_TASK = ""
>>
>> -IPKG_HOST = "opkg-cl -f ${IPKGCONF_SDK} -o ${SDK_OUTPUT}"
>> -
>> -TOOLCHAIN_HOST_TASK ?= "\
>> +TOOLCHAIN_HOST_TASK = "\
>> nativesdk-python-core \
>> nativesdk-python-textutils \
>> nativesdk-python-sqlite3 \
>> @@ -37,62 +34,8 @@ TOOLCHAIN_HOST_TASK ?= "\
>> nativesdk-chrpath \
>> "
>>
>> -TOOLCHAIN_OUTPUTNAME ?= "python-nativesdk-standalone-${SDKMACHINE}"
>> +TOOLCHAIN_OUTPUTNAME = "python-nativesdk-standalone-${SDKMACHINE}"
>>
> Why are you changing the above two from being overriden to straight 
> assignments? Don't we want these to possibly be overriden with 
> additional TASK info or allow the name to change?

Hi Saul,

Vars TOOLCHAIN_OUTPUTNAME TOOLCHAIN_HOST_TASK and TOOLCHAIN_TARGET_TASK 
are also defined with ?= in populate_sdk_base.bbclass, so I simply 
thought to override them in external-python-tarball.bb with '='.
Sorry for that, I'll update with inheriting bbclasses at the end of .bb 
file.

Regards,
Kai

>
> This is not explained in the commit message
>
>
> Sau!
>
>> RDEPENDS = "${TOOLCHAIN_HOST_TASK}"
>>
>> EXCLUDE_FROM_WORLD = "1"
>> -
>> -do_populate_sdk() {
>> - rm -rf ${SDK_OUTPUT}
>> - mkdir -p ${SDK_OUTPUT}
>> - mkdir -p ${SDK_OUTPUT}${localstatedir}/lib/opkg/
>> -
>> - rm -f ${IPKGCONF_TARGET}
>> - touch ${IPKGCONF_TARGET}
>> - rm -f ${IPKGCONF_SDK}
>> - touch ${IPKGCONF_SDK}
>> -
>> - package_update_index_ipk
>> - package_generate_ipkg_conf
>> -
>> - for arch in ${PACKAGE_ARCHS}; do
>> - revipkgarchs="$arch $revipkgarchs"
>> - done
>> -
>> - ${IPKG_HOST} update
>> - ${IPKG_HOST} install ${TOOLCHAIN_HOST_TASK}
>> -
>> - install -d 
>> ${SDK_OUTPUT}/${SDKPATHNATIVE}${localstatedir_nativesdk}/lib/opkg
>> - mv ${SDK_OUTPUT}/var/lib/opkg/* 
>> ${SDK_OUTPUT}/${SDKPATHNATIVE}${localstatedir_nativesdk}/lib/opkg/
>> - rm -Rf ${SDK_OUTPUT}/var
>> -
>> - install -d ${SDK_OUTPUT}/${SDKPATHNATIVE}/${sysconfdir}
>> - install -m 0644 ${IPKGCONF_SDK} 
>> ${SDK_OUTPUT}/${SDKPATHNATIVE}/${sysconfdir}/
>> -
>> - rm -f ${SDK_OUTPUT}/${SDKPATHNATIVE}${libdir_nativesdk}/*.la
>> -
>> - # Link the ld.so.cache file into the hosts filesystem
>> - ln -s /etc/ld.so.cache ${SDK_OUTPUT}/${SDKPATHNATIVE}/etc/ld.so.cache
>> -
>> - # Add version information
>> - versionfile=${SDK_OUTPUT}/${SDKPATH}/version-${MULTIMACH_TARGET_SYS}
>> - touch $versionfile
>> - echo 'Distro: ${DISTRO}' >> $versionfile
>> - echo 'Distro Version: ${DISTRO_VERSION}' >> $versionfile
>> - echo 'Metadata Revision: ${METADATA_REVISION}' >> $versionfile
>> - echo 'Timestamp: ${DATETIME}' >> $versionfile
>> -
>> - # Package it up
>> - mkdir -p ${SDK_DEPLOY}
>> - cd ${SDK_OUTPUT}
>> - tar --owner=root --group=root -cj 
>> --file=${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.tar.bz2 .
>> -}
>> -
>> -do_populate_sdk[nostamp] = "1"
>> -do_populate_sdk[recrdeptask] = "do_package_write"
>> -addtask populate_sdk before do_build after do_install
>> -
>> -inherit blacklist
>> -
>> -PNBLACKLIST[external-python-tarball] = 
>> "${@base_contains('PACKAGE_CLASSES', 'package_ipk', '', 'This recipe 
>> requires \'package_ipk\' support to be enabled in PACKAGE_CLASSES.', 
>> d)}"
>>
>





More information about the Openembedded-core mailing list