BitBake/GUI/WorkInProgress: Difference between revisions

From Yocto Project
Jump to navigationJump to search
(→‎Bugs: these issues should be resolved)
Line 7: Line 7:
== M1 (Dev Complete May 23) ==
== M1 (Dev Complete May 23) ==
=== Features ===
=== 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''
* <del>#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''</del>
* <del>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)</del>
* <del>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)</del>
* <del>Distro selector dropdown</del>
* <del>Distro selector dropdown</del>

Revision as of 21:56, 20 June 2011

Intro

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

Screenshot-yHob-240511.png

M1 (Dev Complete May 23)

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)

Features

  • 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
  • Image output type dropdown
    • all possible values for IMAGE_FSTYPES set in class
    • getVariable used to get list, split on " " and put into combobox
  • Fix sorting in Packages treeview. Sorting by group would be enabled here.
    • 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
  • Enable/Disable layers - use configuration writeback support for local.conf changes to also edit/save bblayers.conf changes
    • Properly reload the data when the layers are modified

Bugs

  • Fix reset/build again
    • I think this is caused by the cooker/server exiting on build completion. If so we need to enable the UI to request the server doesn't terminate until it receives a signal of some sort.
  • We need to be able to switch from a stopped/completed build back to the image creation mode.
  • Fix removing *all* packages in sweep

Future (Unplanned extra features - schedule at next map day)

  • Tell the user where the created image is on disk (as a medium term enhancement also allow opening the containing folder, long term allow writing the image to some media)
  • 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
  • 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 GUI to set sstate mirror variable
  • "Overlay" files, extra files to be installed into the rootfs at image generation time
    • Custom ROOTFS_POSTPROCESS_COMMAND
  • Display and change IMAGE_FEATURES
  • Consider a name change, David suggested 'Yocto HOB (Human Oriented Builder)'
  • Consider allowing dragging a package from the list to the contents area
  • Warn when removing the core layers
  • Have build dir be a part of the workspace so that everything done with the GUI tool is part of the same directory.