Bug 6935 - When Toaster is running, bitbake doesn't see changes in recipe file
Summary: When Toaster is running, bitbake doesn't see changes in recipe file
Status: VERIFIED FIXED
Alias: None
Product: BitBake
Classification: Build System, Metadata & Runtime
Component: bitbake (show other bugs)
Version: unspecified
Hardware: All Multiple
: High major
Target Milestone: 1.8 M2
Assignee: Richard Purdie
QA Contact: Mihail Stanciu
URL:
Whiteboard: TC needed
Depends on:
Blocks:
 
Reported: 2014-11-06 12:33 UTC by Martin Vuille
Modified: 2015-02-11 13:27 UTC (History)
6 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: Don't know


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Vuille 2014-11-06 12:33:18 UTC
Poky 1.6.1 / Daisy
Bitbake 1.22.0

Steps to reproduce:

- Start Toaster
- Build an image
- Change packagegroup recipe (e.g., add package to RDEPENDS) included in
  image built earlier
- Rebuild image
- Nothing is built, bitbake does not see the change in the recipe

If Toaster is stopped before rebuilding, then the change is seen and
the image is rebuilt

See this thread in Yocto mailing list
https://lists.yoctoproject.org/pipermail/yocto/2014-November/022118.html

Near the end of the thread, an alternate way to reproduce the problem
is reported

MV
Comment 1 Bill Mills 2015-01-05 16:08:40 UTC
This issue effects confile files as well.
Comment 2 Richard Purdie 2015-01-13 22:24:52 UTC
pyinotify support added in patches on bitbake-devel to resolve this and other issues.
Comment 4 Mihail Stanciu 2015-01-22 11:06:35 UTC
Verified on master: d9d5b8b499af3ae01a1e33d0d3969c54c2d4ab1b

TC needed.

Quoting commit notes for test steps:

For education and QA purposes I can document a workflow that illustrates this:

$ source oe-init-build-env-memres
$ time bitbake bash
[base configuration is loaded, recipes are parsed, bash builds]
$ time bitbake bash
[command returns quickly since all caches are valid]
$ touch ../meta/classes/gettext.bbclass
$ time bitbake bash
[reparse is triggered, time is longer than above]
$ echo 'FOO = "1"' >> conf/local.conf
$ time bitbake bash
[reparse is triggered, but with a base configuration reload too]