update TODO
[bitbake.git] / doc / TODO
1 TODO:
2
3 [x] oe package
4         [x] Update .oe and .conf parsers to not strip out all the tabs in our 
5             python function vars..
6         [x] Restructure
7         [.] Remove duplicated implementations, and convert everyone to the new
8             data and parse methods.
9         [ ] API Sanity Audit.
10         [ ] Comment/Docs Audit.
11         [ ] Allow user supply of .oeclasses to be inherited in every file that
12             gets parsed via the INHERITS variable.
13                 [ ] Add default items to the beginning of INHERITS within
14                     the parsers.  In this way, we can automatically pull in
15                     base.oeclass for oe files, and build_an_srpm.oeclass for
16                     .src.rpm files.
17
18 [ ] oebuild and oemake
19         [ ] Teach the system to support grabbing OEFILES from upstream
20             using our fetch classes.
21
22 [.] oebuild
23         [x] Use oe.digraph for handling intertask dependency
24         [x] Split task execution from function execution
25         [x] Add a means to add a task which depends on another task's
26             execution, but not on said task's successful completion.
27         [x] Convert to the new parse and data clases ala oemake.
28         [x] Fetch shouldnt use stamps at all.  Hmm, due to the way
29             I implemented override of the check functions, the stamp
30             checker will believe unpack's stamp is always out of date,
31             since its dependency item's stamp doesnt exist.  Need to fix
32             that behavior, then enhance the fetch classes to check for
33             existance.
34         [x] move set_automatic_vars into either data or parse
35         [x] default flag set for both oe and task metadata
36         [x] Fix python function implementation, do it the way I did the
37             code for the event handlers. (needed to fix do_fetch)
38         [ ] Implement and test check_md5, taking nostamp into account.
39         [x] Add clean and mrproper targets to base oeclass.
40
41 [.] oemake
42         [x] Move OEPATH follow into the individual 'handle' functions,
43             whenever the fn path is relative.  Then kill the init call,
44             as it is really extraneous, given handle does it for you.
45         [x] Add oe.conf parsing - abort if OEFILES is not defined
46         [x] Add parsing of the .oe's listed in OEFILES
47         [x] Handle provides in the digraph...
48         [x] Handle dependency on just content/glibc vs content/glibc-2.3.1-r0
49         [x] Proper event handling and failout when we encounter an unsatisfied
50             dependency.
51         [ ] Check for recursive dependency
52         [ ] Deal with multiple provides
53         [x] Pull package name, version, and revision based on package metadata,
54             rather than based on the filename in the build tools.  This belongs
55             in the parser code.  In this way, we can more easily facilitate
56             builds of src.rpms, .dsc's, et cetera.
57                 -aside: pulled set_additional_vars into the new parser code
58
59 [.] oemaked
60         [x] Autobuilder daemon, monitors files and/or directories
61             For changes, and runs oemake when appropriate.
62         [ ] Monitor the stamps for a given .oe file as well, to ensure
63             changes in build state as well as changes to build metadata result
64             in a rebuild.
65
66 [ ] packages
67         [ ] add cross binutils and binutils
68         [ ] add gcc
69         [ ] figure out where to put the glibc install into the toolchain dir,
70             which is only needed by gcc pass 2.
71         [ ] add qtopia 1.6.1
72         [ ] add qt 2.3.6
73         [ ] convert packages from OpenZaurus buildroot
74
75 [ ] Image creation .oe files and/or external tool
76
77 [x] Update patcher tool to make use of our ability to use python functions.
78 [x] Write package.oeclass implemented w/ a python function/task
79 [x] Write src.rpm builder .oeclass
80 [x] Write ipkg.oeclass which inherits package.oeclass to produce an ipk from
81     our metadata.
82 [ ] Once we have the per package deployment code, write a staging oeclass
83     that lets you use the FILES blocks for our deployment packages to do the
84     installs into the appropriate staging areas, to save time writing do_stage
85     functions.