* How to archive source for a single package
@ 2013-04-12 13:58 Mats Liljegren
2013-04-12 19:15 ` Kevin Strasser
0 siblings, 1 reply; 6+ messages in thread
From: Mats Liljegren @ 2013-04-12 13:58 UTC (permalink / raw)
To: yocto
[-- Attachment #1: Type: text/plain, Size: 539 bytes --]
I need to archive source for virtual/kernel when building. This is needed
for other builds that uses the bitbake build result.
I saw that there is archive-patched-source class, which seems to do what I
want plus a lot more. The problem with it is that it seems to be intended
for other use case than mine, which means that it does a lot more work than
I need.
Is there a way to either tame archive-patched-source to only be applicable
for virtual/kernel, or is there other ways of accomplishing what I want?
Regards
Mats
[-- Attachment #2: Type: text/html, Size: 624 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: How to archive source for a single package
2013-04-12 13:58 How to archive source for a single package Mats Liljegren
@ 2013-04-12 19:15 ` Kevin Strasser
2013-04-15 7:39 ` Mats Liljegren
0 siblings, 1 reply; 6+ messages in thread
From: Kevin Strasser @ 2013-04-12 19:15 UTC (permalink / raw)
To: Mats Liljegren; +Cc: yocto
Hi Mats,
On Fri, Apr 12, 2013 at 03:58:01PM +0200, Mats Liljegren wrote:
> I need to archive source for virtual/kernel when building. This is needed
> for other builds that uses the bitbake build result.
>
> I saw that there is archive-patched-source class, which seems to do what I
> want plus a lot more. The problem with it is that it seems to be intended
> for other use case than mine, which means that it does a lot more work than
> I need.
>
The archive-*-source classes are primarily intended to assist in
providing materials for license compliance for the entire target
image. That being said, it shouldn't be too difficult to apply them
to a single package.
> Is there a way to either tame archive-patched-source to only be applicable
> for virtual/kernel, or is there other ways of accomplishing what I want?
>
I assume you have a line in your local.conf that looks something like:
INHERIT += "archive-patched-source"
This means that the class will be inherited at the global level and
therefor applied to all packages. It's perfectly reasonable to inherit
the class in any specific package, by adding this line to its recipe:
inherit archive-patched-source
I hope this gives you what you're looking for. Take a look at the
Yocto Project dev manual[1] for further information on the source
archiver.
-Kevin
[1] http://www.yoctoproject.org/docs/current/dev-manual/dev-manual.html#maintaining-open-source-license-compliance-during-your-products-lifecycle
> Regards
> Mats
> _______________________________________________
> yocto mailing list
> yocto@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: How to archive source for a single package
2013-04-12 19:15 ` Kevin Strasser
@ 2013-04-15 7:39 ` Mats Liljegren
2013-04-16 1:47 ` Kevin Strasser
0 siblings, 1 reply; 6+ messages in thread
From: Mats Liljegren @ 2013-04-15 7:39 UTC (permalink / raw)
To: Kevin Strasser; +Cc: yocto
[-- Attachment #1: Type: text/plain, Size: 7750 bytes --]
I tried that but got the error shown below. This made me believe that
archive-patched-source wasn't built for being included from a recipe:
$ bitbake virtual/kernel
Loading cache: 100%
|#######################################################################|
ETA: 00:00:00
Loaded 1234 entries from dependency cache.
Parsing recipes: 100%
|#####################################################################|
Time: 00:00:00
Parsing of 921 .bb files complete (920 cached, 1 parsed). 1232 targets, 86
skipped, 7 masked, 0 errors.
WARNING: No recipes available for:
/media/sdb1/fb/mlil/poky/meta-enea/recipes-append/hv-cfg/hv-cfg_git.bbappend
/media/sdb1/fb/mlil/poky/meta-enea/recipes-kernel/linux/linux-davinci-mainline.bbappend
/media/sdb1/fb/mlil/poky/meta-enea/recipes-kernel/linux/linux-qoriq-sdk.bbappend
Build Configuration:
BB_VERSION = "1.18.0"
BUILD_SYS = "x86_64-linux"
NATIVELSBSTRING = "Ubuntu-12.10"
TARGET_SYS = "arm-enea-linux-gnueabi"
MACHINE = "pandaboard"
DISTRO = "enea-lwrt-demo"
DISTRO_VERSION = "2.0"
TUNE_FEATURES = "armv7a vfp neon"
TARGET_FPU = "vfp-neon"
meta = "master-enea:312d568ef126816b1497cc097c93d8152b893732"
meta-enea = "master-enea:e81e7fe27b8ab3f9fe32faf2d6f95565d84945c0"
meta-enea-lwrt = "master-enea:b97c23337c29eb7b1fa72486ba67430a2975c98d"
meta-ti = "master:c14c386946e1ea341faeea292580e37d538d645d"
NOTE: Resolving any missing task queue dependencies
NOTE: Preparing runqueue
ERROR: An uncaught exception occured in runqueue, please see the failure
below:
ERROR: Running idle function
Traceback (most recent call last):
File "/media/sdb1/fb/mlil/poky/bitbake/lib/bb/runqueue.py", line 887, in
RunQueue._execute_runqueue():
else:
> self.rqexe = RunQueueExecuteScenequeue(self)
File "/media/sdb1/fb/mlil/poky/bitbake/lib/bb/runqueue.py", line 1610, in
RunQueueExecuteScenequeue.__init__(rq=<bb.runqueue.RunQueue instance at
0x89b1ab8>):
locs = { "sq_fn" : sq_fn, "sq_task" : sq_taskname,
"sq_hash" : sq_hash, "sq_hashfn" : sq_hashfn, "d" :
self.cooker.configuration.data }
> valid = bb.utils.better_eval(call, locs)
File "/media/sdb1/fb/mlil/poky/bitbake/lib/bb/utils.py", line 341, in
better_eval(source='sstate_checkhashes(sq_fn, sq_task, sq_hash, sq_hashfn,
d)', locals={'sq_fn':
['/media/sdb1/fb/mlil/poky/meta-enea-lwrt/recipes-kernel/linux/
linux-omap4_3.9.bb',
'/media/sdb1/fb/mlil/poky/meta-enea-lwrt/recipes-kernel/linux/
linux-omap4_3.9.bb',
'/media/sdb1/fb/mlil/poky/meta-enea-lwrt/recipes-kernel/linux/
linux-omap4_3.9.bb',
'/media/sdb1/fb/mlil/poky/meta-enea-lwrt/recipes-kernel/linux/
linux-omap4_3.9.bb',
'/media/sdb1/fb/mlil/poky/meta-enea-lwrt/recipes-kernel/linux/
linux-omap4_3.9.bb',
'/media/sdb1/fb/mlil/poky/meta-enea-lwrt/recipes-kernel/linux/
linux-omap4_3.9.bb'], 'sq_task': ['do_populate_sysroot', 'do_deploy',
'do_packagedata', 'do_package', 'do_package_write_ipk',
'do_dumpdata_create_diff_gz'], 'sq_hash':
['d701160f5f90ad867344decaa45e850c', '0e83bfbb44dd5f9bc1aab965401eafae',
'a043b351409fd10d0df4f4ef70ef5721', 'cccb256c759ec8ab2b45b033a8fd6fcb',
'965fd06e4464ed8a1322b04c69e1e487', 'b71395177e7741c4182f3628ca82f6b9'],
'sq_hashfn': ['
sstate-linux-omap4-pandaboard-enea-linux-gnueabi-3.9-r0-pandaboard-3-', '
sstate-linux-omap4-pandaboard-enea-linux-gnueabi-3.9-r0-pandaboard-3-', '
sstate-linux-omap4-pandaboard-enea-linux-gnueabi-3.9-r0-pandaboard-3-', '
sstate-linux-omap4-pandaboard-enea-linux-gnueabi-3.9-r0-pandaboard-3-', '
sstate-linux-omap4-pandaboard-enea-linux-gnueabi-3.9-r0-pandaboard-3-', '
sstate-linux-omap4-pandaboard-enea-linux-gnueabi-3.9-r0-pandaboard-3-'],
'd': <bb.data_smart.DataSmart object at 0x28f31d0>}):
def better_eval(source, locals):
> return eval(source, _context, locals)
File "<string>", line 1, in <module>
File "sstate.bbclass", line 15, in
sstate_checkhashes(sq_fn=['/media/sdb1/fb/mlil/poky/meta-enea-lwrt/recipes-kernel/linux/
linux-omap4_3.9.bb',
'/media/sdb1/fb/mlil/poky/meta-enea-lwrt/recipes-kernel/linux/
linux-omap4_3.9.bb',
'/media/sdb1/fb/mlil/poky/meta-enea-lwrt/recipes-kernel/linux/
linux-omap4_3.9.bb',
'/media/sdb1/fb/mlil/poky/meta-enea-lwrt/recipes-kernel/linux/
linux-omap4_3.9.bb',
'/media/sdb1/fb/mlil/poky/meta-enea-lwrt/recipes-kernel/linux/
linux-omap4_3.9.bb',
'/media/sdb1/fb/mlil/poky/meta-enea-lwrt/recipes-kernel/linux/
linux-omap4_3.9.bb'], sq_task=['do_populate_sysroot', 'do_deploy',
'do_packagedata', 'do_package', 'do_package_write_ipk',
'do_dumpdata_create_diff_gz'], sq_hash=['d701160f5f90ad867344decaa45e850c',
'0e83bfbb44dd5f9bc1aab965401eafae', 'a043b351409fd10d0df4f4ef70ef5721',
'cccb256c759ec8ab2b45b033a8fd6fcb', '965fd06e4464ed8a1322b04c69e1e487',
'b71395177e7741c4182f3628ca82f6b9'], sq_hashfn=['
sstate-linux-omap4-pandaboard-enea-linux-gnueabi-3.9-r0-pandaboard-3-', '
sstate-linux-omap4-pandaboard-enea-linux-gnueabi-3.9-r0-pandaboard-3-', '
sstate-linux-omap4-pandaboard-enea-linux-gnueabi-3.9-r0-pandaboard-3-', '
sstate-linux-omap4-pandaboard-enea-linux-gnueabi-3.9-r0-pandaboard-3-', '
sstate-linux-omap4-pandaboard-enea-linux-gnueabi-3.9-r0-pandaboard-3-', '
sstate-linux-omap4-pandaboard-enea-linux-gnueabi-3.9-r0-pandaboard-3-'],
d=<bb.data_smart.DataSmart object at 0x28f31d0>)
KeyError: 'do_dumpdata_create_diff_gz'
NOTE: Tasks Summary: Attempted 0 tasks of which 0 didn't need to be rerun
and all succeeded.
Summary: There was 1 WARNING message shown.
Summary: There were 2 ERROR messages shown, returning a non-zero exit code.
$
/Mats
On Fri, Apr 12, 2013 at 9:15 PM, Kevin Strasser <
kevin.strasser@linux.intel.com> wrote:
> Hi Mats,
>
> On Fri, Apr 12, 2013 at 03:58:01PM +0200, Mats Liljegren wrote:
> > I need to archive source for virtual/kernel when building. This is needed
> > for other builds that uses the bitbake build result.
> >
> > I saw that there is archive-patched-source class, which seems to do what
> I
> > want plus a lot more. The problem with it is that it seems to be intended
> > for other use case than mine, which means that it does a lot more work
> than
> > I need.
> >
> The archive-*-source classes are primarily intended to assist in
> providing materials for license compliance for the entire target
> image. That being said, it shouldn't be too difficult to apply them
> to a single package.
>
> > Is there a way to either tame archive-patched-source to only be
> applicable
> > for virtual/kernel, or is there other ways of accomplishing what I want?
> >
> I assume you have a line in your local.conf that looks something like:
>
> INHERIT += "archive-patched-source"
>
> This means that the class will be inherited at the global level and
> therefor applied to all packages. It's perfectly reasonable to inherit
> the class in any specific package, by adding this line to its recipe:
>
> inherit archive-patched-source
>
> I hope this gives you what you're looking for. Take a look at the
> Yocto Project dev manual[1] for further information on the source
> archiver.
>
> -Kevin
>
> [1]
> http://www.yoctoproject.org/docs/current/dev-manual/dev-manual.html#maintaining-open-source-license-compliance-during-your-products-lifecycle
>
> > Regards
> > Mats
>
> > _______________________________________________
> > yocto mailing list
> > yocto@yoctoproject.org
> > https://lists.yoctoproject.org/listinfo/yocto
>
> _______________________________________________
> yocto mailing list
> yocto@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto
>
[-- Attachment #2: Type: text/html, Size: 10164 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: How to archive source for a single package
2013-04-15 7:39 ` Mats Liljegren
@ 2013-04-16 1:47 ` Kevin Strasser
2013-04-16 6:41 ` Mats Liljegren
2013-04-16 8:59 ` Mats Liljegren
0 siblings, 2 replies; 6+ messages in thread
From: Kevin Strasser @ 2013-04-16 1:47 UTC (permalink / raw)
To: Mats Liljegren; +Cc: yocto
On Mon, Apr 15, 2013 at 09:39:48AM +0200, Mats Liljegren wrote:
> I tried that but got the error shown below. This made me believe that
> archive-patched-source wasn't built for being included from a recipe:
Sorry, I had assumed you weren't using code that was any newer than
danny release. Lately we have been working on adding sstate support to
the various archive-*-source classes, so they are a bit more
complicated than they used to be.
I think your best bet is to inherit directly from archiver.bbclass and
manually add the archive task in your kernel recipe.
For example:
inherit archiver
do_patch[postfuncs] += "do_archive_patched_sources "
Let me know if this does the trick.
-Kevin
>
> $ bitbake virtual/kernel
> Loading cache: 100%
> |#######################################################################|
> ETA: 00:00:00
> Loaded 1234 entries from dependency cache.
> Parsing recipes: 100%
> |#####################################################################|
> Time: 00:00:00
> Parsing of 921 .bb files complete (920 cached, 1 parsed). 1232 targets, 86
> skipped, 7 masked, 0 errors.
> WARNING: No recipes available for:
>
> /media/sdb1/fb/mlil/poky/meta-enea/recipes-append/hv-cfg/hv-cfg_git.bbappend
>
> /media/sdb1/fb/mlil/poky/meta-enea/recipes-kernel/linux/linux-davinci-mainline.bbappend
>
> /media/sdb1/fb/mlil/poky/meta-enea/recipes-kernel/linux/linux-qoriq-sdk.bbappend
>
> Build Configuration:
> BB_VERSION = "1.18.0"
> BUILD_SYS = "x86_64-linux"
> NATIVELSBSTRING = "Ubuntu-12.10"
> TARGET_SYS = "arm-enea-linux-gnueabi"
> MACHINE = "pandaboard"
> DISTRO = "enea-lwrt-demo"
> DISTRO_VERSION = "2.0"
> TUNE_FEATURES = "armv7a vfp neon"
> TARGET_FPU = "vfp-neon"
> meta = "master-enea:312d568ef126816b1497cc097c93d8152b893732"
> meta-enea = "master-enea:e81e7fe27b8ab3f9fe32faf2d6f95565d84945c0"
> meta-enea-lwrt = "master-enea:b97c23337c29eb7b1fa72486ba67430a2975c98d"
> meta-ti = "master:c14c386946e1ea341faeea292580e37d538d645d"
>
> NOTE: Resolving any missing task queue dependencies
> NOTE: Preparing runqueue
> ERROR: An uncaught exception occured in runqueue, please see the failure
> below:
> ERROR: Running idle function
> Traceback (most recent call last):
> File "/media/sdb1/fb/mlil/poky/bitbake/lib/bb/runqueue.py", line 887, in
> RunQueue._execute_runqueue():
> else:
> > self.rqexe = RunQueueExecuteScenequeue(self)
>
> File "/media/sdb1/fb/mlil/poky/bitbake/lib/bb/runqueue.py", line 1610, in
> RunQueueExecuteScenequeue.__init__(rq=<bb.runqueue.RunQueue instance at
> 0x89b1ab8>):
> locs = { "sq_fn" : sq_fn, "sq_task" : sq_taskname,
> "sq_hash" : sq_hash, "sq_hashfn" : sq_hashfn, "d" :
> self.cooker.configuration.data }
> > valid = bb.utils.better_eval(call, locs)
>
> File "/media/sdb1/fb/mlil/poky/bitbake/lib/bb/utils.py", line 341, in
> better_eval(source='sstate_checkhashes(sq_fn, sq_task, sq_hash, sq_hashfn,
> d)', locals={'sq_fn':
> ['/media/sdb1/fb/mlil/poky/meta-enea-lwrt/recipes-kernel/linux/
> linux-omap4_3.9.bb',
> '/media/sdb1/fb/mlil/poky/meta-enea-lwrt/recipes-kernel/linux/
> linux-omap4_3.9.bb',
> '/media/sdb1/fb/mlil/poky/meta-enea-lwrt/recipes-kernel/linux/
> linux-omap4_3.9.bb',
> '/media/sdb1/fb/mlil/poky/meta-enea-lwrt/recipes-kernel/linux/
> linux-omap4_3.9.bb',
> '/media/sdb1/fb/mlil/poky/meta-enea-lwrt/recipes-kernel/linux/
> linux-omap4_3.9.bb',
> '/media/sdb1/fb/mlil/poky/meta-enea-lwrt/recipes-kernel/linux/
> linux-omap4_3.9.bb'], 'sq_task': ['do_populate_sysroot', 'do_deploy',
> 'do_packagedata', 'do_package', 'do_package_write_ipk',
> 'do_dumpdata_create_diff_gz'], 'sq_hash':
> ['d701160f5f90ad867344decaa45e850c', '0e83bfbb44dd5f9bc1aab965401eafae',
> 'a043b351409fd10d0df4f4ef70ef5721', 'cccb256c759ec8ab2b45b033a8fd6fcb',
> '965fd06e4464ed8a1322b04c69e1e487', 'b71395177e7741c4182f3628ca82f6b9'],
> 'sq_hashfn': ['
> sstate-linux-omap4-pandaboard-enea-linux-gnueabi-3.9-r0-pandaboard-3-', '
> sstate-linux-omap4-pandaboard-enea-linux-gnueabi-3.9-r0-pandaboard-3-', '
> sstate-linux-omap4-pandaboard-enea-linux-gnueabi-3.9-r0-pandaboard-3-', '
> sstate-linux-omap4-pandaboard-enea-linux-gnueabi-3.9-r0-pandaboard-3-', '
> sstate-linux-omap4-pandaboard-enea-linux-gnueabi-3.9-r0-pandaboard-3-', '
> sstate-linux-omap4-pandaboard-enea-linux-gnueabi-3.9-r0-pandaboard-3-'],
> 'd': <bb.data_smart.DataSmart object at 0x28f31d0>}):
> def better_eval(source, locals):
> > return eval(source, _context, locals)
>
> File "<string>", line 1, in <module>
> File "sstate.bbclass", line 15, in
> sstate_checkhashes(sq_fn=['/media/sdb1/fb/mlil/poky/meta-enea-lwrt/recipes-kernel/linux/
> linux-omap4_3.9.bb',
> '/media/sdb1/fb/mlil/poky/meta-enea-lwrt/recipes-kernel/linux/
> linux-omap4_3.9.bb',
> '/media/sdb1/fb/mlil/poky/meta-enea-lwrt/recipes-kernel/linux/
> linux-omap4_3.9.bb',
> '/media/sdb1/fb/mlil/poky/meta-enea-lwrt/recipes-kernel/linux/
> linux-omap4_3.9.bb',
> '/media/sdb1/fb/mlil/poky/meta-enea-lwrt/recipes-kernel/linux/
> linux-omap4_3.9.bb',
> '/media/sdb1/fb/mlil/poky/meta-enea-lwrt/recipes-kernel/linux/
> linux-omap4_3.9.bb'], sq_task=['do_populate_sysroot', 'do_deploy',
> 'do_packagedata', 'do_package', 'do_package_write_ipk',
> 'do_dumpdata_create_diff_gz'], sq_hash=['d701160f5f90ad867344decaa45e850c',
> '0e83bfbb44dd5f9bc1aab965401eafae', 'a043b351409fd10d0df4f4ef70ef5721',
> 'cccb256c759ec8ab2b45b033a8fd6fcb', '965fd06e4464ed8a1322b04c69e1e487',
> 'b71395177e7741c4182f3628ca82f6b9'], sq_hashfn=['
> sstate-linux-omap4-pandaboard-enea-linux-gnueabi-3.9-r0-pandaboard-3-', '
> sstate-linux-omap4-pandaboard-enea-linux-gnueabi-3.9-r0-pandaboard-3-', '
> sstate-linux-omap4-pandaboard-enea-linux-gnueabi-3.9-r0-pandaboard-3-', '
> sstate-linux-omap4-pandaboard-enea-linux-gnueabi-3.9-r0-pandaboard-3-', '
> sstate-linux-omap4-pandaboard-enea-linux-gnueabi-3.9-r0-pandaboard-3-', '
> sstate-linux-omap4-pandaboard-enea-linux-gnueabi-3.9-r0-pandaboard-3-'],
> d=<bb.data_smart.DataSmart object at 0x28f31d0>)
> KeyError: 'do_dumpdata_create_diff_gz'
>
> NOTE: Tasks Summary: Attempted 0 tasks of which 0 didn't need to be rerun
> and all succeeded.
>
> Summary: There was 1 WARNING message shown.
> Summary: There were 2 ERROR messages shown, returning a non-zero exit code.
> $
>
> /Mats
>
>
> On Fri, Apr 12, 2013 at 9:15 PM, Kevin Strasser <
> kevin.strasser@linux.intel.com> wrote:
>
> > Hi Mats,
> >
> > On Fri, Apr 12, 2013 at 03:58:01PM +0200, Mats Liljegren wrote:
> > > I need to archive source for virtual/kernel when building. This is needed
> > > for other builds that uses the bitbake build result.
> > >
> > > I saw that there is archive-patched-source class, which seems to do what
> > I
> > > want plus a lot more. The problem with it is that it seems to be intended
> > > for other use case than mine, which means that it does a lot more work
> > than
> > > I need.
> > >
> > The archive-*-source classes are primarily intended to assist in
> > providing materials for license compliance for the entire target
> > image. That being said, it shouldn't be too difficult to apply them
> > to a single package.
> >
> > > Is there a way to either tame archive-patched-source to only be
> > applicable
> > > for virtual/kernel, or is there other ways of accomplishing what I want?
> > >
> > I assume you have a line in your local.conf that looks something like:
> >
> > INHERIT += "archive-patched-source"
> >
> > This means that the class will be inherited at the global level and
> > therefor applied to all packages. It's perfectly reasonable to inherit
> > the class in any specific package, by adding this line to its recipe:
> >
> > inherit archive-patched-source
> >
> > I hope this gives you what you're looking for. Take a look at the
> > Yocto Project dev manual[1] for further information on the source
> > archiver.
> >
> > -Kevin
> >
> > [1]
> > http://www.yoctoproject.org/docs/current/dev-manual/dev-manual.html#maintaining-open-source-license-compliance-during-your-products-lifecycle
> >
> > > Regards
> > > Mats
> >
> > > _______________________________________________
> > > yocto mailing list
> > > yocto@yoctoproject.org
> > > https://lists.yoctoproject.org/listinfo/yocto
> >
> > _______________________________________________
> > yocto mailing list
> > yocto@yoctoproject.org
> > https://lists.yoctoproject.org/listinfo/yocto
> >
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: How to archive source for a single package
2013-04-16 1:47 ` Kevin Strasser
@ 2013-04-16 6:41 ` Mats Liljegren
2013-04-16 8:59 ` Mats Liljegren
1 sibling, 0 replies; 6+ messages in thread
From: Mats Liljegren @ 2013-04-16 6:41 UTC (permalink / raw)
To: Kevin Strasser; +Cc: yocto@yoctoproject.org
Yep, that worked! Thanks, you saved my day!
/Mats
-----Original Message-----
From: Kevin Strasser [mailto:kevin.strasser@linux.intel.com]
Sent: den 16 april 2013 03:48
To: Mats Liljegren
Cc: yocto@yoctoproject.org
Subject: Re: [yocto] How to archive source for a single package
On Mon, Apr 15, 2013 at 09:39:48AM +0200, Mats Liljegren wrote:
> I tried that but got the error shown below. This made me believe that
> archive-patched-source wasn't built for being included from a recipe:
Sorry, I had assumed you weren't using code that was any newer than danny release. Lately we have been working on adding sstate support to the various archive-*-source classes, so they are a bit more complicated than they used to be.
I think your best bet is to inherit directly from archiver.bbclass and manually add the archive task in your kernel recipe.
For example:
inherit archiver
do_patch[postfuncs] += "do_archive_patched_sources "
Let me know if this does the trick.
-Kevin
>
> $ bitbake virtual/kernel
> Loading cache: 100%
> |#####################################################################
> |##|
> ETA: 00:00:00
> Loaded 1234 entries from dependency cache.
> Parsing recipes: 100%
> |#####################################################################
> ||
> Time: 00:00:00
> Parsing of 921 .bb files complete (920 cached, 1 parsed). 1232
> targets, 86 skipped, 7 masked, 0 errors.
> WARNING: No recipes available for:
>
> /media/sdb1/fb/mlil/poky/meta-enea/recipes-append/hv-cfg/hv-cfg_git.bb
> append
>
> /media/sdb1/fb/mlil/poky/meta-enea/recipes-kernel/linux/linux-davinci-
> mainline.bbappend
>
> /media/sdb1/fb/mlil/poky/meta-enea/recipes-kernel/linux/linux-qoriq-sd
> k.bbappend
>
> Build Configuration:
> BB_VERSION = "1.18.0"
> BUILD_SYS = "x86_64-linux"
> NATIVELSBSTRING = "Ubuntu-12.10"
> TARGET_SYS = "arm-enea-linux-gnueabi"
> MACHINE = "pandaboard"
> DISTRO = "enea-lwrt-demo"
> DISTRO_VERSION = "2.0"
> TUNE_FEATURES = "armv7a vfp neon"
> TARGET_FPU = "vfp-neon"
> meta = "master-enea:312d568ef126816b1497cc097c93d8152b893732"
> meta-enea = "master-enea:e81e7fe27b8ab3f9fe32faf2d6f95565d84945c0"
> meta-enea-lwrt = "master-enea:b97c23337c29eb7b1fa72486ba67430a2975c98d"
> meta-ti = "master:c14c386946e1ea341faeea292580e37d538d645d"
>
> NOTE: Resolving any missing task queue dependencies
> NOTE: Preparing runqueue
> ERROR: An uncaught exception occured in runqueue, please see the
> failure
> below:
> ERROR: Running idle function
> Traceback (most recent call last):
> File "/media/sdb1/fb/mlil/poky/bitbake/lib/bb/runqueue.py", line
> 887, in
> RunQueue._execute_runqueue():
> else:
> > self.rqexe = RunQueueExecuteScenequeue(self)
>
> File "/media/sdb1/fb/mlil/poky/bitbake/lib/bb/runqueue.py", line
> 1610, in RunQueueExecuteScenequeue.__init__(rq=<bb.runqueue.RunQueue
> instance at
> 0x89b1ab8>):
> locs = { "sq_fn" : sq_fn, "sq_task" : sq_taskname,
> "sq_hash" : sq_hash, "sq_hashfn" : sq_hashfn, "d" :
> self.cooker.configuration.data }
> > valid = bb.utils.better_eval(call, locs)
>
> File "/media/sdb1/fb/mlil/poky/bitbake/lib/bb/utils.py", line 341,
> in better_eval(source='sstate_checkhashes(sq_fn, sq_task, sq_hash,
> sq_hashfn, d)', locals={'sq_fn':
> ['/media/sdb1/fb/mlil/poky/meta-enea-lwrt/recipes-kernel/linux/
> linux-omap4_3.9.bb',
> '/media/sdb1/fb/mlil/poky/meta-enea-lwrt/recipes-kernel/linux/
> linux-omap4_3.9.bb',
> '/media/sdb1/fb/mlil/poky/meta-enea-lwrt/recipes-kernel/linux/
> linux-omap4_3.9.bb',
> '/media/sdb1/fb/mlil/poky/meta-enea-lwrt/recipes-kernel/linux/
> linux-omap4_3.9.bb',
> '/media/sdb1/fb/mlil/poky/meta-enea-lwrt/recipes-kernel/linux/
> linux-omap4_3.9.bb',
> '/media/sdb1/fb/mlil/poky/meta-enea-lwrt/recipes-kernel/linux/
> linux-omap4_3.9.bb'], 'sq_task': ['do_populate_sysroot', 'do_deploy',
> 'do_packagedata', 'do_package', 'do_package_write_ipk',
> 'do_dumpdata_create_diff_gz'], 'sq_hash':
> ['d701160f5f90ad867344decaa45e850c',
> '0e83bfbb44dd5f9bc1aab965401eafae',
> 'a043b351409fd10d0df4f4ef70ef5721',
> 'cccb256c759ec8ab2b45b033a8fd6fcb',
> '965fd06e4464ed8a1322b04c69e1e487',
> 'b71395177e7741c4182f3628ca82f6b9'],
> 'sq_hashfn': ['
> sstate-linux-omap4-pandaboard-enea-linux-gnueabi-3.9-r0-pandaboard-3-', '
> sstate-linux-omap4-pandaboard-enea-linux-gnueabi-3.9-r0-pandaboard-3-', '
> sstate-linux-omap4-pandaboard-enea-linux-gnueabi-3.9-r0-pandaboard-3-', '
> sstate-linux-omap4-pandaboard-enea-linux-gnueabi-3.9-r0-pandaboard-3-', '
> sstate-linux-omap4-pandaboard-enea-linux-gnueabi-3.9-r0-pandaboard-3-', '
> sstate-linux-omap4-pandaboard-enea-linux-gnueabi-3.9-r0-pandaboard-3-'
> ],
> 'd': <bb.data_smart.DataSmart object at 0x28f31d0>}):
> def better_eval(source, locals):
> > return eval(source, _context, locals)
>
> File "<string>", line 1, in <module>
> File "sstate.bbclass", line 15, in
> sstate_checkhashes(sq_fn=['/media/sdb1/fb/mlil/poky/meta-enea-lwrt/rec
> ipes-kernel/linux/
> linux-omap4_3.9.bb',
> '/media/sdb1/fb/mlil/poky/meta-enea-lwrt/recipes-kernel/linux/
> linux-omap4_3.9.bb',
> '/media/sdb1/fb/mlil/poky/meta-enea-lwrt/recipes-kernel/linux/
> linux-omap4_3.9.bb',
> '/media/sdb1/fb/mlil/poky/meta-enea-lwrt/recipes-kernel/linux/
> linux-omap4_3.9.bb',
> '/media/sdb1/fb/mlil/poky/meta-enea-lwrt/recipes-kernel/linux/
> linux-omap4_3.9.bb',
> '/media/sdb1/fb/mlil/poky/meta-enea-lwrt/recipes-kernel/linux/
> linux-omap4_3.9.bb'], sq_task=['do_populate_sysroot', 'do_deploy',
> 'do_packagedata', 'do_package', 'do_package_write_ipk',
> 'do_dumpdata_create_diff_gz'],
> sq_hash=['d701160f5f90ad867344decaa45e850c',
> '0e83bfbb44dd5f9bc1aab965401eafae',
> 'a043b351409fd10d0df4f4ef70ef5721',
> 'cccb256c759ec8ab2b45b033a8fd6fcb',
> '965fd06e4464ed8a1322b04c69e1e487',
> 'b71395177e7741c4182f3628ca82f6b9'], sq_hashfn=['
> sstate-linux-omap4-pandaboard-enea-linux-gnueabi-3.9-r0-pandaboard-3-', '
> sstate-linux-omap4-pandaboard-enea-linux-gnueabi-3.9-r0-pandaboard-3-', '
> sstate-linux-omap4-pandaboard-enea-linux-gnueabi-3.9-r0-pandaboard-3-', '
> sstate-linux-omap4-pandaboard-enea-linux-gnueabi-3.9-r0-pandaboard-3-', '
> sstate-linux-omap4-pandaboard-enea-linux-gnueabi-3.9-r0-pandaboard-3-', '
> sstate-linux-omap4-pandaboard-enea-linux-gnueabi-3.9-r0-pandaboard-3-'
> ], d=<bb.data_smart.DataSmart object at 0x28f31d0>)
> KeyError: 'do_dumpdata_create_diff_gz'
>
> NOTE: Tasks Summary: Attempted 0 tasks of which 0 didn't need to be
> rerun and all succeeded.
>
> Summary: There was 1 WARNING message shown.
> Summary: There were 2 ERROR messages shown, returning a non-zero exit code.
> $
>
> /Mats
>
>
> On Fri, Apr 12, 2013 at 9:15 PM, Kevin Strasser <
> kevin.strasser@linux.intel.com> wrote:
>
> > Hi Mats,
> >
> > On Fri, Apr 12, 2013 at 03:58:01PM +0200, Mats Liljegren wrote:
> > > I need to archive source for virtual/kernel when building. This is
> > > needed for other builds that uses the bitbake build result.
> > >
> > > I saw that there is archive-patched-source class, which seems to
> > > do what
> > I
> > > want plus a lot more. The problem with it is that it seems to be
> > > intended for other use case than mine, which means that it does a
> > > lot more work
> > than
> > > I need.
> > >
> > The archive-*-source classes are primarily intended to assist in
> > providing materials for license compliance for the entire target
> > image. That being said, it shouldn't be too difficult to apply them
> > to a single package.
> >
> > > Is there a way to either tame archive-patched-source to only be
> > applicable
> > > for virtual/kernel, or is there other ways of accomplishing what I want?
> > >
> > I assume you have a line in your local.conf that looks something like:
> >
> > INHERIT += "archive-patched-source"
> >
> > This means that the class will be inherited at the global level and
> > therefor applied to all packages. It's perfectly reasonable to
> > inherit the class in any specific package, by adding this line to its recipe:
> >
> > inherit archive-patched-source
> >
> > I hope this gives you what you're looking for. Take a look at the
> > Yocto Project dev manual[1] for further information on the source
> > archiver.
> >
> > -Kevin
> >
> > [1]
> > http://www.yoctoproject.org/docs/current/dev-manual/dev-manual.html#
> > maintaining-open-source-license-compliance-during-your-products-life
> > cycle
> >
> > > Regards
> > > Mats
> >
> > > _______________________________________________
> > > yocto mailing list
> > > yocto@yoctoproject.org
> > > https://lists.yoctoproject.org/listinfo/yocto
> >
> > _______________________________________________
> > yocto mailing list
> > yocto@yoctoproject.org
> > https://lists.yoctoproject.org/listinfo/yocto
> >
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: How to archive source for a single package
2013-04-16 1:47 ` Kevin Strasser
2013-04-16 6:41 ` Mats Liljegren
@ 2013-04-16 8:59 ` Mats Liljegren
1 sibling, 0 replies; 6+ messages in thread
From: Mats Liljegren @ 2013-04-16 8:59 UTC (permalink / raw)
To: Kevin Strasser; +Cc: yocto
On Tue, Apr 16, 2013 at 3:47 AM, Kevin Strasser
<kevin.strasser@linux.intel.com> wrote:
> On Mon, Apr 15, 2013 at 09:39:48AM +0200, Mats Liljegren wrote:
>> I tried that but got the error shown below. This made me believe that
>> archive-patched-source wasn't built for being included from a recipe:
>
> Sorry, I had assumed you weren't using code that was any newer than
> danny release. Lately we have been working on adding sstate support to
> the various archive-*-source classes, so they are a bit more
> complicated than they used to be.
>
> I think your best bet is to inherit directly from archiver.bbclass and
> manually add the archive task in your kernel recipe.
> For example:
>
> inherit archiver
> do_patch[postfuncs] += "do_archive_patched_sources "
>
> Let me know if this does the trick.
>
> -Kevin
I replied using Outlook since this is what my company dictates, big mistake...
So I'll try Gmail instead:
Yes, that did the trick. Thanks!
/Mats
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2013-04-16 8:59 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-04-12 13:58 How to archive source for a single package Mats Liljegren
2013-04-12 19:15 ` Kevin Strasser
2013-04-15 7:39 ` Mats Liljegren
2013-04-16 1:47 ` Kevin Strasser
2013-04-16 6:41 ` Mats Liljegren
2013-04-16 8:59 ` Mats Liljegren
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.