| Submitter | Ambrose, Martin |
|---|---|
| Date | Dec. 10, 2010, 2:17 p.m. |
| Message ID | <A24693684029E5489D1D202277BE89448587464B@dlee02.ent.ti.com> |
| Download | mbox | patch |
| Permalink | /patch/49/ |
| State | Accepted |
| Headers | show |
Comments
On Fri, Dec 10, 2010 at 7:17 AM, Ambrose, Martin <martin@ti.com> wrote: > 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. This looks right to me. When it was switched from exec_task to exec_func to avoid other complications, I guess it was forgotten that exec_task is what runs make_stamp :)
On Sat, Dec 11, 2010 at 7:00 AM, Chris Larson <clarson@kergoth.com> wrote: > On Fri, Dec 10, 2010 at 7:17 AM, Ambrose, Martin <martin@ti.com> wrote: >> 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. > > This looks right to me. When it was switched from exec_task to > exec_func to avoid other complications, I guess it was forgotten that > exec_task is what runs make_stamp :) hmmm seems right. > -- > Christopher Larson > clarson at kergoth dot com > Founder - BitBake, OpenEmbedded, OpenZaurus > Maintainer - Tslib > Senior Software Engineer, Mentor Graphics > > _______________________________________________ > Openembedded-devel mailing list > Openembedded-devel@lists.openembedded.org > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel >
On Fri, Dec 10, 2010 at 7:17 AM, Ambrose, Martin <martin@ti.com> wrote: > 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. Applied it in principle, slightly altered to follow the same logic for stamp creation that bitbake's exec_task does, just to be safe. Thanks much.
Patch
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()) }