cache: fix remnant broken 'info' reference from recent cache changes
[bitbake.git] / TODO
blobcfc9ee964a6e3f4b11957794267506d4ba248f3b
1 - Reimplement the interactive mode as a proper ui
2 - Continue dropping fatal/SystemExit/sys.exit usage in favor of raising
3   appropriate exceptions
4 - Continue pylint / pyflakes / pychecker / pep8 fixups
5 - Drop os.system usage in favor of direct subprocess usage or a subprocess
6   wrapper
7 - Kill the execution of 'tee' for the task log file in build.py
8 - Fix up the exception handling
10   - Kill exec_task's catch of FuncFailed, instead catch it in the other
11     callers of exec_task/exec_func
12   - What exactly is the purpose of the "EventException"?  I can see using an
13     exception like that, *perhaps*, to abstract away exceptions raised by
14     event handlers, but it has no place in bb.build.exec_task
16 - BUG: if you chmod 000 local.conf, it silently doesn't parse it, when it
17   should really fail, so the user can fix the problem.
19 - Audit bb.fatal usage - these should all be able to be replaced with
20   exceptions
21 - Figure out how to handle the ncurses UI.  Should some of our logging
22   formatting stuff be made common to all of bitbake, or perhaps all UIs via
23   the UIHelper?
25 Long term, high impact:
27   - Change override application to actually *move* it over -- so the original
28     override specific version of the variable goes away, rather than sticking
29     around as a duplicate.
30   - Change the behavior when a variable is referenced and is unset.  Today, it
31     evaluates to ${FOO} and then shell has a chance to expand it, but this is
32     far from ideal.  We had considered evaluating it to the empty string, but
33     that has other potential problems.  Frans Meulenbroeks has proposed just
34     erroring when this occurs, as we can always define default values for the
35     variables in bitbake.conf.  This seems reasonable.  My only concern with
36     that is the case where you want to reference a shell variable with odd
37     characters in it -- where you'd have to use ${} style shell variable
38     expansion rather than normal $.  To handle that case, we'd really need a
39     way to escape / disable bitbake variable expansion, \${} perhaps.
41 Uncertain:
43   - Leverage the python 2.6 multiprocessing module
45     - Worker processes for bb.cooker
46     - Server / UI processes
48   - Create a bitbake configuration class which is utilized by the library, not
49     just bin/bitbake.  This class should be responsible for extracting
50     configuration parameters from the metadata for bitbake internal use, as well
51     as pulling specific items like BBDEBUG, and importing settings from an
52     optparse options object.
54   - Python version bits
56     - Utilize the new string formatting where appropriate
57     - Do we need to take into account the bytes literals changes?
58     - Do we have any file-like objects that would benefit from using the "io"
59       module?
60     - Do we want to leverage the abstract base classes in collections?
61     - Aside: Set methods now accept multiple iterables