[oe] srctree and stamps
Ambrose, Martin
martin at ti.com
Fri Dec 10 14:17:51 UTC 2010
On Fri, Nov 19, 2010 at 20:01:28, Ambrose, Martin wrote:
> I find that using the latest srctree the stamps aren't updated in the same fashion
> as regular recipes. In the example below I build the srctree recipe (mypackage) and
> then build an image depending on same. Even though the package is built just prior
> the image build still processes several steps which seem redundant.
>
> I see some special handling of stamps in srctree.bbclass and wonder if this
> is expected/desired behavior.
>
> Thanks for any help/pointers.
First: sorry for the double post -- some transitory problem with our mail server.
I found that the lack of expected stamps resulted in errors when building images
with srctree recipes as run time dependencies. Since the do_populate_sysroot,
among others, task stamp was not present it was run again. Various errors
could occur depending on the nature of the recipe but I often saw
* resolve_conffiles: Existing conffile /home/user/work/oe/arago-tmp/rootfs/my-image/etc/device_table is different from the conffile in the new package.
The following patch to create the missing stamps is my resolution.
Comments welcome.
$ git diff classes
diff --git a/classes/srctree.bbclass b/classes/srctree.bbclass
index 4884b62..2effb89 100644
--- a/classes/srctree.bbclass
+++ b/classes/srctree.bbclass
@@ -100,7 +100,7 @@ python () {
# Manually run do_install & all of its deps
python do_populate_sysroot_post () {
from os.path import exists
- from bb.build import exec_task, exec_func
+ from bb.build import exec_task, exec_func, make_stamp
from bb import note
stamp = d.getVar("STAMP", True)
@@ -113,6 +113,7 @@ python do_populate_sysroot_post () {
if not exists("%s.%s" % (stamp, task)):
note("%s: executing task %s" % (d.getVar("PF", True), task))
exec_func(task, d)
+ make_stamp(task,d)
rec_exec_task("do_populate_sysroot", set())
}
Regards,
Martin
More information about the Openembedded-devel
mailing list