aboutsummaryrefslogtreecommitdiffstats
path: root/TODO
blob: b421133601f11287495a1e72bb7204e068636610 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
- Reimplement the interactive mode as a proper ui
- Move the LAYERDIR expansion hack into DataSmart, as that's where code that
  depends upon its internals belongs
- Continue dropping fatal/SystemExit/sys.exit usage in favor of raising
  appropriate exceptions
- Continue pylint / pyflakes / pychecker / pep8 fixups
- Drop os.system usage in favor of direct subprocess usage or a subprocess
  wrapper
- Kill the execution of 'tee' for the task log file in build.py
- Fix up the exception handling

  - Kill exec_task's catch of FuncFailed, instead catch it in the other
    callers of exec_task/exec_func
  - What exactly is the purpose of the "EventException"?  I can see using an
    exception like that, *perhaps*, to abstract away exceptions raised by
    event handlers, but it has no place in bb.build.exec_task

- Leverage the python logging module

  - Create a new logging Handler which instantiates MsgBase derived objects
    and passes them along, either via bb.event or directly over the
    appropriate queues to the other processes.
  - Alter the bb.msg functions to use the logging module.
  - Convert bb modules to stop using the bb.msg functions.
  - Switch the messaging wrappers in the bb package to use the logging module
    directly, as we'll be deprecating the bb.msg versions, but these should
    stay around for the metadata to use.
  - Deprecate the bb.msg functions.
  - Do we want to use the logging module in any of the UIs, for local
    messages, as well?  If we do, we don't want those to use our handler which
    sends the Msg events to the UI :)
    Looks like we may be able to use removeHandler.. will have to see how it
    interacts with parent/child loggers.

Uncertain:

  - Leverage the python 2.6 multiprocessing module

    - Worker processes for bb.cooker
    - Server / UI processes

  - Create a bitbake configuration class which is utilized by the library, not
    just bin/bitbake.  This class should be responsible for extracting
    configuration parameters from the metadata for bitbake internal use, as well
    as pulling specific items like BBDEBUG, and importing settings from an
    optparse options object.

  - Python version bits

    - Utilize the new string formatting where appropriate
    - Do we need to take into account the bytes literals changes?
    - Do we have any file-like objects that would benefit from using the "io"
      module?
    - Do we want to leverage the abstract base classes in collections?
    - Aside: Set methods now accept multiple iterables