BitBake/GUI/WorkInProgress

From Yocto Project
Revision as of 22:41, 17 May 2011 by Joshual (talk | contribs) (→‎Features: infrastructure for writeback exists in my dev tree)
Jump to navigationJump to search

Intro

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

Image-creator-proto.png

M1 (Dev Complete May 23)

Bugs

  • Progress bar sits at 0% when using GUI's with none server http://bugzilla.pokylinux.org/show_bug.cgi?id=868
    • May be irrelevant if switching to process.py server in upstream BitBake
    • How does the image creator perform with multiprocessing. Is the ability to request a server from the UI still useful?
    • If switching to upstream BitBake we'll need to ensure xmlrpc is pulled back in
  • Fix reset/build again
    • This is caused by the cooker/server exiting on build completion. Need to enable the UI to request the server doesn't terminate until it receives a signal of some sort.
  • Do sane fallback on images and include extra packages in IMAGE_INSTALL

Investigation

  • Investigate oetypes for listing configuration variables and suggesting appropriate values
    • lib/oe/types.py and typecheck.bbclass
    • Talk to Jeff P re: his requirements
    • Likely should be a separate configuration GUI per discussion with Darren

Features

  • #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 (Liping/Lianhao) - WIP Liping working on a patch set
  • 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 (Liping/Lianhao)
  • Distro selector dropdown
    • as per MACHINE dropdown, partially implemented
  • Build development toolchain checkbox
    • add meta-toolchain to task list
  • Toolchain host combo
    • 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
  • Spinner to set PARALLEL_MAKE
  • Save/load previous configuration
    • 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
  • Config write back - WIP partial implementation of Configurator gobject
    • When the user changes values that could be set in local.conf offer to write those values to save the user from having to change those again in future
  • A search box which does basic find in the currently selected treeview's model (gtk.TreeView.set_search_entry)
    • Could do with a custom gtk.TreeView.set_search_equal_func()

M2 (Dev Complete Jul 4)

  • Optimise, we could probably be faster than ~30s on Single core (dual thread) Core 2 Duo @ 1.8GHz
    • 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.
  • Package format dropdown
    • cooker able to determine classes which are appropriate for the value
    • wrap with command
    • hook up to hob
  • Image output type dropdown
    • cooker able to determine all possible values for a variable
    • wrap with command
    • hook up to hob
  • Sorting in Packages (by Group) column changes when item selected (included value alters sort order)
  • 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 a build, confirm before killing
  • Show contents of images & tasks (per community feedback) http://bugzilla.pokylinux.org/show_bug.cgi?id=991
  • Show more information for selected package (per community feedback) http://bugzilla.pokylinux.org/show_bug.cgi?id=992

M3/Future (Unplanned Extra features - Dev Complete Jul 25)

  • Display and change IMAGE_FEATURES
  • Enable/Disable layers - use configuration writeback support for local.conf changes to also edit/save bblayers.conf changes
  • add context menus to build view
    • view logs
    • show log directory
    • view log for task
    • copy log
    • paste bin log
  • add context menus to package view
    • "Rebuild-from" with a submenu for each task of the build; fetch, unpack, compile, etc.
  • hobhandler as a proxy to the server has a code smell
  • Investigate/verify using the image creator with sstate mirrors (should just work!)
    • Add a GUI to set sstate mirror variable
  • "Overlay" files, extra files to be installed into the rootfs at image generation time
    • Custom ROOTFS_POSTPROCESS_COMMAND