BitBake/GUI/WorkInProgress

From Yocto Project
Jump to navigationJump to search

Intro

Note: raw unfiltered thoughts, please contact me before acting upon them.

Fix ASAP

Before 1.? starts in earnest

  • Investigate oetypes for listing configuration variables and suggesting appropriate values
 - lib/oe/types.py and typecheck.bbclass
 - Talk to Jeff P re: his requirements

Phase One (Planned Features for Yocto 1.? M2)

  • Optimise, we take ~3mins to load all the data
 - perhaps we can have the GUI provide a method which the server uses to return an appropriate data object? Rather than having the server iterate over all of the data and create a data object only for the client (ui) to then iterate this data object and create a different data object with its contents.
 - PyGtk bindings support a more simple value setting syntax, the following snippet will set the third row's values:
      model[(2,)] = ('new string value', 'string 2')
 Therefore we can optimise insertion of the data into the tree model by ensuring the data comes back as a list (one entry per row) of tuples containing appropriate values for each column.
  • #770 "Add mechanism to enable UI's to request extra data be stored in the cache" http://bugzilla.pokylinux.org/show_bug.cgi?id=770
  • Add mechanism to enable selection of server back-end at runtime, rather than it being hard-coded. Furthermore a UI should be able to specify which server it wants to run against
  • Distro selector dropdown (easy)
 - as per MACHINE dropdown, partially implemented
  • Package format dropdown (difficult)
 - cooker able to determine classes which are appropriate for the value
 - wrap with command
 - hook up to hob
  • Image output type dropdown (difficult)
 - cooker able to determine all possible values for a variable
 - wrap with command
 - hook up to hob
  • Build development toolchain checkbox (easy)
 - add meta-toolchain to task list
  • Toolchain host combo (easy)
 - like MACHINE, set SDKMACHINE from possible files in machine-sdk, partially implemented?
  • Include development headers with toolchain (easy/medium)
 - add dev-pkgs to IMAGE_FEATURES?
  • Spinner to set BB_NUMBER_THREADS (easy)
  • Spinner to set PARALLEL_MAKE (easy)
  • Save/load previous configuration (medium)
 - save will create a .bb file from which the created image can be reproduced
 - load will parse a bb file and set up the gui
  • A search box which does basic find in the currently selected treeview's model (medium)

Phase Two (Bug fixes)

  • Sorting in Packages (by Group) column changes when item selected (included value alters sort order)
  • hobhandler as a proxy to the server feels unclean
  • Enable changing sort order in tree views (A-Z | Z-A | ??) by clicking column header
  • Show some notification when doing long-running operations i.e. toggle a package with many DEPENDS and the UI blocks without feedback
  • Bitbake reports "ERROR: Nothing to do. Use 'bitbake world' to build everything, or run 'bitbake --help' for usage information." when exiting hob, need to allow UI's to configure whether this message is relevant or not
  • When cancelling build confirm before killing

Phase Three (Unplanned Extra featrues)

  • Display and change IMAGE_FEATURES
  • Enable/Disable layers
  • add context menus to build view
 - view logs
 - show log directory
 - view log for task
 - copy log
 - paste bin log