[OE-core] [PATCH] archiver.bbclass: do checkout for kernel

Jian Liu jian.liu at windriver.com
Tue Nov 3 09:22:47 UTC 2015


Hi,

I test linux-dummy linux-yocto-dev linux-yocto-rt linux-yocto-tiny and 
the result is as follows,

linux-dummy: this package just meets some dependency and there is no 
source code for it.
                       The patch does not impact it
linux-yocto, linux-yocto-dev, linux-yocto-rt, linux-yocto-tiny: The S 
variable of all packages is set to STAGING_KERNEK_DIR.
                        do_fetch and do_unpack just leave a bare git 
repo of kernel and do_kernel_checkout gets the source code

Thanks!
Jian

On 2015年11月03日 05:30, Khem Raj wrote:
> On Sun, Nov 1, 2015 at 10:23 PM, Jian Liu <jian.liu at windriver.com> wrote:
>> The repo of kernel is bare git repository and we need to checkout to get
>> the source code.
> it should be linux-yocto I think, or do we have all kernels as bare git repos ?
>
>> Signed-off-by: Jian Liu <jian.liu at windriver.com>
>>
>> diff --git a/meta/classes/archiver.bbclass b/meta/classes/archiver.bbclass
>> index 41a552c..7387fbf 100644
>> --- a/meta/classes/archiver.bbclass
>> +++ b/meta/classes/archiver.bbclass
>> @@ -66,6 +66,11 @@ python () {
>>       ar_recipe = d.getVarFlag('ARCHIVER_MODE', 'recipe', True)
>>
>>       if ar_src == "original":
>> +        # For kernel, it is bare repo, we need to checkout
>> +        if bb.data.inherits_class('kernel-yocto', d):
>> +            bb.build.addtask('do_ar_original', 'do_kernel_metadata', 'do_validate_branches', d)
>> +        else:
>> +            bb.build.addtask('do_ar_original', None, 'do_unpack', d)
>>           d.appendVarFlag('do_deploy_archives', 'depends', ' %s:do_ar_original' % pn)
>>       elif ar_src == "patched":
>>           d.appendVarFlag('do_deploy_archives', 'depends', ' %s:do_ar_patched' % pn)
>> @@ -113,6 +118,12 @@ python do_ar_original() {
>>
>>       ar_outdir = d.getVar('ARCHIVER_OUTDIR', True)
>>       bb.note('Archiving the original source...')
>> +    # For kernel, the source code is shared
>> +    if bb.data.inherits_class('kernel-yocto', d):
> is this linux-yocto specific
>
>> +        srcdir = d.getVar('S', True)
>> +        create_tarball(d, srcdir, 'original', ar_outdir)
>> +        return
>> +
>>       fetch = bb.fetch2.Fetch([], d)
>>       for url in fetch.urls:
>>           local = fetch.localpath(url).rstrip("/");
>> @@ -346,7 +357,6 @@ python do_deploy_archives_setscene () {
>>   do_deploy_archives[sstate-inputdirs] = "${ARCHIVER_TOPDIR}"
>>   do_deploy_archives[sstate-outputdirs] = "${DEPLOY_DIR_SRC}"
>>
>> -addtask do_ar_original after do_unpack
>>   addtask do_ar_patched after do_unpack_and_patch
>>   addtask do_ar_configured after do_unpack_and_patch
>>   addtask do_dumpdata
>> --
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core at lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>




More information about the Openembedded-core mailing list