summaryrefslogtreecommitdiffstats
path: root/bitbake/bin/toaster
Commit message (Collapse)AuthorAgeFilesLines
* bitbake: toaster: improve logging facilities for toasterAlexandru DAMIAN2015-02-101-7/+34
| | | | | | | | | | | | | | | | | | | This patch improves the logging facilities for toaster in order to help diagnose bugs that happen on user machines. The logs are stored now under "/tmp/toaster_$$" where $$ is a PID-based unique identifier. On shutdown, toaster will automatically erase all logs unless errors are listed in the log file. On error, Toaster provides suggestions on what to do. This patch includes a minor fix found as a result of logging improvements. (Bitbake rev: 8a8248f7b7e30469f592e2f8adbf6ce21e8685c5) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: enhancements for the startup sequenceAlexandru DAMIAN2015-02-101-11/+26
| | | | | | | | | | | | | | | | | | | This patch brings fixes and enhancements in the startup sequence. - the dependency version checking is now correctly enforced when starting in both modes - fixed errors in looking up environment variables - added message with 'daemon' program start location - presenting menu for selecting config file [YOCTO #7283] [YOCTO #7291] [YOCTO #7273] (Bitbake rev: c5ddd9d88910857a1b745b1c237df0390dd56835) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: correct typo in toaster scriptBelen Barros Pena2015-02-101-2/+2
| | | | | | | | | | A small typo slipped in the message included in the fix for [YOCTO #6023]. (Bitbake rev: f28fb3d660d8726b75e6c31fa36bc22b54e1bca7) Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: proper setup for build configurationAlexandru DAMIAN2015-02-021-0/+5
| | | | | | | | | | | | | | | This patch makes sure that all the toaster conf files are actually written from the build enviroment controllers. Additionally, toaster checks that the 'daemon' program, which is used to start the build system, is available (currently for localhost). [YOCTO #7171] (Bitbake rev: 0a1db7d1531f8254955e1152bcd8e6db4ec1d277) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: update texts for the startup sequenceAlexandru DAMIAN2015-01-301-3/+3
| | | | | | | | | | | | | | | This patch updates the prompts to the user to better explain what Toaster is doing and the information it needs from the user. Additionally, fixes a check in loadconf command. [YOCTO #6785] [YOCTO #7251] (Bitbake rev: 90ef8975f35e2da824bc1c80e41ca26d9af0b208) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: do not launch web browser on noweb optionAlexandru DAMIAN2015-01-081-2/+5
| | | | | | | | | | | | | | | This patch makes Toaster managed mode obey the "noweb" parameter by not starting the web server and launching the web browser command if the "noweb" parameter is specified. The web browser will be pointed at 127.0.0.1 instead of 0.0.0.0 [YOCTO #7039] (Bitbake rev: 4037f8b08bc9fb5c4c9f260efb847105be718a32) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: write pre-read conf file for build variablesAlexandru DAMIAN2015-01-081-1/+5
| | | | | | | | | | | | | | | We change the setting of variables from directly injection into the set-up cooker to writing a conf file that is pre-read on bitbake server startup. This is needed because the injection can only happen after the variable set is parsed, and the variables already inferred, so setting up variables happens too late. [YOCTO #7045] (Bitbake rev: 854f680b5b9d2d0fa796af84cb1218545fbfc55a) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toastergui: layer name correlationAlexandru DAMIAN2014-11-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | This patch modifies how layers are identified and matched. Layers were primarely organized by the source of layer information, and Releases were separated by both layer git branches and originating source of layer information. This setup prevented mixing layers from different sources for a certain release, which didn't match the way people use Yocto Project / bitbake. This patch brings name-based indentification, where layers with the same name are assumed to be equivalent, in the sense of being able to substitute one another. To facilitate this identification to humans, layers are differentiated by GIT URI instead of layer sources, which was a rather arbitrary abstraction. Additional changes include modification to models in order accomodate for the new data structure, and to config file loading to match the new toasterconf.json layout. (Bitbake rev: 4357200aed522ad56cfd84917f877645b83b6a70) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: fix file name collisionBelen Barros Pena2014-11-211-1/+1
| | | | | | | | | | | | When toaster is used by multiple users on the same machine, it is possible that files in /tmp have a name race. This patch makes sure that the files have unique names. (Bitbake rev: d4a47bc84f762666a847f1152cc2e75c9ef36092) Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster script: webport option and other improvementsAlexandru DAMIAN2014-11-121-43/+53
| | | | | | | | | | | | | | | | | | | | | | | | | We add the "webport=" command line option as to allow starting the web server on a custom port. The bitbake server port is now auto-allocated. This is needed to be able to run multiple toaster environments on a single machine. We tackle bug 6023 (toaster refusing to start when lock file is present) by using more specific checks, and automatically recover from bitbake server down / webserver up error mode. Command line parameters are now read on both interactive and managed modes. The localhost and ssh controllers are updated to work with the modified toaster launcher script. [YOCTO #6023] (Bitbake rev: cd3eb5b051743463cfe51dba97cae4da75420048) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: clarify startup messageAlexandru DAMIAN2014-10-301-0/+2
| | | | | | | | | | Fix the startup message by making clear which server runs on which port. (Bitbake rev: 26d601ab2a677a422bab425696a2cf6357ff3576) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: change startup parameter passing to avoid raceAlexandru DAMIAN2014-10-301-3/+10
| | | | | | | | | | | | | | We avoid a race between the setting the TOASTER_BRBE variable and reading the variable in toaster ui by supplying the variable at server startup time through the toaster.conf post-read file. Additional small changes are included, including marking the build request with the environment id of where the build took place. (Bitbake rev: 7c333350418c4140e6c988c5272940f8057d327d) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: bitbake server listen on all interfaceAlexandru DAMIAN2014-09-051-3/+3
| | | | | | | | | | | | | We change the toaster starting script to make the bitbake server listen on all interfaces on the local machine. This is needed to be able to receive a controlling client running on a remote machine. (Bitbake rev: 137179eafca8d1a5a69b6302f8cc8961be3b45c4) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: update checksettings command for auto-detectionAlexandru DAMIAN2014-08-291-3/+6
| | | | | | | | | | | | | | | | | We enhance the checksettings command to try to automatically detect settings for running on localhost. The checksettings will look for a nearby poky layer source, for a nearby build directory, and will try to import settings from "toasterconf.json" files found in the local layer. On new configuration, it will also perform updates from the layer source. (Bitbake rev: 2aab77dfccb538e2b09829841ea6c464d40cafb1) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster-requirements.txt: document requirements for the python ↵Alexandru DAMIAN2014-07-231-8/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | environment Since Toaster adds a number of specific requirements managed by pip, we document these requirements in order to be able to run bitbake and toaster under virtualenv. The target here is to break the dependency on distro packages for specific python libraries. In order to start bitbake/Toaster in a distro-independent manner, we use virtualenv and pip. We add venv to the .gitignore list to make room for the virtualenv deployment in this directory. Use this command sequence to setup the virtualenv: $ virtualenv venv $ . venv/bin/activate $ cat toaster-requirements.txt | xargs pip install bitbake and Toaster will then run normally under virtualenv. We also fix bugs related to toaster starting in managed mode through this script: * toaster will not use bldcontrol application in interactive mode * a proper message will be displayed if toaster detects a managed start request in a build environment (Bitbake rev: b5789c7ea7e6d1a4b67ec60fc0e4233ec543ba3a) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: add fields for sourcedir and builddir pathsAlexandru DAMIAN2014-07-231-0/+1
| | | | | | | | | | | | | | | | | | We add explicit absolute paths for a directory where the layer sources will be checked out (sourcedir) and where the build activities will take place. Adding minimal checking when starting the application in order to make sure that BuildEnvironment (BE) settings are usable. This check is ran by the toaster script at startup. Modify the localhost bbcontroller to use the BE settings instead of trying to self-configure on checked out sources. (Bitbake rev: d17500d3f73fdeeef5f11fb3773a65e927be3f02) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: add project pagesAlexandru DAMIAN2014-07-141-0/+1
| | | | | | | | | | | | | | We add the new project and project page skeletons. In the process, we add an identifier in the settings.py to detect whenever Toaster is running in managed mode, and a context processor to make this value available to the template processor. (Bitbake rev: 927a27c68e24cfe13f62ca5f0e60878b04fa4e24) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: build control functionalityAlexandru DAMIAN2014-06-131-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We add the build control functionality to toaster. * The bldcontrol application gains bbcontroller classes that know how to manage a localhost build environment. * The toaster UI now detects it is running under build environment controller, and update the build controller database and will shut down the bitbake server once the build is complete. * The toaster script can now run in standalone mode, launching the build controller and the web interface instead of just monitoring the build, as in the interactive mode. * A fixture with the default build controller entry for localhost is provided. [YOCTO #5490] [YOCTO #5491] [YOCTO #5492] [YOCTO #5493] [YOCTO #5494] [YOCTO #5537] (Bitbake rev: 10988bd77c8c7cefad3b88744bc5d8a7e3c1f4cf) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: create models for bldcontrol and enable itAlexandru DAMIAN2014-06-131-1/+1
| | | | | | | | | | | | | | | | | | | We create the model classes that store information about triggering builds, and the available build environments. We add a fixture with a default build environment for build control, using a "build/" directory under the poky checkout directory. We enable the bldcontrol in toaster starting script and in the toaster settings as to allow the actual database to be kept in sync with the source code. (Bitbake rev: d4bfe9059f765f11244b97e324c0131f32f8e400) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: comment out bldcontrol migration commandAlexandru DAMIAN2014-06-111-1/+1
| | | | | | | | | | | | | | This fixes toaster startup failing after the preparatory patches for bldcontrol application have been merged. I slipped a bldcontrol-specific line into the toaster startup script and this prevents toaster from starting. We comment out this line until the bldcontrol application have been merged. (Bitbake rev: d095eec6fc958d0aeb514cdc206734617fd7c930) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: startup script standalone modeAlexandru DAMIAN2014-06-061-6/+46
| | | | | | | | | | | | | | | | | The toaster starter script was designed to be sourced in a build environment and set up the build recording environment to be used in an interactive mode. For the standalone web server mode, we modify the toaster script to be run directly from the checked-out sources, without a build environment set up, and run the web server alone. In the standalone mode, the build environemnts and all build activities are controled through the web interface. (Bitbake rev: c1db4ccf27bedcbab2f03e7539fdb11b042c4fb9) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: startup script noweb modeAlexandru DAMIAN2014-06-061-1/+5
| | | | | | | | | | | | | We add an option to the startup script, named "noweb" that will start toaster without the embedded web server. This is useful to start the system for build-only environments, where the web server code is running on a different machine. (Bitbake rev: c39838201301b9732581288a93783400bebe6591) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: toaster: do not trap SIGCHLDAlexandru DAMIAN2014-03-301-2/+2
| | | | | | | | | | We remove trapping SIGCHLD due to a weird interaction with the bash version used with Ubuntu 14.04 LTS. (Bitbake rev: 59f2f33440449c586c23dd3a192698a37aaf0595) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: clean exit on bb server shutdownAlexandru DAMIAN2014-03-251-2/+26
| | | | | | | | | | | | This patch adds the capability to have the Toaster UI detect when the Bitbake server exited and cleanly trigger a clean shutdown of the system through the toaster starting script. (Bitbake rev: a9cfa3eacfc99550e1ad3f8bb61b2a0bc9b44332) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: erase checks for stop commandAlexandru DAMIAN2014-03-111-15/+2
| | | | | | | | | | | | | We remove the checks for the stop command, since we assume the user really means it wants to shutdown the system when he issues the command. [YOCTO #5376] (Bitbake rev: 5d6594de8876be8ce4df56b846fee0fc687a6261) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: add two-stage commit startup logicAlexandru DAMIAN2014-01-071-10/+35
| | | | | | | | | | | | | | | | | Toaster start script lunches multiple process components of the toaster system. This patch adds logic into the startup script to safely fail startup and do proper cleanup on any error that may happen during system start. Bitbake needs to return 0 if it will successfully lunches the server-mode. (Bitbake rev: f43d284e7ae752049711d8215a6020bee6966d45) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: migrate orm models to SouthAlexandru DAMIAN2013-12-101-1/+15
| | | | | | | | | | | | | | | | | | As Toaster advances, database schema alteration will force users to delete old versions and lose all data collected. In order to prevent this, and to allow database updates to happen without having to delete old data, we use South to handle migrations for the ORM application which stores the Toaster data. [YOCTO #5559] (Bitbake rev: 6936faed8d94f3a2ab4055049cd27d02d8229003) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: update to Django 1.5Alexandru DAMIAN2013-12-101-2/+2
| | | | | | | | | | | | | | | | | | | | In order to remain up to date with the relevant technologies, Toaster is updated with this patch to Django 1.5. This also makes headways to allow usage of emerging Django-related technologies. Changes include the startup script Django version check, usage of TemplateView instead of deprecated simple function to do redirects, and update to the new form of the _url_ template tag. Support for Django 1.4.5 is now deprecated. [YOCTO #5558] (Bitbake rev: 2d37a1731a2b681bc976f3f391d65abb7745b6f9) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: enable required classes in the toaster startup scriptAlexandru DAMIAN2013-11-041-2/+10
| | | | | | | | | | | | | | | | In order to use toaster, now you have to set INHERIT+="toaster buildhistory" To keep it simple, I've done some changes in order to automate it. When toaster is started, this line is added to a new file called toaster.conf. This file is passed to the bitbake server with the --postread parameter. Based on a patch by Cristiana Voicu <cristiana.voicu@intel.com> (Bitbake rev: 029e868044989eda370340f8bf4200cfd2670fca) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: server shutdown on terminal exitAlexandru DAMIAN2013-11-041-9/+20
| | | | | | | | | | | | | | | | | If the terminal where the server was started is closed, the bitbake server should shutdown. Currently the system is left in hanging state. This patch uses "trap" command to make sure the servers are closed on terminal exit. [YOCTO #5376] (Bitbake rev: 5f8b97010f7b465753b6ff6275d18426006ee14b) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: add toaster code to bitbakeAlexandru DAMIAN2013-10-181-0/+145
This patch adds the Toaster component to Bitbake. Toaster is a module designed to record the progress of a Bitbake build, and data about the resultant artifacts. It contains a web-based interface and a REST API allowing post-facto inspection of the build process and artifacts. Features present in this build: * toaster start script * relational data model * Django boilerplate code * the REST API * the Simple UI web interface This patch has all the development history squashed together. Code portions contributed by Calin Dragomir <calindragomir@gmail.com>. (Bitbake rev: d24334a5e83d09b3ab227af485971bb768bf5412) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>