]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/log
thirdparty/openembedded/openembedded-core-contrib.git
10 years agotoasterui: fix variable data error
Alexandru DAMIAN [Wed, 14 Jan 2015 12:46:55 +0000 (12:46 +0000)] 
toasterui: fix variable data error

A bug slipped in the toaster ui that prevented saving of
build configuration despite the data being retrieved
from the server. This patch fixes the shaming mistake.

[YOCTO #7117]

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agotoastergui: all builds page lists failed build requests
Alexandru DAMIAN [Wed, 14 Jan 2015 12:46:54 +0000 (12:46 +0000)] 
toastergui: all builds page lists failed build requests

This patch modifies the all builds page by splitting the page
into two variants - the "interactive" (default) and "managed" mode
versions.

In the "managed" mode version, we display build requests instead of
builds, including the failed build requests that have no build
associated with them.

[YOCTO #6671]

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agotoaster: layerdetails Remove compatibility setting
Michael Wood [Wed, 14 Jan 2015 12:46:53 +0000 (12:46 +0000)] 
toaster: layerdetails Remove compatibility setting

Remove the layer compatibility configuration option from the layer
details as this is not in the design.

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agotoaster: Add layer details page feature
Michael Wood [Wed, 14 Jan 2015 12:46:52 +0000 (12:46 +0000)] 
toaster: Add layer details page feature

This commit adds the layer details page which shows the metadata for the
layer such as layer description, machines associated with the layer as well
as the targets provided.
If the layer is an imported layer this page also allows you to update
the layer's configuration.
>From this page you can add/remove the layer from the current project

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agoConfHandler: Clean up bogus imports
Richard Purdie [Thu, 15 Jan 2015 09:42:23 +0000 (09:42 +0000)] 
ConfHandler: Clean up bogus imports

The import statements here are plain bizarre. Remove them, tweaking
some of the function calls to match current practices. I can't find any
reason these old imports are as they are.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agoConfHandler: Rename oldfn to parentfn to be clearer
Richard Purdie [Thu, 15 Jan 2015 09:41:23 +0000 (09:41 +0000)] 
ConfHandler: Rename oldfn to parentfn to be clearer

Looking at this function I had no idea what oldfn was, I doubt anyone
else would either without looking up what the caller does. "parentfn"
would seem a more appropriate name so rename it.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agocooker: Improve pyinotify performance
Richard Purdie [Thu, 15 Jan 2015 09:39:34 +0000 (09:39 +0000)] 
cooker: Improve pyinotify performance

Benchmarks show that the introduction of pyinotify regressed
performance. This patch ensures we only call the add_watch() function
for new entries, not ones we've already processed which does improve
performance as measured by "time bitbake -p".

This doesn't completely remove the overhead but it does substantially
reduce it.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agocooker: Fix pyinotify handling of ENOENT issues
Richard Purdie [Wed, 14 Jan 2015 12:18:27 +0000 (12:18 +0000)] 
cooker: Fix pyinotify handling of ENOENT issues

We try and add watches for files that don't exist but if they did, would influence
the parser. The parent directory of these files may not exist, in which case we need
to watch any parent that does exist for changes. This change implements that fallback
handling.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agocooker/cache/parse: Implement pyinofity based reconfigure
Richard Purdie [Tue, 13 Jan 2015 14:13:53 +0000 (14:13 +0000)] 
cooker/cache/parse: Implement pyinofity based reconfigure

Memory resident bitbake has one current flaw, changes in the base configuration
are not noticed by bitbake. The parsing cache is also refreshed on each invocation
of bitbake (although the mtime cache is not cleared so its pointless).

This change adds in pyinotify support and adds two different watchers, one
for the base configuration and one for the parsed recipes.

Changes in the latter will trigger a reparse (and an update of the mtime cache).
The former will trigger a complete reload of the configuration.

Note that this code will also correctly handle creation of new configuration files
since the __depends and __base_depends variables already track these for cache
correctness purposes.

We could be a little more clever about parsing cache invalidation, right now we just
invalidate the whole thing and recheck. For now, its better than what we have and doesn't
seem to perform that badly though.

For education and QA purposes I can document a workflow that illustrates this:

$ source oe-init-build-env-memres
$ time bitbake bash
[base configuration is loaded, recipes are parsed, bash builds]
$ time bitbake bash
[command returns quickly since all caches are valid]
$ touch ../meta/classes/gettext.bbclass
$ time bitbake bash
[reparse is triggered, time is longer than above]
$ echo 'FOO = "1"' >> conf/local.conf
$ time bitbake bash
[reparse is triggered, but with a base configuration reload too]

As far as changes go, I like this one a lot, it makes memory resident bitbake
truly usable and may be the tweak we need to make it the default.

The new pyinotify dependency is covered in the previous commit.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agobitbake: Add pyinotify to lib/
Richard Purdie [Tue, 13 Jan 2015 14:11:36 +0000 (14:11 +0000)] 
bitbake: Add pyinotify to lib/

We need inotify support within bitbake and pyinotify provides the best
mechanism to add this. We have a few options:

a) Depend on pyinotify from the system
b) Add in our own copy
c) Only use pyinotify in cases like the memory resident server

