Delete: doc/DIRSnVARS
[bitbake.git] / doc / EVENTS
1         The OpenEmbedded build infrastructure now has a fairly sane event
2 handling core.  The following are the events which get fired at
3 appropriate points during the build process:
4
5 TaskStarted:
6 TaskFailed:
7 TaskSucceeded:
8
9         The task status event classes have a 'task' attribute, which is
10 simply a string containing the task to which this event applies.  They also
11 have a 'data' attribute, which contains the environment data of the package
12 in question.
13
14 PkgStarted:
15 PkgSucceeded:
16 PkgFailed:
17
18         The package build status event classes are a bit higher level.  That
19 is, they reflect the overall build status of a given package as a whole, without
20 the task level breakdown.  The 'package' attribute is a string which contains
21 the package which failed, in the usual form (i.e. content/glibc-2.3.1-r0).
22
23 UnsatisfiedDep:
24
25         This event is triggered by oemake whenever an unsatisfied dependency
26 is encountered on a package we're attempting to build.  It will remove the
27 package from the build, and every package that directly or indirectly depends
28 on the package that encountered this problem.
29
30 Handling:
31
32         Any .oe or .oeclass can register an event handler.  It is simply
33 'addhandler <variable> [<othervariable> <anothervariable> ...]'.  The
34 variable in question must be flagged as a block of python code, and, due
35 to the way in which it spawns the code, must be indented by an extra tab.
36 See the base.oeclass for our base event handler as an example.
37
38 TODO:
39 RecursiveDep
40 MultipleProviders
41
42 Add 'log' data to the task and package builds, which contains the stdout and
43 stderr of the task/package which succeeded/failed, so that email notifications
44 of failures can include the build log.