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

Khem Raj raj.khem at gmail.com
Wed Nov 4 05:57:51 UTC 2015


> On Nov 3, 2015, at 1:22 AM, Jian Liu <jian.liu at windriver.com> wrote:
> 
> 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
> 

does it cover the case when kernel is not linux-yocto was basic question, I am not clear if thats covered in any of above

> 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
>> 
> 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 204 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20151103/adc7e0ac/attachment-0002.sig>


More information about the Openembedded-core mailing list