For a), it would mean adding in dependencies, updating documentation and
generally creating churn for users as well as having implications for things
like the build-appliance recipe.

It turns out that glibc has the C functionality we need from version 2.4
onwards (2006) and that we just need a single python file for b), there
is no binary module needed. We therefore add in a copy of pyinotify 0.9.5
into the tree meaning we can depend on it simply and unconditionally.

c) is unattractive as we need fewer possible code paths, not more.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agobb/fetch2/ssh.py: Fix urldata.localpath use os.path.normpath
Aníbal Limón [Tue, 13 Jan 2015 00:36:13 +0000 (18:36 -0600)] 
bb/fetch2/ssh.py: Fix urldata.localpath use os.path.normpath

When urls ends with trailing slash os.path.basename return "" [1]
and built urldata.localpath only with DL_DIR, it causes that
donestamp is built as DL_DIR + '.done' and seems that ssh resource
was already download.

[YOCTO #6448]

[1] https://docs.python.org/2/library/os.path.html#os.path.basename

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agofetch/git: Improve ls-remote handling for latest_revision
Richard Purdie [Thu, 8 Jan 2015 20:57:45 +0000 (20:57 +0000)] 
fetch/git: Improve ls-remote handling for latest_revision

Currently the code ignores lightweight tags which has caused some user
complaints. We can't put the right search list in place easily since
the results don't come back in a good order, head happens to sort
before tags.

In the end I refactored the function so we get the complete list of
remotes and then we can filter it ourselves in the order we chose,
including checking for light weight tags, preferring the proper ones.

Hopefully this resolves the issues people have been seeing.

[YOCTO #6881]

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agotoaster: implementation of project page
Alexandru DAMIAN [Thu, 8 Jan 2015 13:15:14 +0000 (13:15 +0000)] 
toaster: implementation of project page

This patch brings the project page in line with the design,
including build error handling and suggestions.

Includes some refactoring for already existing code.

[YOCTO #6587]

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agotoaster: branch name priority resolution
Alexandru DAMIAN [Thu, 8 Jan 2015 13:15:13 +0000 (13:15 +0000)] 
toaster: branch name priority resolution

Adding a Layer_Version function that gets back the
branch name that should be used/displayed for finding the
targeted git branch name.

Change the commit id to use the branch name instead of the
last-updated commit hash from the layer source.

[YOCTO #7031]

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agotoaster: do not launch web browser on noweb option
Alexandru DAMIAN [Thu, 8 Jan 2015 13:15:12 +0000 (13:15 +0000)] 
toaster: do not launch web browser on noweb option

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]

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agotoaster: write pre-read conf file for build variables
Alexandru DAMIAN [Thu, 8 Jan 2015 13:15:11 +0000 (13:15 +0000)] 
toaster: write pre-read conf file for build variables

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]

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agotoaster: Improve client side error handling
Michael Wood [Thu, 8 Jan 2015 13:15:10 +0000 (13:15 +0000)] 
toaster: Improve client side error handling

Make use of the toastermain.settings.DEBUG flag to toggle the client
side error logging. Make the error logging consistent by using
console.warn/error across the project, this adds traceability to the
warnings. Also handles the case where console is not available by
stubbing it in libtoaster.

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agoast: Add error when trying to use dash in sh function names
Richard Purdie [Thu, 8 Jan 2015 10:35:16 +0000 (10:35 +0000)] 
ast: Add error when trying to use dash in sh function names

A dash character is illegal in function names in sh (but not bash). Since
our shell tasks run under sh and the shell parser is sh based, EXPORT_FUNCTIONS
won't work with class names containing a dash.

We can't change sh, we can ensure the user is warned about the problem
straight away though.

[YOCTO #7006]

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agocache/fetch2/siggen: Ensure we track include history for file checksums
Richard Purdie [Mon, 8 Dec 2014 21:25:23 +0000 (21:25 +0000)] 
cache/fetch2/siggen: Ensure we track include history for file checksums

Currently, if you reference a file url, its checksum is included in the
task hash, however if you change to a different file at a different
location, perhaps taking advantage of the FILESPATH functionality, the
system will not reparse the file in question and change its checksum to
match the new file.

To correctly handle this, the system not only needs to know if the
existing file still exists or not, but also check the existance
of every file it would have looked at when computing the original file.

We already do this in the bitbake parsing code for class inclusion. This
change uses the same technique to log the file list we looked at and
if files in these locations exist when they previously did not, to
invalidate and reparse the file.

Since data stored in the cache is flattened text, we have to use a string
form of the data and split on the ":" character which is ugly, but is
an internal detail we can improve later if a better method is found.

The cache version changes to trigger a reparse since the previous
cache data is now incompatible.

[YOCTO #7019]

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agowget: Add localpaths method which gives localpath with history
Richard Purdie [Mon, 8 Dec 2014 21:22:26 +0000 (21:22 +0000)] 
wget: Add localpaths method which gives localpath with history

In some cases for cache purpoes we not only need to know which file
is going to be used but also which paths were considered. Add a
localpaths method which includes the history.

The core which() funciton already supports this, this just extends
the function to preserve the extra data we need. localpath becomes
just a special case of the case with history.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agobitbake-worker: Use setsid() rather than setpgid()
Richard Purdie [Mon, 8 Dec 2014 21:31:56 +0000 (21:31 +0000)] 
bitbake-worker: Use setsid() rather than setpgid()

The bug has a long discussion of this. Basically, in some environments,
the exact details of which aren't understood, a Ctrl+C signal to the
UI is being transmitted to all the process children. Looking at the output
of "ps ax -O tpgid", its clear the main process is still the terminal
owner of these processes.

stty -a on a problematic system shows: "-ignbrk brkint"
and on a working system shows: "-ignbrk -brkint"

The description of brkint would suggest this is the problem, setting up
that terminal environment wasn't able to reproduce the problem though.
It was confirmed that using setsid() caused the problem to be resolved
and is probably the right thing to be doing anyway, so lets do it.

[YOCTO #6949]

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agocooker: Shut down the parser in error state
Richard Purdie [Thu, 8 Jan 2015 09:41:03 +0000 (09:41 +0000)] 
cooker: Shut down the parser in error state

If the cooker is in an error state, we shouldn't continue to try parsing.
This fixes an issue where an invalid PR server is detected when bitbake
is started and ensures bitbake exits cleanly rather than hanging.

[YOCTO #6934]

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agoutils: make edit_metadata_file() handle VARIABLE +=
Paul Eggleton [Mon, 29 Dec 2014 11:14:27 +0000 (11:14 +0000)] 
utils: make edit_metadata_file() handle VARIABLE +=

This is a little crude as the usage basically ignores that you're doing
an append operation, but for a lot of cases it will be sufficient.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agobitbake-layers: fix error handling in add-layer / remove-layer
Paul Eggleton [Mon, 29 Dec 2014 11:14:26 +0000 (11:14 +0000)] 
bitbake-layers: fix error handling in add-layer / remove-layer

* Fix add-layer error message when a layer is already in BBLAYERS
* Ensure we show an error message if we can't find BBLAYERS at all

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agofetch2/wget: Fix horrible temp file handling
Richard Purdie [Tue, 23 Dec 2014 12:32:36 +0000 (12:32 +0000)] 
fetch2/wget: Fix horrible temp file handling

Hardcoding a temp directory is bad practice and leads to races between
the tests. There is no longer any good reason for doing this, drop it
and ensure the files get cleaned up correctly.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agotests/data: Add a key deletion test
Richard Purdie [Tue, 23 Dec 2014 12:33:48 +0000 (12:33 +0000)] 
tests/data: Add a key deletion test

If you copy the datastore, then delete a key, it should not exist in
d.keys(). This adds a test to cover the recently found data store bug.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agotests/fetch: Add versionstring tests to network tests list, fix print()
Richard Purdie [Tue, 23 Dec 2014 12:33:10 +0000 (12:33 +0000)] 
tests/fetch: Add versionstring tests to network tests list, fix print()

The versionstring tests hit the network so should only run when
network tests are enabled.

Also remove the print statement which confuses the test output and
add it to the test failure message instead.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agodata_smart: Ensure d.keys() doesn't list deleted variables
Richard Purdie [Tue, 23 Dec 2014 12:32:06 +0000 (12:32 +0000)] 
data_smart: Ensure d.keys() doesn't list deleted variables

If you copy the datastore, then delete a variable, it still shows up
in d.keys() when it should not. This patch addresses the issue.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agobb/fetch2/wget.py: latest_versionstring fix multithread and remove deprecated code
Aníbal Limón [Thu, 18 Dec 2014 23:58:57 +0000 (17:58 -0600)] 
bb/fetch2/wget.py: latest_versionstring fix multithread and remove deprecated code

In order to fix multithread usage of latest_versionstring moves package_custom_regex_comp
from class to method level because need to be defined by package.

Remove code for build url's with /download suffix because it's deprecated since you can
specify the download directory using package_regex.inc file.

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agoui/ncurses: Update ncurses ui to accept configParams
Andy Voltz [Fri, 19 Dec 2014 16:31:37 +0000 (11:31 -0500)] 
ui/ncurses: Update ncurses ui to accept configParams

Signed-off-by: Andy Voltz <andy.voltz@timesys.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agocooker: add ability to ignore unmatched regexes in BBFILE_PATTERN
Paul Eggleton [Fri, 19 Dec 2014 10:20:32 +0000 (10:20 +0000)] 
cooker: add ability to ignore unmatched regexes in BBFILE_PATTERN

Add a BBFILE_PATTERN_IGNORE_EMPTY variable to allow ignoring the fact
that a regex specified in BBFILE_PATTERN for a particular collection
doesn't match any recipes. This will be used in OpenEmbedded in the
workspace layers created by "devtool" which may not always contain any
recipes (which is not cause for warning the user).

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agobitbake-layers: add commands for adding and removing layers
Paul Eggleton [Fri, 19 Dec 2014 10:20:31 +0000 (10:20 +0000)] 
bitbake-layers: add commands for adding and removing layers

Add add-layer and remove-layer commands for easily adding and removing
layers to/from bblayers.conf.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agoutils: add basic metadata manipulation functions
Paul Eggleton [Fri, 19 Dec 2014 10:20:30 +0000 (10:20 +0000)] 
utils: add basic metadata manipulation functions

* Add a generic edit_metadata_file() function to modify variable
  assignments in any metadata file (conf, bb, bbappend) using a callback
  for flexibility
* Add a specific edit_bblayers_conf() function to modify
  conf/bblayers.conf and add and/or remove layers from the BBLAYERS
  value within it.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agosiggen: ensure nostamp tasks force dependent tasks to re-execute
Paul Eggleton [Fri, 19 Dec 2014 10:20:29 +0000 (10:20 +0000)] 
siggen: ensure nostamp tasks force dependent tasks to re-execute

If a nostamp task is depended on by a non-nostamp task, then we want the
signature of that task to change such that it re-executes afterwards.
This is an unusual situation, but we want this to work in OE in
externalsrc.bbclass so that compilation happens every time it is
requested.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agodata: escape '$' in shell variable assignment
Richard Tollerton [Thu, 18 Dec 2014 01:11:18 +0000 (19:11 -0600)] 
data: escape '$' in shell variable assignment

Running bitbake inside make results in the exported environment variable
MAKEOVERRIDES="${-*-command-variables-*-}", which the shell chokes on
when trying to expand it. But of course, it probably shouldn't have been
trying to expand it in the first place -- so just escape the dollar
sign.

Signed-off-by: Richard Tollerton <rich.tollerton@ni.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agotoaster: importlayer Tidy up the page initialisation
Michael Wood [Thu, 11 Dec 2014 14:17:10 +0000 (14:17 +0000)] 
toaster: importlayer Tidy up the page initialisation

Tidy up the page initialisation and change the error logging so that
it's consistent with other pages.

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
10 years agotoaster: Change the full stop to a colon
Belen Barros Pena [Mon, 8 Dec 2014 16:11:45 +0000 (16:11 +0000)] 
toaster: Change the full stop to a colon

In the import layers notification for multiple layers
there was a full stop where there should be a colon.

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
10 years agotoaster: Formatting changes to error messages
Belen Barros Pena [Fri, 5 Dec 2014 11:26:29 +0000 (11:26 +0000)] 
toaster: Formatting changes to error messages

Just giving a bit of space to the content of the error
messages we show when you try to import a layer that
already exists.

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
10 years agotoaster: projectapp Add links to the imported layers notify
Michael Wood [Mon, 8 Dec 2014 15:29:01 +0000 (15:29 +0000)] 
toaster: projectapp Add links to the imported layers notify

Adds links to layer details for each of the layers that has been added
to the project.

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
10 years agotoaster: importlayer Avoid namespace clash with layer name
Michael Wood [Mon, 8 Dec 2014 15:26:27 +0000 (15:26 +0000)] 
toaster: importlayer Avoid namespace clash with layer name

This was causing validation issues as the layer name was being picked up
from a different location in the dom.

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
10 years agotoaster: Importlayer add notify exactly which layers changed
Michael Wood [Fri, 5 Dec 2014 17:25:51 +0000 (17:25 +0000)] 
toaster: Importlayer add notify exactly which layers changed

This changes when the dependencies are added to the project so that we
can know which ones were successfully added by waiting for the server to
respond with a list. This is more reliable because we may have specified
dependencies which are already in the project.

To pass this information to the project page a temporary cookie is used
with the values for the notification.

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
10 years agotoaster: tweaking the import layers form
Belen Barros Pena [Tue, 2 Dec 2014 17:28:56 +0000 (17:28 +0000)] 
toaster: tweaking the import layers form

This commit makes the following changes to the import
layers form:

* In the explanatory text at the top of the page, show only
the release description (to match the information shown in all
other pages)

* Make sure the spacing between form fields and labels is
consistent across the form

* Change the 'Branch, tag or commit' label to 'Revision'
and add some help text to the label

* Change the help text and the input type in the layer
 description

* Change the help text next to the form actions to match
the new field ordering in the form

Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
10 years agotoaster: Add import layer feature.
Michael Wood [Fri, 28 Nov 2014 20:12:18 +0000 (20:12 +0000)] 
toaster: Add import layer feature.

This feature allows users to import layers from git into their current
project and associate it with the release of the current project and the
dependencies for the newly imported layer with existing layers.
It will also resolve the child dependencies of the dependencies added.

[YOCTO #6595]

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
10 years agotoasterui: refactor project layer finding logic
Alexandru DAMIAN [Wed, 3 Dec 2014 13:55:19 +0000 (13:55 +0000)] 
toasterui: refactor project layer finding logic

This is a basic refactoring of the code computing
the layer equivalence classes for a project, in order to
bring common bits of logic in a single place.

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
10 years agotoaster: libtoaster Add editProject and getLayerDepsForProject
Michael Wood [Wed, 26 Nov 2014 15:06:47 +0000 (15:06 +0000)] 
toaster: libtoaster Add editProject and getLayerDepsForProject

Add two utility functions for editing project settings and returning the
layer "dependencies" for a specified layer.

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
10 years agotoaster: libtoaster Add a error handler to GET in makeTypehead
Michael Wood [Wed, 26 Nov 2014 15:05:07 +0000 (15:05 +0000)] 
toaster: libtoaster Add a error handler to GET in makeTypehead

If the JSON data comes back from the request with an error set, have a
default handler which logs the error to the console.

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
10 years agotoaster: Initialise the 'change' icon tooltips
Belen Barros Pena [Wed, 3 Dec 2014 13:57:30 +0000 (13:57 +0000)] 
toaster: Initialise the 'change' icon tooltips

All 'change' icons should have a tooltip that appears
when you hover over them. The tootlip says (fittingly):
"Change". Initialise those icons in the libtoaster.js
file so that they work outside the project page.

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
10 years agotoaster: base Only show change project icon when > one project
Belen Barros Pena [Wed, 3 Dec 2014 13:53:34 +0000 (13:53 +0000)] 
toaster: base Only show change project icon when > one project

In the new build button, it only makes sense to change
the selected project when there is more than one project
in the Toaster instance. If the number of projects is 1,
we hide the change project icon.

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
10 years agoadd POST endpoint for uploading eventlog files
Alexandru DAMIAN [Tue, 9 Dec 2014 14:19:23 +0000 (14:19 +0000)] 
add POST endpoint for uploading eventlog files

This patch adds a simple UI-less POST endpoint, where
bitbake_eventlog.json files generated by a bitbake run can be
uploaded to the running toaster instance for insertion into
the database.

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
10 years agotoastergui: implement UI changes to allow file download
Alexandru DAMIAN [Fri, 5 Dec 2014 15:19:55 +0000 (15:19 +0000)] 
toastergui: implement UI changes to allow file download

This patchset adds download links in the build analisys pages
if toaster runs in managed mode. This allows the user to access
data directly from the web interface.

[YOCTO #6837]

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
10 years agoadd option to write offline event log file
Alexandru DAMIAN [Tue, 9 Dec 2014 11:57:38 +0000 (11:57 +0000)] 
add option to write offline event log file

This patch adds a "-w/--write-log" option to bitbake
that writes an event log file for the current build.

The name of the file is passed as a parameter to the "-w"
argument. If the parameter is the empty string '', the file
name is generated in the form bitbake_eventlog_DATE.json,
where DATE is the current date and time, with second precision.

The "-w" option can also be supplied as the BBEVENTLOG
environment variable.

We add a script, toater-eventreplay, that reads an event
log file and loads the data into a Toaster database, creating
a build entry.

We modify the toasterui to fix minor issues with reading
events from an event log file.

Performance impact is undetectable under no-task executed builds.

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
10 years agotoasterui: add extra debug and development infos
Alexandru DAMIAN [Mon, 20 Jan 2014 09:39:34 +0000 (09:39 +0000)] 
toasterui: add extra debug and development infos

We update and add logs throughout the code in order to help
with development. The extra logging is turned off by default,
but it can be enabled by using environment variables.

All logging happens through the Python logging facilities.

The toaster UI will save a log of all incoming events if the
TOASTER_EVENTLOG variable is set.

If TOASTER_SQLDEBUG is set all DB queries will be logged.

If TOASTER_DEVEL is set and the django-fresh module is available,
the module is enabled to allow auto-reload of pages when the
source is changed.

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
10 years agoadd build artifacts table and other improvements
Alexandru DAMIAN [Fri, 5 Dec 2014 15:14:20 +0000 (15:14 +0000)] 
add build artifacts table and other improvements

We add a BuildArtifacts class to store data about files
discovered during the build process and not stored anywhere
else.

Small cosmetic changes in the toasterui.

Add model methods to return file path display data relative
to the build environment instead of absolute file paths.

[YOCTO #6834]

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
10 years agobitbake-user-manual-metadata.xml: Updated do_package_write example
Robert P. J. Day [Sun, 10 Aug 2014 13:21:51 +0000 (16:21 +0300)] 
bitbake-user-manual-metadata.xml: Updated do_package_write example

Given that the "do_package_write" task doesn't exist in OE anymore,
steal another, existing example to demonstrate the "rdeptask" flag.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agobitbake-user-manual-metadata.xml: Added [eventmask] flag information.
Scott Rifenbark [Fri, 15 Aug 2014 06:01:49 +0000 (09:01 +0300)] 
bitbake-user-manual-metadata.xml: Added [eventmask] flag information.

Reported-by: Laszlo Papp <lpapp@kde.org>
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agorunqueue: Fix 100% cpu use after keyboard interrupt
Richard Purdie [Mon, 8 Dec 2014 16:38:14 +0000 (16:38 +0000)] 
runqueue: Fix 100% cpu use after keyboard interrupt

After Ctrl+C is pressed to interrupt bitbake, it loops continually, running
at 100% cpu. This patch selects on the correct file descriptors resolving
the excess cpu usage.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agodata: Handle BASH_FUNC shellshock implication
Richard Purdie [Mon, 8 Dec 2014 16:37:26 +0000 (16:37 +0000)] 
data: Handle BASH_FUNC shellshock implication

The shellshock patches changed the way bash functions are exported.
Unfortunately different distros used slightly different formats,
Fedora went with BASH_FUNC_XXX()=() { echo foo; } and Ubuntu went with
BASH_FUNC_foo%%=() {  echo foo; }.

The former causes errors in dealing with out output from emit_env,
the functions are not exported in either case any more.

This patch handles things so the functions work as expected in either
case.

[YOCTO #6880]

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agoevent: fix resetting class handlers object
Paul Eggleton [Mon, 8 Dec 2014 10:50:25 +0000 (10:50 +0000)] 
event: fix resetting class handlers object

If you don't explicitly specify to use a global variable when doing an
assignment, you will be setting a local variable instead, which means
this function wasn't working at all. It explains some odd behaviour we
have seen in the layer index where event handlers were sometimes
bleeding into other contexts where they should not have been.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agoevent: add a means of filtering events internally
Paul Eggleton [Mon, 8 Dec 2014 10:50:24 +0000 (10:50 +0000)] 
event: add a means of filtering events internally

When using external tinfoil-based utilities, it is useful to be able to
turn off most of the event handlers; for example sstate_eventhandler
doesn't like being sent events for any recipe which has been skipped.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agofetch2: add means of disabling SRC_URI checksums
Paul Eggleton [Mon, 8 Dec 2014 10:50:23 +0000 (10:50 +0000)] 
fetch2: add means of disabling SRC_URI checksums

If we're fetching outside of the context of a recipe, it's handy to be
able to disable checksum functionality so you don't get a meaningless
warning about the signatures being missing.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agoutils: add exec_flat_python_func()
Paul Eggleton [Mon, 8 Dec 2014 10:50:22 +0000 (10:50 +0000)] 
utils: add exec_flat_python_func()

Add a function that allows executing a flat python function (defined
with def funcname(args): ...).

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agobitbake-user-manual: Updated copyright to 2015.
Scott Rifenbark [Tue, 9 Dec 2014 17:53:15 +0000 (11:53 -0600)] 
bitbake-user-manual: Updated copyright to 2015.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agobitbake: Update to 1.25.0 as development version after release
Richard Purdie [Wed, 3 Dec 2014 12:14:43 +0000 (12:14 +0000)] 
bitbake: Update to 1.25.0 as development version after release

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agodata: rename defaultval to _defaultval
Ross Burton [Mon, 1 Dec 2014 20:50:14 +0000 (20:50 +0000)] 
data: rename defaultval to _defaultval

The defaultval field is intended to be internal and the only use of that field
outside of data.py is to skip over it when iterating over a value's flags.

For clarity and convenience, rename the field to _defaultval so that it is
considered internal and not exposed through the data API.

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agocooker: Allow featureset in error state
Richard Purdie [Thu, 27 Nov 2014 14:59:21 +0000 (14:59 +0000)] 
cooker: Allow featureset in error state

Currently, if an invalid PR service is selected the server will error
with a traceback. This is because its set into the error state and the
setFeature code will then fail since its not in the initial state.

Modifying the featureset in the error state is acceptable, we just need
to ensure we don't trigger a reset, that would happen from whichever
code handles the error.

[YOCTO #6934]

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agofetch/wget: latest_versionstring clean improvments minor
Aníbal Limón [Thu, 27 Nov 2014 23:48:43 +0000 (17:48 -0600)] 
fetch/wget: latest_versionstring clean improvments minor

Update documentation strings in _check_latest_dir and _check_latest_version
methods with  the correct return types.

_check_latest_version method remove unused testversion variable.

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agotests/fetch: Update wget latest_versionstring cups case
Aníbal Limón [Thu, 27 Nov 2014 21:49:28 +0000 (15:49 -0600)] 
tests/fetch: Update wget latest_versionstring cups case

Update test case for cups is needed because match only 2.0.0
versions see VERSION=2\.0\.0 in the previous string.

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agofetch/wget: latest_versionstring remove newuri set because is previous set
Aníbal Limón [Thu, 27 Nov 2014 21:46:12 +0000 (15:46 -0600)] 
fetch/wget: latest_versionstring remove newuri set because is previous set

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agofetch/wget: latest_versionstring add support for search in RAW html lines
Aníbal Limón [Fri, 28 Nov 2014 01:12:07 +0000 (19:12 -0600)] 
fetch/wget: latest_versionstring add support for search in RAW html lines

Some upstream sites put the name of the package in the body of href tags,
i.e. <a href="#43">somepackage-v1.4.10.tar.gz </a>.

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agofetch/wget: latest_versionstring remove unnecessary usage for name in version comparision
Aníbal Limón [Fri, 28 Nov 2014 01:12:06 +0000 (19:12 -0600)] 
fetch/wget: latest_versionstring remove unnecessary usage for name in version comparision

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agofetch/wget: latest_versionstring improvments in searching
Aníbal Limón [Fri, 28 Nov 2014 01:12:05 +0000 (19:12 -0600)] 
fetch/wget: latest_versionstring improvments in searching

Validate if package contain version string if not return the current
version cases for spectrum-fw and corpus recipes.

_check_latest_version return the latest version available don't
take into account the current version previous this only return
the upstream version if it greater than the current version.

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agofetch/wget: latest_versionstring add package_custom_regex_comp
Aníbal Limón [Fri, 28 Nov 2014 01:12:04 +0000 (19:12 -0600)] 
fetch/wget: latest_versionstring add package_custom_regex_comp

package_custom_regex_comp is built with the current package name and
then used to search upstream version this reduces custom regex'es in
sites that have different packages in the same directory.

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agofetch/wget: Improve REGEX_URI handling
Aníbal Limón [Fri, 28 Nov 2014 01:12:03 +0000 (19:12 -0600)] 
fetch/wget: Improve REGEX_URI handling

Latest version string only try to find latest directory when REGEX_URI
isn't specified to avoid unnecessary processing and makes code easier

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agofetch/wget: _init_regexes rename variables to be more consistent and move dirver_rege...
Aníbal Limón [Fri, 28 Nov 2014 01:12:02 +0000 (19:12 -0600)] 
fetch/wget: _init_regexes rename variables to be more consistent and move dirver_regex into it

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agofetch/wget: latest_versionstring create _init_regex method for have one place when...
Aníbal Limón [Fri, 28 Nov 2014 01:12:01 +0000 (19:12 -0600)] 
fetch/wget: latest_versionstring create _init_regex method for have one place when regex'es are defined

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agotoaster: remove the word 'project' from layers and machine
Belen Barros Pena [Thu, 27 Nov 2014 14:27:18 +0000 (14:27 +0000)] 
toaster: remove the word 'project' from layers and machine

Remove the word 'project' from the 'Layers' and 'Machine'
sections of the project page, following feedback from the
QA team, who suggested that the word 'project'
raised questions regarding the scope of the configuration,

Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com>
10 years agotoaster: release name consistency
Belen Barros Pena [Thu, 27 Nov 2014 12:18:25 +0000 (12:18 +0000)] 
toaster: release name consistency

Small changes to the project, new project and all layers
pages to ensure consitency in release naming across the
interface.

The changes are:

* In the new project page, change the label 'release version' to
'release'

* In the new project page, sort the releases in the dropdown menu
in ascending alphabetical order

* In the new project page, remove the release name that was
showing between brackets after the release description in the
dropdown menu

* In the project page, make sure the release information
shows the release description field instead of the release name,
to keep consistency with the new project page

* In the all layers page, provide some help text for the branch 'HEAD'

Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com>
10 years agotoasterui: Compatibility patch for daisy and dizzy
Alexandru DAMIAN [Wed, 26 Nov 2014 17:09:16 +0000 (17:09 +0000)] 
toasterui: Compatibility patch for daisy and dizzy

This patch brings in changes that allow a toasterUI coming in
from 'master' branch to record data from a 'daisy' or 'dizzy'
bitbake server.

This is needed to allow Toaster to record builds running
on older branch releases.

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
10 years agotoaster: fix padding of build notifications
Belen Barros Pena [Tue, 25 Nov 2014 18:58:35 +0000 (18:58 +0000)] 
toaster: fix padding of build notifications

In managed mode, we show the name of the project in the build
notifications of the all builds page. The way we show the
project requires modifying the default padding of the .alert
class. This patch makes sure the padding modification is
only applied in managed mode, i.e., when the project name
needs to be shown.

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
10 years agotoaster: make 'latest builds' section consistent across pages
Belen Barros Pena [Mon, 24 Nov 2014 18:30:58 +0000 (18:30 +0000)] 
toaster: make 'latest builds' section consistent across pages

Make sure that the 'latest builds' sections in the all builds
page and the project page are identical:

* no icon to represent build outcome
* remove machine name
* show date only when the build is more than 24 hours old
* same date and time format

Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
10 years agotoaster: fix errors and warnings display
Belen Barros Pena [Mon, 24 Nov 2014 18:27:48 +0000 (18:27 +0000)] 
toaster: fix errors and warnings display

In the 'Latest builds' section of the project page,
show number of errors and number of warnings as we
show them in the all builds page.

Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
10 years agotoastergui: new project page
Alexandru DAMIAN [Wed, 26 Nov 2014 12:18:55 +0000 (12:18 +0000)] 
toastergui: new project page

Patch that brings in to new project page according to specifications.

[YOCTO #6596]

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
10 years agotoaster: fix loadconf path calculation
Alexandru DAMIAN [Tue, 25 Nov 2014 16:12:05 +0000 (16:12 +0000)] 
toaster: fix loadconf path calculation

Fixing the path calculation for local layer sources, as the
path need to be absolute.

Added tests for pieces of code.

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
10 years agotoasterui: fix layer identification for managed builds
Alexandru DAMIAN [Tue, 25 Nov 2014 13:40:38 +0000 (13:40 +0000)] 
toasterui: fix layer identification for managed builds

If we have a managed build, we match the layers used for build
with the layers configured for project, as we know where the layers
are coming from

[YOCTO #6962]

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
10 years agotoaster: display Toaster exceptions and other fixes
Alexandru DAMIAN [Tue, 25 Nov 2014 10:12:46 +0000 (10:12 +0000)] 
toaster: display Toaster exceptions and other fixes

Changing ToasterUI to log toaster exceptions on a different level than
build errors.

Updating the build dashboard to show Toaster exceptions.

We add extra logging to console for exceptions.

Fixed a problem where packages database entries were created instead of
being looked up in the database, conficting with entries created to
satisfy dependency information.

Toaster now checks for invalid states at startup and performs needed
cleanups.

Removed loading reference to jquery-ui.min.css as we do not have this
file.

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
10 years agotoastergui: do not show project info in interactive mode
Alexandru DAMIAN [Tue, 25 Nov 2014 11:21:53 +0000 (11:21 +0000)] 
toastergui: do not show project info in interactive mode

The most recent builds section showed the project name and the Run Again
buttons regardless whenever the Toaster was in interactive or managed
modes. These widgets have no meaning in interactive mode, and this
patch disables the widgets if toaster is not running in Managed mode.

[YOCTO #6776]

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
10 years agotoastergui: update layer search criteria
Alexandru DAMIAN [Mon, 24 Nov 2014 12:52:49 +0000 (12:52 +0000)] 
toastergui: update layer search criteria

In order to accomodate the designs around imported layer,
we add a "project" field for in the layer versions.

The field must be set if and only if the layer is manually
imported in the project. This will prevent information leakage
between different projects.

The views have been updated to perform relevant layer queries
in a single location.

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
10 years agotoaster: base Only show New Build button when there are > 0 projects
Michael Wood [Thu, 20 Nov 2014 15:06:28 +0000 (15:06 +0000)] 
toaster: base Only show New Build button when there are > 0 projects

Only show new build button if we have defined at least one project as we
can't select a project to build against if there are no projects created
yet.

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
10 years agotoaster: use http proxies to fetch data
Alexandru DAMIAN [Fri, 21 Nov 2014 13:58:51 +0000 (13:58 +0000)] 
toaster: use http proxies to fetch data

Under some network configurations http proxies are used
for Internet access. This patch makes Toaster obey
the http_proxy environment variable when fetching
information from layer indexes.

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
10 years agotoaster: do not show target if target name is empty
Belen Barros Pena [Tue, 18 Nov 2014 14:16:57 +0000 (14:16 +0000)] 
toaster: do not show target if target name is empty

In the all targets table, all entries should have a target
name. If a target does not have a name, something has not
gone to plan, so don't show it.

Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com>
10 years agotoaster: fix dependencies dialog layout
Belen Barros Pena [Thu, 13 Nov 2014 11:16:56 +0000 (11:16 +0000)] 
toaster: fix dependencies dialog layout

Remove the bottom margin of forms inside dependencies
modal dialogs.

Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
10 years agotoaster: add no results state to all layers page
Belen Barros Pena [Thu, 13 Nov 2014 11:34:01 +0000 (11:34 +0000)] 
toaster: add no results state to all layers page

When you search for a layer and your search returns no results,
we should show you an alert and a link to show back all layers,
as we do in all other tables.

Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com>
10 years agotoaster: Tiny refinements to the new build button dialog
Belen Barros Pena [Tue, 18 Nov 2014 12:02:22 +0000 (12:02 +0000)] 
toaster: Tiny refinements to the new build button dialog

* Get rid of the display:block attribute for the "View
all projects" link, to stop it from firing when you
click outside (but next to) the link

* Give some margin to the incomplete configuration
alert

Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com>
10 years agotoaster: project page remove additional tooltip for Change pencil
Michael Wood [Fri, 14 Nov 2014 15:44:55 +0000 (15:44 +0000)] 
toaster: project page remove additional tooltip for Change pencil

We have a global pencil icon tooltip so avoid two tooltips appearing by
removing them from the project page. This also means it's one less place to
update it.

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
10 years agotoaster: Add New Build Button feature
Michael Wood [Tue, 11 Nov 2014 16:30:22 +0000 (16:30 +0000)] 
toaster: Add New Build Button feature

This adds a quick access dropdown menu feature for running builds on a
selected project.

[YOCTO #6677]

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
10 years agotoaster: libtoaster: Add getProjectInfo utility function
Michael Wood [Fri, 14 Nov 2014 18:12:20 +0000 (18:12 +0000)] 
toaster: libtoaster: Add getProjectInfo utility function

Add a utility function to return a specified project's info/config
This re-uses the existing server code path for the project edit
except that it allows any project id to be used as a parameter

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
10 years agotoaster: Create libtoaster.js with some utility functions
Michael Wood [Tue, 11 Nov 2014 16:23:58 +0000 (16:23 +0000)] 
toaster: Create libtoaster.js with some utility functions

Replace main.js with libtoaster. This can be a place for common
functionality for toaster. Calling it lib... makes it more obvious as
well as helps with code readability due to the namespacing.

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
10 years agotoastergui: layer name correlation
Alexandru DAMIAN [Fri, 14 Nov 2014 17:07:06 +0000 (17:07 +0000)] 
toastergui: layer name correlation

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.

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
10 years agotoaster: skip virtualenv when searching for django apps
Michael Wood [Mon, 27 Oct 2014 19:03:06 +0000 (19:03 +0000)] 
toaster: skip virtualenv when searching for django apps

If we are using a virtualenv in the current search path we end up trying
to add modules to the django apps list which do not have the correct
load path or are internal to other modules. Fix this by skipping the
virtualenv path.

[YOCTO #6896]

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
10 years agotoaster: fix file name collision
Belen Barros Pena [Tue, 18 Nov 2014 15:02:17 +0000 (15:02 +0000)] 
toaster: fix file name collision

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.

Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com>