Event information model for Toaster
From Yocto Project
Jump to navigationJump to search
This is the information we need for completing the tables of the Toaster database.
BUILD
- uuid : DONE : unique task id
- target : N/A : # OneToMany to the targets table
- machine : DONE : # index into all the machines that we support ? # we can ask bitbake for the MACHINE variable
- distro : DONE : # variable - DISTRO
- distro_version : DONE : # variable - DISTRO_VERSION
- started_on : DONE # use BuildStarted event
- completed_on DONE # use BuildCompleted event
- outcome : DONE # We can grab this at the end of all commands by checking the errors number or the return value.
- number_of_errors DONE # total number of log events with level of ERROR (see knotty)
- number_of_warnings DONE # total number of log events with level of WARNING (see knotty)
- cpu_usage : N/A # it's in the build stats; we don't have a meaning
- disk_io : N/A # it's in the build stats; we don't have a meaning
- cooker_log_path : DONE # main cooker log - composed of all log events over the set log level (see knotty)
- build_name : DONE # variable - BUILDNAME
- bitbake_version : DONE # variable - BB_VERSION
! This has been removed for the moment -> output : N/A # list of generated files; downloads - please check how Hob does this
TASK
- uuid : DONE -> generated at the beginning of each build.
- order : DONE -> counted on each TaskStarted event
- task_executed : DONE -> set to True for each TaskStarted event
- outcome : DONE -> get from TaskFailed / TaskSucceeded
- sstate_checksum : N/A
- path_to_sstate_obj : N/A
- recipe : DONE -> retrieved from event._package
- task_name : DONE -> retrieved from event._task
- index on recipe / task_name
- source_url : N/A
- log_file: DONE -> TaskFailed event reports this, need to do same for TaskSucceeded OR report it on TaskStarted
- work_directory : DONE -> WORKDIR variable for recipe
- script_type : N/A
- file_path : N/A
- line_number : N/A
- py_stack_trace : N/A
- disk_io : DONE -> gather from buildstats
- cpu_usage : DONE -> gather from buildstats
- elapsed_time : DONE -> difference between started and finished time
- errors_no : N/A
- warnings_no : N/A
- error : N/A
- warning : N/A
- sstate_result : DONE -> get from result of setscene task execution (mapped using sstate_name of task as defined in the metadata)
- diffsigs : N/A [drop this]
TASK DEPENDENCY
- task : N/A
- depends_on : N/A # still a task_id
TARGET
- build : N/A # of build that generated the image
- is_image : N/A
! TBC
ARTIFACT
- build : N/A
- target_id : N/A
- file_name : N/A
- file_size : N/A
PACKAGE IN IMAGE
- package : N/A -> gather from buildhistory?
- target : N/A -> gather from buildhistory?
PACKAGE
- recipe : DONE -> gather from pkgdata # recipe that generated this package
- name : DONE -> gather from pkgdata
- version : DONE -> gather from pkgdata
- size : DONE -> gather from pkgdata
PACKAGE DEPENDENCY
- package : DONE -> gather from buildhistory?
- depends_on : DONE -> gather from buildhistory?
FILELIST
- package : DONE # id in the list of packages
- complete_file_path : DONE -> pkgdata has this
- file_size : DONE -> this will need to be gathered at package time. Perhaps pkgdata should be extended to reformat the file listing such that we can also include sizes.
RECIPE
- This information will need to be read in the same manner that hob reads it
- name : N/A
- version : N/A
- layer : DONE -> determine from longest path match in BBLAYERS
- summary : N/A
- description : N/A
- section : N/A ?
- license : N/A
- licensing info: N/A ?
- homepage : N/A ?
- bugtracker : N/A ?
- author : N/A # drop this, it's not consistently available
- file_path : N/A ?
RECIPE DEPENDENCY
- recipe : DONE -> FK to recipe
- depends_on : N/A -> determine from DEPENDS variable (see above)
LAYER
- name : DONE -> just take the directory name
- local_path : DONE -> get from BBLAYERS or look at how do_show_layers works in bitbake-layers
- layer_index_url: DONE -> we may have to guess this based on the name if we must include it since this info is not stored explicitly anywhere
! TBC
BUILD_LAYER
- build : DONE -> FK to build
- layer : DONE -> FK to layer (auto-created if it doesn't exist)
- branch : DONE -> will need to query git for this (as get_layers_branch_rev() in classes/base.bbclass does)
- commit : DONE -> see above
- priority : DONE -> look at how do_show_layers works in bitbake-layers
VARIABLE
- build : DONE -> FK to build
- variable_name : DONE -> need to run equivalent of bitbake -e
- variable_value : DONE -> need to run equivalent of bitbake -e
- file : DONE -> need to run equivalent of bitbake -e with history enabled # a single file name where the variable is set
- changed : N/A # needs design clarification - it's not really practical to calculate this as a boolean
- human_readable_name : DONE -> get from documentation.conf (will need updating)
- description : N/A # Drop this, we will provide a link to the variable glossary in the manual based on the name
MACHINE
- name : N/A -> MACHINE variable
- description : DONE -> probably need to extract this from the machine .conf file as the OE layer index does