Commit Graph

3557 Commits

Author SHA1 Message Date
Alexandru DAMIAN 46f1fbe3ab bitbake: adding angular-animate plugin
We add a static copy of the Angular's animate plugin,
version 1.2.23

Licensed under MIT.

(Bitbake rev: 12162fda32af4bc805d6ff5b0348d93befe2f623)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-12 17:04:48 +00:00
Alexandru DAMIAN 78e3a7877b bitbake: toaster: update Release model to pinpoint to specific Branch
We update the release model to pinpoint to specific branch,
instead of holding a branch name that needs to be matched.

This is needed because we move away from mixing branches on different
layer sources.

Various minor changes to models file.

(Bitbake rev: d58aacc69b1832f99758b941803123329e06082d)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-12 17:04:48 +00:00
Alexandru DAMIAN 990fb9ed6c bitbake: toaster: SQL query logging
We add a logger, enabled through the settings.py, that
logs all SQL queries, with timestamp and duration, to console.

This is helpful in profiling the SQL queries.

The facility is disabled by default.

(Bitbake rev: 54fd0a76fa3154adfab5688ecc96963f42cded11)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-12 17:04:48 +00:00
Alexandru DAMIAN 3e9fc8d091 bitbake: toasterui: performance improvements
Improve the performance of data logging in toasterui.
We modify the data queries used to:

 * cache searching in memory
 * insert in bulk (i.e. multiple values per insert, where possible)

On development test rig (networked mysql), on no-op build,
time for data recording is reduced from 4:10 to 1:30 (minutes).

We also improve the logging, so it is easier to detect
toasterui errors.

(Bitbake rev: d42784432f927f58730caf80546c66772e0fec89)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-12 17:04:48 +00:00
Alexandru DAMIAN 0ca70ce37a bitbake: toaster script: webport option and other improvements
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>
2014-11-12 17:04:48 +00:00
Martin Hundebøll 3e068831a1 bitbake: progressbar: use '/usr/bin/env' in shebangs with python
To support yocto on systems with python3 as default version, scripts
should use /usr/bin/env python in the shebang, as this allows the use of
a fake env to mimic python2 as default version.

This patch simply replaces occurrences of #!/usr/bin/python with
 #!/usr/bin/env python and was done with this oneliner:

     git grep -lE '^#!/usr/bin/python' | xargs \
         sed -i 's|/usr/bin/python|/usr/bin/env python|'

(Bitbake rev: 90d9bf1bda282fb5d053a42438a8cfd02475b9cd)

Signed-off-by: Martin Hundebøll <martin@hundeboll.net>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-12 15:25:17 +00:00
Aníbal Limón 6bb241a278 bitbake: fetch/wget: Add latest_versionstring method
Being able to query whether updated versions of a url are available
is useful, not least for the package reporting system. Since such code
is closely linked to the url type and the url itself, the fetcher
makes a locical place to contain this code.

For wget based urls this means taking upstream directory listings
and searching those for later versions, returning those that are
found.

The patch also adds unittests for this function so that if
improvements are made, the original test urls can be used
to evaulate the those changes.

This is based on code from Irina Patru <irina.patru@intel.com>.

(Bitbake rev: a8272e22b7819e0e8afd8e291d276f5f28fc0007)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-12 15:25:17 +00:00
Aníbal Limón 7587877e5d bitbake: fetch/git: Add latest_versionstring method
Being able to generate a version string representing the most recent git commit
given git is useful, not least for the package reporting system.

This adds in a latest_versionstring method to the git fetcher
which allows users to query the latest version using ls-remote
and filtering the responses.

The patch also adds unittests for this function so that if
improvements are made, the original test urls can be used
to evaulate the those changes.

This is based on code from Irina Patru <irina.patru@intel.com>.

(Bitbake rev: f71c8c0354e87fed80bc845db6728e6e18ce9c4d)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-12 15:25:17 +00:00
Stefan Müller-Klieser 2f17b2ce7f bitbake: data_smart.py: fix variable splitting at _remove mechanism
If we split variables only at whitespaces, a slipped in tab will render
a value unremovable.

(Bitbake rev: 9f171ea755644ecd9d2b3d7ed13bf8ec09ec917a)

Signed-off-by: Stefan Müller-Klieser <s.mueller-klieser@phytec.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-08 11:14:31 +00:00
Richard Purdie 01a61c8e6e bitbake: siggen: Fix shared work checksum mismatch/rebuild issues
Similar to the last shared work task signature bug, we've found another
one. Looking at the improved output of diffsigs in this case:

runtaskdeps changed from [
'autoconf_2.69.bb.do_populate_sysroot:virtual:native',
'gnu-config_20120814.bb.do_populate_sysroot:virtual:native',
'libgcc-initial_4.9.bb.do_patch:virtual:nativesdk'
] to [
'autoconf_2.69.bb.do_populate_sysroot:virtual:native',
'gcc-crosssdk-initial_4.9.bb.do_patch',
'gnu-config_20120814.bb.do_populate_sysroot:virtual:native'
]

so we can get a different task hash since libgcc sorts before gnu-config
and gcc sorts after it. We could do with a way of fixing this, the best
I can come up with is to include a single parent directory. Since
recipes are never at the top of any metadata trees I've seen, this
should suffice for now.

I'm planning to burn the concept of shared work within bitbake
and do something at the metadata level in the 1.8 timeframe as its just
too fragile as things stand and hard to fix well.

(Bitbake rev: d753644c67d163f338f2bdc3d600203e8b1a5734)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-08 11:14:31 +00:00
Richard Purdie 2db07ca8a3 bitbake: siggen: Add computed hash code to verify hash computation to dumpsig
This is useful code to double check the computed checksum value if nothing
else. Might as well have it in tree.

(Bitbake rev: 54ecf96c6f031927ee2410f6efde4e16f19bbf66)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-08 11:14:31 +00:00
Richard Purdie 636dcb84fe bitbake: siggen: Ensure we output if the ordering of runtaskdeps changes
Order of runtaskdeps is important. If the hashes differ we should print output.
This is complicated by shared work where the filenames themselves can differ,
but the checksum should not.

This fixes a case where two different checksums could show no output with
bitbake-diffsigs.

(Bitbake rev: 40c95cb9def282dc88234cd72ff462d7a01e47c1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-08 11:14:31 +00:00
Alexandru DAMIAN 7bd03ac241 bitbake: toastergui: fix invalid build url usage
We need to pass the URL for the build action as javascript
parameter, since the project ID is different for each build,
instead of using the project id of the most-recently-used project.

(Bitbake rev: 35c1de4b05c64ee1c436be2dfbd97dcf9ed9ed71)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-06 16:45:23 +00:00
Alexandru DAMIAN fc75011506 bitbake: toasterui: improvements in data reading
We add improvements in data reading, following
issues discovered in testing.

- elapsed_time is now read from buildstats
- we add safeguards to not fail logging if the build was triggered
with a toaster_brbe configuration, but it's running in
1.6 mode
- added log markups for build finish to let other programs
known when the work is done.

[YOCTO #6833]
[YOCTO #6685]
[YOCTO #6887]

(Bitbake rev: 0b225035cefee3d3713a93f9a432e5e4d4e174f1)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-06 16:45:23 +00:00
Richard Purdie 7105d44d87 bitbake: prserv: Use WAL mode
Ideally, we want the PR service to have minimal influence from
queued disk IO. sqlite tends to be paranoid about data loss and
locks/fsync calls. There is a "WAL mode" which changes the journalling
mechanism and would appear much better suited to our use case.

This patch therefore switches the database to use WAL mode. With this
change, write overhead appears significantly reduced.

(Bitbake rev: 0cdd48261daeb17efc528b5de0ac81c8836e8565)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-06 16:45:23 +00:00
Gary Thomas 5dca71bc2a bitbake: bitbake: Make printed 'runqueue' be consistently capitalized
This has always bothered me:
  NOTE: Preparing runqueue
  NOTE: Executing RunQueue Tasks

This patch changes the messages to be consistent.

(Bitbake rev: 72ac9f9227fbfb4dc8b933b357d21aa0e4060959)

Signed-off-by: Gary Thomas <gary@mlbassoc.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-06 16:45:23 +00:00
Aníbal Limón 25e3e57c55 bitbake: bs4: Add beautifulsoup 4.3.2 to assist the fetcher
Added Beautifulsoup module because fetch/wget latest_versionstring
method depends on it.

This provides support to fetch/wget.py module for search new package
versions in upstream sites.

(Bitbake rev: 4626c9b77e5eded97507b6f9ca0d891f9a54bb8a)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-06 16:45:23 +00:00
Fredrik Svensson bc6330cb7f bitbake: fetch2/git: Allow other namespaces than refs/heads to be searched.
This makes it possble to fetch Gerrit review references which are
normally stored under refs/changes.

Please disregard previous patch with the same topic.

(Bitbake rev: 268e9c0c6830e8e621c418f20c2ca12dc840e48b)

Signed-off-by: Fredrik Svensson <fredrik.svensson@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-06 16:45:22 +00:00
Richard Purdie 2380ebecd1 bitbake: prserv/serv: Ensure sync happens in the correct thread
The sync/commit calls are happening in the submission thread which can
race against the handler. The handler may start new transactions which
then causes the submission thread to error with "cannot start a
transaction within a transaction".

The fix is to move the calls to the correct thread.

(Bitbake rev: 92e128a0e331e563cfe48827e95939041c16c88e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-04 15:00:19 +00:00
Alexandru DAMIAN f19b4e995e bitbake: bitbake: clarify startup message
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>
2014-10-30 13:39:52 +00:00
Alexandru DAMIAN 24dab21567 bitbake: toaster: update web vcs fields for layers
We update the layer vcs web fields to record extra URLs
for directory and file viewing. Updating the layers
view to show this data.

(Bitbake rev: 14762e182c8af22fd0fa96f0ba0db1ecd2495fbc)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:51 +00:00
Alexandru DAMIAN 298c3d52ba bitbake: toastergui: provide download file capability
We add, for the localhost environments, the capability to
download build artifacts. This is a pontentially dangerous API,
because it gives unrestricted read access to the build environment
file system - do not expose the functionality directly to the
web layer, but use filtering/translation code, such as
exemplified in the build_artifact view.

The capability for remote build environments is dependent
on bug 6835, as to use the collect storage as intermediary
storage for serving files.

[YOCTO #6834]

(Bitbake rev: 5fce7f6e83c6143244faa9618b7ed20c1106e08f)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:51 +00:00
Alexandru DAMIAN 2837b110ae bitbake: toaster: change startup parameter passing to avoid race
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>
2014-10-30 13:39:51 +00:00
Alexandru DAMIAN a0660718e6 bitbake: toaster: improvements for admin pages
The default django URL validator marks git URLs as not valid,
so we change the default validators to a URLValidator-derived
that adds git and ssh protocol schemas and inhibits the
frontend URL validator.

We update the branch names based on the white-listed
branch names in the Releases name.

Adds proper class string to ease usage in admin section.

Other small improvements.

(Bitbake rev: 7d51f895bd56bd18f2258059b377851c2ce82114)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>

Conflicts:
	bitbake/lib/toaster/orm/admin.py
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:51 +00:00
Alexandru DAMIAN 97c0beb0eb bitbake: toaster: use modified validators for git url fields
The default django URL validator marks git URLs as not valid,
so we change the default validators to a URLValidator-derived
that adds git and ssh protocol schemas and inhibits the
frontend URL validator.

(Bitbake rev: 7223619505c0939358287e5baf84da0a91cb8d34)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:51 +00:00
Alexandru DAMIAN a1f7a09801 bitbake: toaster: changes to the landing page
This patch brings in a new landing page to be shown
when there are no builds and no projects available.

The builds page now displays only only the builds part,
without the landing page bits.

There is a new projects page that displays the All Projects
table as specified in the design.

[YOCTO #6682]

(Bitbake rev: c6c7c05521daa9bf16c122d7d472330ca4c05e88)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:50 +00:00
Alexandru DAMIAN c7382dbd8b bitbake: toastergui: protect variable value reads
We make sure we don't throw an exception when reading
non-existent variables from the database, and we return
empty data that can be displayed without ill effects.

This fixes the Configuration page on empty builds.

(Bitbake rev: 5b13eabdec1e8a052d343fd67654d7fe8974224f)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:50 +00:00
Alexandru DAMIAN 477587b996 bitbake: toastergui: refactor objects get in views.py
We refactor the objects.filter()[0] pattern to the proper
Django QuerySet usage of objects.get() to make sure we
get one and only one object for a query.

(Bitbake rev: 6abec6631fbadaecc474f2a4e7981fde3c58657c)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:50 +00:00
Alexandru DAMIAN 1b109c7908 bitbake: toastergui: project edit capabilities in all layers page
This patch definitivates the all layers page, providing interactivity
for adding and removing layers inside the project from this page.

[YOCTO #6590]

(Bitbake rev: e690080f83ad53c5e4a31e8c0fba2cc744eea1eb)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:50 +00:00
Alexandru DAMIAN 960580cb70 bitbake: toaster: fix Project page in order to trigger builds
This patch rewrites the Project page and the additional
infrastructure in order to fix a bug that makes triggering
builds through UI impossible, and to introduce data feeds
for suggestions for the user.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:49 +00:00
Alexandru DAMIAN 1a463ab98e bitbake: toaster: fix layer source update code
We fix problems in the layer source update code related to
non-null field restrictions.

We add missing layer dependency update.

(Bitbake rev: e1169127405ce10a044ac9cdf4a892838a99d01f)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:49 +00:00
Alexandru DAMIAN b27fc6f18f bitbake: toaster: we add static copies of AngularJS and related libraries
We add the Angular JS library, release 1.2.23
https://angularjs.org/

We add the Bootstrap directives for AngularUI, release 0.11.0
http://angular-ui.github.io/bootstrap/

The license ued for all libraries is MIT

(Bitbake rev: 8b4d33a6182486795cca53b2832967de583281e1)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:49 +00:00
Alexandru DAMIAN f16f434bf2 bitbake: toastergui: update breadcrumb in analysis pages
If we are in managed mode, and we inspect a build that comes
from a project, we modify the breadcrumb as to display
the project from where the build originated.

[YOCTO #6776]

(Bitbake rev: fe568c9350a691c863f9f5bf8703d639c12a9961)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:49 +00:00
Alexandru DAMIAN 4f1390cd23 bitbake: toasterui: save build id in build request on first chance
We change the saving of the build id to the build request as
soon is the build is created, as to allow for a consistent
display of build data while build is in progress.

(Bitbake rev: 9504ca6a69ba6da21f88b3cc77fa5910d886b6c3)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:49 +00:00
Belen Barros Pena 14e5b27324 bitbake: toastergui: Show failed tasks in the build dashboard
The build dashboard is supposed to show failed
tasks (if any) in the "Tasks" section.

(Bitbake rev: fc2a7be3982ea5441beef1b7e9e187caf5df2beb)

Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:48 +00:00
Belen Barros Pena 324b277336 bitbake: toastergui: Tiny change to help text
Modify the help text we show for the "Task covered by"
information to indicate that a task can be covered by
more than one task.

(Bitbake rev: cad45dfebaabe1875f786ba7ceeb3ee377e926b3)

Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:48 +00:00
Belen Barros Pena 754f3e7e0a bitbake: toastergui: Remove extra <div> from build dashboard
For builds that generate no rootfs files, an extra <div>
was being added between the build status and the build
summary section. This commit removes the extra <div> and the
white space it created.

(Bitbake rev: e84db294f733464b4952a3c92120e5b19e8c2750)

Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:48 +00:00
Belen Barros Pena ceb113971a bitbake: toastergui: Remove sorting from "Size over total" column
The sorting in this column is tied to the sorting by
"Size". If we make both columns sortable, when you sort
by one of them it also sorts the other, and the table looks
as if you have sorted by 2 columns at the same time.

This was fixed in YOCTO #6061, but turned up again.

(Bitbake rev: acf372eb5a083451ab1507dd24e3a84380420c9a)

Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:48 +00:00
Belen Barros Pena 719f5e41b3 bitbake: toastergui: Fix blue highlight for failed tasks
Change the background colour of table rows with the .error
class from white to transparent, to make sure the blue
highlight animation works when you click on the order
number in the task details page.

(Bitbake rev: 25fd347b6a972164af9a0b5b56f803a296290246)

Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:48 +00:00
Belen Barros Pena 927943bd9e bitbake: toastergui: Fix reverse dependencies tab for packages included
Make sure the reverse dependencies tab for included packages
shows a notification when the number of reverse dependencies
is 0, instead of an empty table.

(Bitbake rev: 8dc3e582eb5f1d6e9a79de59a53014495a48e862)

Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:47 +00:00
Belen Barros Pena 7aaedc2004 bitbake: toastergui: Add missing task descriptions
The "Prebuilt task could be based on" table we provide in the task
details page for prebuilt tasks is missing the task descriptions.
This patch adds them.

[YOCTO #6328]

(Bitbake rev: 64894d640ee70a301f6f399db118ed17c0ccde08)

Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:47 +00:00
Belen Barros 93835e78c0 bitbake: toastergui: Amend show rows options
In the templates basetable_bottom.html and basetable_top.html
remove the '2' and '5' options from the 'show rows' menu, and
add the '150' option as per design specs.

Alex edited conflicts.

(Bitbake rev: 03f7ba3d8a101e05c106e5fb65eb379a6e4cb476)

Signed-off-by: Belen Barros <belen.barros.pena@intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:47 +00:00
Belen Barros Pena daad086438 bitbake: toastergui: Fix help text in packages 'Reverse runtime dependencies' tab
For those packages renamed at packaging time, the help text
in the 'Reverse runtime dependencies' tab was missing the
original package name.

[YOCTO #6327]

(Bitbake rev: ca8fc7bd4ad940c8eeefa57619a6c8423f116fc7)

Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:47 +00:00
Alexandru DAMIAN 83edc576b2 bitbake: toasterbld: update checksettings command
We update the checksettings command to allow for upstream
git url detection at runtime by looking up a named remote
of a local repository.

Also various small fixes in check settings.

(Bitbake rev: c127ecb3b5b27b705b8714af063d910b944c8bbc)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:47 +00:00
Michael Wood 87dec81de6 bitbake: buildinfohelper: Make sure we use the orm defined value for loglevel
We need to consistently use LogMessage.INFO/WARNING/ERROR to make sure toaster knows
how to categories these rather than passing in the "raw" loglevel value
which in best case comes from python logging but worst case any value.

[YOCTO 6885]

(Bitbake rev: 3aa13bc1d8218c97c76581a895fa5f03ff807fbe)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:01:22 +00:00
Ben Shelton cf82c6756b bitbake: prserv: don't wait until exit to sync
In the commit 'prserv: Ensure data is committed', the PR server moved to
only committing transactions to the database when the PR server is
stopped.  This improves performance, but it means that if the machine
running the PR server loses power unexpectedly or if the PR server
process gets SIGKILL, the uncommitted package revision data is lost.

To fix this issue, sync the database periodically, once per 30 seconds
by default, if it has been marked as dirty.  To be safe, continue to
sync the database at exit regardless of its status.

(Bitbake rev: 424df64f2e9679043f0ce2b4f7dfc59c3d404304)

Signed-off-by: Ben Shelton <ben.shelton@ni.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-28 15:00:39 +00:00
Oscar Utbult 2794f916ff bitbake: utils.py: don't use len() for truth value testing.
(Bitbake rev: 4bdfeab7845bdcd62a4928200dd13701414a464e)

Signed-off-by: Oscar Utbult <oscar@oscr.io>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-28 14:58:34 +00:00
Koen Kooi f5b9b389c0 bitbake: fetch2: add .lz compression support
See http://www.nongnu.org/lzip/lzip.html for details on the compression
format.

(Bitbake rev: 9027b1273b5405c7269b013604ab417771b5eafe)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-28 14:58:26 +00:00
Alejandro Hernandez ef3755b739 bitbake: fetcher: fix getVar call due to incorrect argument datatype
(Bitbake rev: 2ac33aac3446cb12227f1b8daa5f27f417c9bb9e)

Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-11 08:11:03 +01:00
Alejandro Hernandez 505a6b696a bitbake: fetcher: fix BB_STRICT_CHECKSUM datatype check
Forcing strict to be a string, to avoid problems when performing comparisons

[YOCTO #6762]

(Bitbake rev: b8ed2098bdea2afd93ab4e3e1b834f3a31cb60de)

Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-06 16:09:53 +01:00
Alexandru DAMIAN 39ca8b429b bitbake: toastergui fix size rendering in dirinfo page
We fix the rendering of the size field in dirinfo-related pages
by directly calling filtered_filesizeformat and not rendering
it through the template engine.

Additionally, we enable error dumping into logs if an
Exception happens.

[YOCTO #6669]

(Bitbake rev: afa2431c21b8271b05dc4cca4265f98d9f338007)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-29 14:11:59 +01:00
Konrad Scherer e92e8009a1 bitbake: prserv/serv: Improve error message when prserver cannot bind to supplied host address
If localhost resolves to a remote address (due to a misconfigured network),
starting the pr server will fail without useful information.

To reproduce, add '<bogus ip> localhost' to /etc/hosts and run
'bitbake -p'. The error message will be:

ERROR: Timeout while attempting to communicate with bitbake server
ERROR: Could not connect to server False:

Running 'bitbake-prserv --host=localhost --port=0 --start' will fail with:

error: [Errno 99] Cannot assign requested address

Since these errors does not show the IP address of the attempted socket
binding, this results in a lot of wasted time looking at firewall rules, etc.

This patch results in the following error message if the socket binding fails:

PR Server unable to bind to <bogus ip>:0

(Bitbake rev: fae5914030bcf4c061c22fc61034c40c87b7121a)

Signed-off-by: Konrad Scherer <Konrad.Scherer@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-29 12:08:48 +01:00
Richard Purdie 438a508442 bitbake: hob: Fix sstate mirrors mangling
hob was adding the redundant characters "\1" in SSTATE_MIRRORS variable. If
needed it is expected the user will add this instead so remove the code
that was doing this.

[YOCTO #6600]

(Bitbake rev: 73bf120062fc00c7e26dc4e77a7d140658d89daf)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-29 12:08:48 +01:00
Richard Purdie 8e4e03c2a3 bitbake: fetch: Extend testing of subdir unpack parameter and fix
This fixes urls of the form file://some/path/file;subdir=b. It also
adds in a couple of tests so we now tests these corner cases.

(Bitbake rev: 46306912a96444790efa9418d934dfdd36773ba1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-29 12:08:48 +01:00
Roxana 1f4e75143a bitbake: fetch: SRC_URI parameter "subdir" does not work for local files
Check if the 'subdir' parameter exists and assign it to 'destdir' so that
files are copied in ${WORKDIR}/destdir. This fixes urls that are of the form
file://a;subdir=b.

(Bitbake rev: 836a986b365eb9798563ec08d90b346596de7791)

Signed-off-by: Roxana Ciobanu <roxana.ciobanu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-29 12:08:48 +01:00
Ross Burton 249a0e937d bitbake: monitordisk: don't log when not monitoring a filesystem for inodes
Writing a log that the filesystem isn't being monitored for inode usage just
confuses users who are not aware about the nature of inodes in their filesystem,
so don't say anything, just silently disable the monitor.  In general this only
happens on filesystems which don't have a limit on inodes.

(Bitbake rev: ca93bc84ee5fb94a50c11c47e4d212d7da649e24)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-29 12:08:48 +01:00
Richard Purdie c84b0c0b73 bitbake: bin/bitbake: Update to version 1.24.0
(Bitbake rev: 637ce8df2658e4905fab8a0600a45505596bf472)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-23 22:10:12 +01:00
Chad Nelson a94574f189 bitbake: fetch2/perforce: Use replace (1 line) instead of find (3 lines)
(Bitbake rev: 5bf5a937b26896bedbfea78dd1d62bce5a26ac2a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-23 20:21:12 +01:00
Chad Nelson 7ca8b65c3c bitbake: fetch2/perforce: Fix localfile name if labels are used
I could apply the label "release_1.0" to a super project that contains
many sub projects.  If my recipes have SRC_URI's that use that label but
grab different sub-folders, than there's a bug where the cached localfile
(tar.gz) will not be unique and reused at the wrong times.

SRC_URI = "p4://perforce::1234@//depot/SuperProject/MiniProjectAAA/...;label=release_1.0 \
                     p4://perforce::1234@//depot/SuperProject/MiniProjectBBB/...;label=release_1.0"

(Bitbake rev: 3b5b1703b77490116dda895b29737cea51a3d6a0)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-23 20:21:11 +01:00
Richard Purdie ff5fba8462 bitbake: knotty: Ensure commandline parameters are updated in memres server
When using options like -k, -f, -v and so on with the memory resident
server, they'd currently only be set on the initial values passed to
the original command. This ensures they now match those specified
on the commandline for the options where this makes sense.

To make this work, a command to update the options on the server side
is required so this is added.

[YOCTO #5292]

(Bitbake rev: 1c75cc4d0c8b606c1fe76e6bf60bf6a32298b105)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-23 20:06:06 +01:00
Richard Purdie afdbe3112b bitbake: bitbake-worker: Fix bitbake -n
Without this you see:

File "bitbake/bin/bitbake-worker", line 201, in fork_off_task
    os._exit(child())
TypeError: an integer is required

(Bitbake rev: cd477b5e77ab0373248b8a8fa30e1c7b8ea984fd)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-22 15:54:40 +01:00
Richard Purdie 7d80f8e946 bitbake: data_smart: Clarify what 'computed' means in the data store history context
(Bitbake rev: a2ca038dd1d0be4e0a0b20ae16a467d5a0075514)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-16 22:15:24 +01:00
Richard Purdie fceef0cace bitbake: data_smart: Fix remove operator and its interaction with data expansion
If you have:

FOO = "${bindir}/X Y"
FOO_remove = "${bindir}/X"

the expected result is "Y". Currently this doesn't work since the removed
expressions are not expanded first. This patch adjusts things so the
expressions are expanded before being processed for removal.

Also add a test to ensure this case continues to work.

[YOCTO #6624]

(Bitbake rev: 72a1ca4a104ccab73d6abcbd44db9c2636a58572)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-13 08:52:49 +01:00
Richard Purdie 51e392106e bitbake: bin/bitbake: Update to version 1.23.2
(Bitbake rev: e24095f54c52a547c0462836586a5d716249036e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-11 17:31:17 +01:00
Richard Purdie bb54fd0570 bitbake: siggen/runqueue/bitbake-worker: Improve siggen data transfer interface
We need to transfer some of the siggen data from the core/cooker into
the worker instances. There was a partial API created for this but
its ugly and its not possible to extend it from the siggen class.

This patch completes the interface/abstraction for the data and
means the class can extend/customise it in any siggen class.

(Bitbake rev: cf2d642052979d236185c5b8ca2c5478c06e62ae)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-11 17:31:17 +01:00
Paul Eggleton 1894522f35 bitbake: tinfoil: add a means of enabling variable history tracking
Unfortunately it seems like the external use of the cooker
enableDataTracking() function broke at some point since the code that
reads it now runs within BBCooker's constructor. Since this now has to
be done early, add a parameter to Tinfoil's constructor to allow
enabling variable history tracking.

Fixes [YOCTO #6676].

(Bitbake rev: a9439b136f55f3f0e80ff053cd3b159da69ba362)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-05 10:14:25 +01:00
Marius Avram dfbb546492 bitbake: toaster: fix some code spacing issues
Code is related to the basetable templates files.
It had mixed tabs and spaces and was miss aligned in various places,
making it hard to read.

(Bitbake rev: cdaea8951df6b707afd1fefbf22295088256dd6f)

Signed-off-by: Marius Avram <marius.avram@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-05 10:14:25 +01:00
Marius Avram 69e5cbdac5 bitbake: toaster: use cookies for count and sorting in templates tables
Until now cookies were used to save which columns were shown and which
were hidden in toaster tables. The tables from the templates also have
functionalities like sorting the entries on a certain column and
limiting the number of entries displayed on a page. The later however
were not saved using cookies. This patch brings this new feature.

The cookies are not saved only in the front-end. They are saved both
in the frontend in case the user uses the inputs/buttons to change
a parameter and also in the backend in case the user specifies manually
using GET variables the value of the parameters.

When no GET parameters are given the views will redirect the url to one
containg the parameters saved as cookies. When no cookies exist, default
values will be used.

[YOCTO #6126]

(Bitbake rev: 880b58c845e3a501fa90d24e1bd89c87ca84b709)

Signed-off-by: Marius Avram <marius.avram@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-05 10:14:25 +01:00
Alexandru DAMIAN a6f1e31721 bitbake: toaster: do not save objects in session
In order to avoid problems when using JSON serializer for
saving sessions, we move from storing the objects themselves
in the session to storing the object id and reloading the
object when retrieved.

This allows, for example, to use cookie-storage sessions if the
infrastructure owner so desires.

(Bitbake rev: 39d0f0c2e87d4b161f1eeaa2657e61b5a6bc9ee2)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-05 10:14:25 +01:00
Alexandru DAMIAN 32a27931db bitbake: toaster: enable SSH-based remote build support
We enable support for starting builds on remote machines
through SSH. The support is limited to poky-based distributions.

We refactor localhost build support and we update
bldcontrol application tests to uniformely test the APIs
of localhost and SSH build controllers.

[YOCTO #6240]

(Bitbake rev: c2ad9c9bb83f61c171434324df8c4d5ee655a556)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-05 10:14:25 +01:00
Alexandru DAMIAN 5bd2b3f9a6 bitbake: toaster: bitbake server listen on all interface
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>
2014-09-05 10:14:24 +01:00
Alexandru DAMIAN a287a6d9c1 bitbake: toaster: rename bldviewer projecttags custom tagset
We rename the projecttags in bldviewer.templatetags to
simple_projecttags in order to avoid conflict with the
similarly named tagset in toastergui.

The conflict leads to an intermittent bug where proper
tags are not read correctly since Django uses only the
module name as global tag library identificator.

(Bitbake rev: a37f2c194d7e59611177cb8755524b7ad702fe91)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-05 10:14:24 +01:00
Richard Purdie 83ebcb1f0c bitbake: process: Ensure abnormal exits set an error level
(Bitbake rev: 8f5c1cdae1ee6ce04ae0d04d0b95bd80efbf7534)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-02 18:10:37 +01:00
Dan McGregor 50a8400b72 bitbake: knotty: ignore interrupted system calls
With the improved exception handling added in an earlier commit bitbake
now stops when recieving a SIGWINCH. This happens frequently when
disconnecting and reconnecting tmux sessions and bitbake didn't survive.
Restore old behaviour of ignoring interrupted system calls but keep
proper exception handling for other errors.

(Bitbake rev: 418358a595c75f45b8d15160ec42bbe569562d91)

Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-01 08:51:33 +01:00
Alexandru DAMIAN 372c9d144e bitbake: toastergui: added pages for project details
We add new pages for the layer importing, layer details,
showing project builds and project configuration.

The pages are  in read-only mode, but they're needed as
to be able to verify the quality of data in the system.

Write capabilities will be added in a subsequent patch.

[YOCTO #6595]
[YOCTO #6590]
[YOCTO #6591]
[YOCTO #6588]
[YOCTO #6589]

(Bitbake rev: eed9ae5c2a2bd7567e12ae9a4f02a5a966a1e1a3)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-01 08:51:33 +01:00
Alexandru DAMIAN acd4a1799d bitbake: toaster: add project pages for machines, targets, layers
We add new pages for the all-machines and all-targets
project-related views.

We update the existing template structure to create
a base project view, similar to a base build view, that includes
a breadcrumb.

Updating existing all layers view to use the new structure.

We update methods in the models to provide corrent
information display.

[YOCTO #6592]
[YOCTO #6593]

(Bitbake rev: 973f582a19441c1ec67061160e4c50ce03ed7b68)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-01 08:51:32 +01:00
Alexandru DAMIAN fe2e53ba30 bitbake: toaster: create Build methods for calculating progress and ETA
We move the code to calculate build progress as percent
and the ETA of the build to the model, so that they can be
reused across different pages.

(Bitbake rev: c2ced09e7ea4a1762d2788bb12a761734d20fd8e)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-29 13:56:50 +01:00
Alexandru DAMIAN 69955c7b42 bitbake: buildinfohelper: BuildRequest project file update soft linked
(Bitbake rev: 93887dadd5ee35557d320e96059c466d2e541065)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-29 13:56:50 +01:00
Alexandru DAMIAN 25a715a119 bitbake: toatergui: update pages to match project models
We update pages and queries to match the new project
models.

(Bitbake rev: 8f47ec259106da714260c7388cee75a6c1f4622d)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-29 13:56:50 +01:00
Alexandru DAMIAN ee250eb7e4 bitbake: toaster: update the bldcontrol to the new orm models
We update the build controller application to make proper
use of the bitbake specification in project settings.

Added heuristic to detect when the meta* layers and bitbake
are checked out from Yocto Project poky, and use a single
git checkout.

Building without a proper oe-init-build-env is not yet supported.

(Bitbake rev: 9eafe14956013f5af39b68fc93e1b03e7ea1f5c2)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-29 13:56:50 +01:00
Alexandru DAMIAN 95df54238b bitbake: toaster: update checksettings command for auto-detection
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>
2014-08-29 13:56:50 +01:00
Alexandru DAMIAN 565f69205f bitbake: toaster: add all layers page
We add a page where the user can browse
and import layers from all the layers known
by Toaster.

[YOCTO #6590]

(Bitbake rev: 59f4a9750a6c4f5360a91e3a4d1c03ceb42da086)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-29 13:56:49 +01:00
Alexandru DAMIAN 3a4356dbfe bitbake: toaster: create project section navigation structure
We create the navigation structure for the project section.
This includes adding URLs for configuration, builds, all layers,
layer details and all targets pages.

Changes to existing pages to exemplify navigation links.

(Bitbake rev: 6f0cb9d106129eb496a4c009d95b0727378e97c1)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-29 13:56:49 +01:00
Alexandru DAMIAN 54530006b7 bitbake: toaster: enable admin interface on select models
We enable the admin interface in Toaster.

We add admin models for Build Environments (where the
sysadmin can configure where the builds take place)
and for Layer Sources (marking the upstream provider
for layer information).

The admin interface and associated data are enabled
only for the MANAGED version.

(Bitbake rev: 6618613c9210fb44d36d90f5f2404b435f10dfc8)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-29 13:56:49 +01:00
Alexandru DAMIAN 234226b905 bitbake: toaster: update orm models for layerindex compatibility
We add a ToasterSettings table that will keep
installation-wide settings.

We update the models for the layer-related data storage to
make them compatible with the layerindex application API.

We add a LayerSource class that can update local data from
a LayerIndex-like compatible API.

Adding a command line option to perform information update
from all upstream layer sources.

Fair warning - there is no backward migration from 0013.

(Bitbake rev: 89e13579e1b44b738f10fadec8454aa0e6f073af)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-29 13:56:49 +01:00
Alexandru DAMIAN 10019a652f bitbake: toaster: fix application discovery in settings.py
We fix application discovery, tuples don't have .append().

Other minor fixes.

(Bitbake rev: a6f18aac3e6bb448d89a3425a2f756c6514ee595)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-29 13:56:49 +01:00
Alexandru DAMIAN 7eb3e45a33 bitbake: toasterui: refactor log saving and save out-of-build errors
We refactor log saving to go through only one code path.

All logs that happened outside the build (i.e. before build
starting) now will be logged to either toaster_ui.log if the
build command ran in interactive mode, or to the build request
errors if the command ran in managed mode.

This enables proper display of error logs in project page.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-29 13:56:48 +01:00
Richard Purdie 669c07d602 bitbake: build/data: Write out more complete python run files
Currently the output in the python task/function run files is rather
incomplete and effectively useless. This enhances the code to take
advantage of the bitbake's dependency tracking and extend the output to
include dependencies. This makes the files more usable for debugging
purposes. Since this only happens at python function execution time, the
overhead is minimal in the grand scheme of things.

(Bitbake rev: 02667e048c3e632f857c87177c0022eaf5481802)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-28 15:12:45 +01:00
Richard Purdie 34226b82da bitbake: bitbake-worker: Extra profiling data dump
Currently we get no profiling oversight into either the main bitbake worker
process, or the overall parsing before task execution. This adds in extra
profiling hooks so we can truly capture all parts of bitbake's execution
into the profile data.

To do this we modify the 'magic' value passed to bitbake-worker to trigger
the profiling, before the configuration data is sent over to the worker.

(Bitbake rev: 446e490bf485b712e5cee733dab5805254cdcad0)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-28 15:12:45 +01:00
Richard Purdie ac66e15f5c bitbake: utils: Improve profile log processing
This stream redirection of stdout is horrible. pstats takes a stream argument
so lets use that instead.

(Bitbake rev: 93d155f4766e27e7b004d13569aa03961fe89e3b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-28 15:12:45 +01:00
Richard Purdie c79b7f06af bitbake: fetch2/hg: Fix username/password handling
We should only add user/password options if they're specified as in the
fetch case. Patch from Volker Vogelhuber <v.vogelhuber@digitalendoscopy.de>

(Bitbake rev: 303e6256947f4df4f283b75b7ccfdffa72864d67)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-28 15:12:45 +01:00
Richard Purdie d1a133a670 bitbake: runqueue: Fix setscene tasks not running
Currently, if you have hard dependencies between setscene tasks (like avahi on
base-passwd through useradd.bbclass), other dependencies may not be installed
even if these exist in sstate. For example, avahi -> expat -> pigz-native
(and avahi -> base-passwd) yet if you cleansstate base-passwd:

bitbake gzip-native:do_clean avahi:do_clean expat:do_clean pigz-native:do_clean base-passwd:do_cleansstate
bitbake avahi | tee

you will currently see pigz-native being rebuilt even though it was in
sstate. The fix for this is to continue to iterate dependency chains
around hard blocked dependencies as per this patch.

After this patch is applied, you will see pigz-native installed from sstate.

(Bitbake rev: f787957a224e8c2682a19e5c4a4d9c86bdce52ba)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-28 15:12:45 +01:00
Robert P. J. Day 6d08e5bb09 bitbake: lib/bb/*.py: Typo fixes/grammar/comment fixes, nothing functional.
(Bitbake rev: 587b144ee409d444494d8d7f2d1c53ede8f7c953)

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-25 08:57:45 +01:00
Olof Johansson 91083de4cb bitbake: depexp: don't use undefined variable 'logging'
This fixes an issue when trying to use depexp without specifying a
recipe. Before change:

  $ bitbake -g -udepexp
  Traceback (most recent call last):
    File ".../bitbake/bin/bitbake", line 382, in <module>
      ret = main()
    File ".../bitbake/bin/bitbake", line 370, in main
      return ui_module.main(server_connection.connection, server_connection.events, configParams)
    File ".../bitbake/lib/bb/ui/depexp.py", line 201, in main
      logger.error(cmdline['msg'])
  NameError: global name 'logger' is not defined

After change:

  $ bitbake -g -udepexp
  Please specify a package name for dependency graph generation.

(Bitbake rev: 984ad90b2f1e29634dc79803a4a0404ab0534039)

Signed-off-by: Olof Johansson <olof.johansson@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-25 08:57:45 +01:00
Bernhard Reutner-Fischer 21f41f6c43 bitbake: cooker: tweak CookerCollectFiles::find_bbfiles
since python-2.5 string.endswith() takes a tuple

(Bitbake rev: 86a67a1fd4244da9343dbf14deed1ad0d3003f32)

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-23 23:02:00 +01:00
Richard Purdie 5a3a7e0f74 bitbake: siggen: Fix a subtle bug in hash calculation for shared work tasks
With a shared work task like gcc, the task can be run from a variety of
different recipes which may have different virtual extensions in place.

Depending on whether gcc-runtime or nativesdk-gcc-runtime's do_preconfigure
task is called for example will change the sorting of the task hashes due
to the way clean_basename currently works.

The correct thing to do here is sort on the base filename first, then any
extension when ordering the hashes. This means we do account for things
like recipes with both a native and non-native dependency but we also fix
the shared work case where we don't care whether it was a virtual version
or not.

(Bitbake rev: 2e80b5d10a5037ed6f0bc227a1f9b42529c87086)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-23 09:31:42 +01:00
Richard Purdie d33cc89e53 bitbake: process: Further improve robustness against server shutdown
Currently, if an exception occurs in an event handler, the server shuts
down but the UI simply hangs. This happens in two places, firstly waiting
for events and secondly, sending events to a server which no longer exists.

The latter does time out, the former does not. These patches improve
both code sections to check if the main server process is alive and if not,
trigger things to shut down gracefully. This avoids the timeout in the
command sending case too.

This resolves various cases where the UI would simply hang indefintely.

(Bitbake rev: ac418e1112ff5f9c3157569316902f7a27fba4b4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-23 09:31:42 +01:00
Richard Purdie 8683c244c1 bitbake: utils: Add workaround for multiprocessing bug
Our usage of multitprocessing is problematic. In particular, there is a bug
in python 2.7 multiprocessing where signals are not handled until command
completion instead of immediately.

This adds a workaround into our wrapper function to deal with the issue.

(Bitbake rev: a16185e602b39b71475aa7e9ee80ad2b1f28d0f7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-23 09:31:42 +01:00
Richard Purdie ecf72a7132 bitbake: command: Trigger updateCache to shut down any active parser threads
If we trigger a shutdown whilst parsing for whatever reason, in some
cases we were not closing down the parser threads. This change
ensures we do so. The function names are not entirely intuitive
but the behaviour is more correct (and commented). The previous bug
with the stdout failure would trigger this one, if there was a cold
cache and parsing was required (but not otherwise).

(Bitbake rev: 25bfa2478f1c3a8eb695e1e5760e06db5be8f2fc)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-23 09:31:42 +01:00
Richard Purdie c501492132 bitbake: bitbake-worker: Improve sigterm handler
When processes terminate, we really want all of the child processes to
terminate too. This was not happening for worker processes which spawned their
own multiprocessing pools, leading to build hangs. This change ensures any
sigterm gets passed to the whole process group. In local tests, this resolved
some hanging process workloads I could generate. It does rely on signals
being delivered in a timely fashion and there is a multiprocessing bug we have
to work around there.

(Bitbake rev: 96f8ea07ace1379380fab2d78eb592fa40c867d4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-23 09:31:42 +01:00
Richard Purdie a4f077b1fe bitbake: knotty: Improve exception handling
Currently, IOErrors are just passed over due to the broken Exception
clause. A command like "bitbake X | <invalid command>" would break stdout
triggering a traceback. With these changes we print the exceptions, shut down
the server gracefully and exit which is a much nicer behaviour and is less
confusion to the user.

(Bitbake rev: 9544108f7b413038d871ce6ca88232de2f2434d9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-23 09:31:42 +01:00
Richard Purdie db50630948 bitbake: process: Deal with infinite looping of the server
Currently if an exception occurs, we just run the idle handler again and
again, usually looping indefintely. Chances are the exception that occurred
will keep occuring and this is not a good place to be.

This was breaking the autobuilders with gigabytes of logs.

At least improve things so the cooker shuts down gracefully when this happens.
Some trace of the original problem may still be present on the console too!

(Bitbake rev: 1f28d8d3311262427938180435b68f0a35c2b330)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-23 09:31:42 +01:00
Robert P. J. Day 34436672f3 bitbake: runqueue.py: Fix typoes/grammar in comments.
(Bitbake rev: 000fa81013205dd9bc907ff7a61f06f57637212d)

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-19 20:41:26 +01:00
Andre McCurdy 02455ebfbb bitbake: fetch2/local.py: fix first line indent of search path debug output
Make OE do_unpack logs slightly prettier.

(Bitbake rev: cec5859dec56529d76a0a685cc67b8da29453c69)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-19 20:41:26 +01:00
Robert P. J. Day f1dc26ebf4 bitbake: daemonize.py: Non-functional comment/aesthetic fixes.
(Bitbake rev: fd293c5fcc89bc7a541d09e88a6aec5e0b2a1db2)

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-19 20:41:26 +01:00
Robert P. J. Day 8a91a24ce9 bitbake: runqueue.py: Correct several misspellings of "notifing".
(Bitbake rev: 4e9aef14d747c37444a4fc683f9641906906afe9)

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-19 20:41:26 +01:00
Robert Yang c3f7f4e015 bitbake: newbb.vim: remove PR
We don't need the "PR = r0" in the bb, so remove it to avoid misleading
the user.

(Bitbake rev: 17fc0174f177b444815487ba67a5d623e47ee8b1)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-19 20:41:26 +01:00
Richard Purdie 25129a6afe bitbake: runqueue: Add sceneQueueComplete event
Its useful to have an event emitted when all of the sceneQueue tasks
have completed since the metadata can hook this for processing.
Therefore add such an event.

(Bitbake rev: 38d4f65bf1cbcdd5a2d60dff0e1d2859c34ed62e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-03 12:40:41 +01:00
Namhyung Kim f401e8f88c bitbake: cooker: Get rid of duplicate 'import re'
The re module was imported at the top, no need to do it again.

(Bitbake rev: c29c2370635075949c75937c237602600f4f10dc)

Signed-off-by: Namhyung Kim <namhyung@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-02 09:57:11 +01:00
Namhyung Kim 70d0316d57 bitbake: knotty: Move second event check into a proper block
so that it doesn't check it twice for non-empty events

(Bitbake rev: e304ace6d8f7d0808ee401b7c01146b2798a81b4)

Signed-off-by: Namhyung Kim <namhyung@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-02 09:57:11 +01:00
Scott Rifenbark 68eb17da93 bitbake: bitbake-user-manual-metadata.xml: Fixed variable flags example.
(Bitbake rev: 78b6c89931a78b2c722d2fcf61cf553b45566a5a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-02 09:30:01 +01:00
Scott Rifenbark 4643e6b76c bitbake: bitbake-user-manual-fetching.xml: Minor edits to clearcase fetcher
(Bitbake rev: 33cd736d84eb8d4719e430450f26acaee5b31782)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-02 09:30:01 +01:00
Scott Rifenbark d0dec8496f bitbake: bitbake-user-manual/bitbake-user-manual-intro.xml: Fixed link
I inadvertantly used a &YOCTO_* variable in the book to get
a link to the landing YP page.  Of course this does not work.
I replaced it with the actual URL.  Unfortunately, a previous
commit slipped through that would have prevented the manual
from "making" correctly.

(Bitbake rev: 63f5a4b06a575e1fb18805b45a01549bffdc4a03)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-02 09:30:01 +01:00
Scott Rifenbark 53436d97e0 bitbake: bitbake-user-manual-fetching.xml: Added new clearcase fetcher module.
Reported-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(Bitbake rev: dc669c4beda04ee88a50c9b48facfbd8cf17a331)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-02 09:30:01 +01:00
Richard Purdie 89d1788412 bitbake: codeparser cache improvements
It turns out the codeparser cache is the bottleneck I've been observing when running
bitbake commands, particularly as it grows. There are some things we can do about
this:

* We were processing the cache with "intern()" at save time. Its actually much
  more memory efficient to do this at creation time.

* Use hashable objects such as frozenset rather than set so that we can
  compare objects

* De-duplicate the cache objects, link duplicates to the same object saving
  memory and disk usage and improving speed

* Using custom setstate/getstate to avoid the overhead of object attribute names
  in the cache file

To make this work, a global cache was needed for the list of set objects as
this was the only way I could find to get the data in at setstate object creation
time :(.

Parsing shows a modest improvement with these changes, cache load time is
significantly better, cache save time is reduced since there is now no need
to reprocess the data and cache is much smaller.

We can drop the compress_keys() code and internSet code from the shared cache
core since its no longer used and replaced by codeparser specific pieces.

(Bitbake rev: 4aaf56bfbad4aa626be8a2f7a5f70834c3311dd3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-26 08:50:14 +01:00
Richard Purdie a05435fc59 bitbake: cache: Optimise invalid cache file handling
If there is a corrupt/invalid cache file, we'd keep trying to reopen
it. This is pointless, simplify the code paths and delete the dead
file.

(Bitbake rev: c22441f7025be012ad2e62a51ccb993c3a0e16c9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-26 08:50:14 +01:00
Richard Purdie 97f4d8fa78 bitbake: cache: Don't reload the cache file since we already have this data in memory
If we're writing out merged data to disk, its safe to assume that either
we loaded the data or couldn't. Loading it again is relatively pointless
and time consuming.

(Bitbake rev: 14c31e18e4a4a52ee54056aeefb09ff8c295b475)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-26 08:50:13 +01:00
Robert Yang 8f52c69183 bitbake: bitbake: remove choices for dump-signatures
The SIGNATURE_HANDLER can be defined by the user, so we can't use choices.

(Bitbake rev: 0036b36e333a68c6d30a6bf5c21bfd4fd3e8441b)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-24 12:31:39 +01:00
Alexandru DAMIAN f4456df240 bitbake: toasterui: fixing event.data clash
This patch fixes a name collision on the event.data
in the MetadataEvent class. event.data is used in the
event system as a copy of "d" in certain situations,
and this collision triggered a bug leading to data loss.

[YOCTO #6332]

(Bitbake rev: 3f191b7cfe95aea4d4e96babf001d62d45dd3aaa)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-23 20:07:48 +01:00
Alexandru DAMIAN 37d2066c83 bitbake: toaster-requirements.txt: document requirements for the python 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>
2014-07-23 20:07:43 +01:00
Alexandru DAMIAN 1b9175af3f bitbake: toaster: properly set layers when running a build
This patch enables the localhost build controller to
properly set the layers before the build runs.

It creates the checkout directories under BuildEnvironment
sourcedir directory, and runs the build in the buildir
directory.

Build launch errors are tracked in the newly added BRError table.
These are different from build errors, in the sense that the
build can't start due to these errors.

(Bitbake rev: 1868d5635b517e0fe1b874674ea7a78910b26e2e)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-23 20:06:58 +01:00
Alexandru DAMIAN 6e71c276b5 bitbake: toaster: add project main edit page
This is the first commit on the project main edit page.

At this point we have:
* the default settings for a newly created project
* the ability to add targets
* the ability to trigger a build command, and have
the build executed

Project layers now have an optional field, allowing for
removal. Default meta, meta-yocto and meta-yocto-bsp
layers cannot be optional.

We add XHR calls for interactivity in the main page.

(Bitbake rev: 4e438854120cbd10319df1b571ec93e334002325)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-23 20:06:58 +01:00
Alexandru DAMIAN 8a3789a7b1 bitbake: toaster: move bldcontrol initial_data fixture to code
We move the initial_data fixture to a code migration,
in order to make sure that we don't overwrite modified data.

The data is inserted only if no data is present, instead
of always overwriting the entry.

The check settings returns 0 if the check was ok.

(Bitbake rev: 525c316ac95c06c52fbcfc836ca5599ee9dbfe8b)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-23 20:06:58 +01:00
Alexandru DAMIAN 5aba3d7fcc bitbake: toaster: improved Project models
A layer may live in a subdirectory of a git repository,
so we add a field to track this setting in the Project layers.

We add the Project schedule_build function, which creates
a build request from the current project configuration.

We also fix an import problem with Projects in views.

(Bitbake rev: 1b5835e5d48cbfb7d38e38437c45d161052dfb37)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-23 20:06:57 +01:00
Alexandru DAMIAN 6cfb76fa8b bitbake: toaster: add fields for sourcedir and builddir paths
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>
2014-07-23 20:06:57 +01:00
Robert P. J. Day 653b557770 bitbake: "per-package" should say "per-recipe"
(Bitbake rev: 1cd369883469747a8158826bb8d67dcca2a8577f)

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-23 10:02:13 +01:00
Scott Rifenbark 8b7116d25e bitbake: Updated the the example 'bitbake -h' output to match the actual output, which has been recently patched to fix the '-S SIGNATURE_HANDLER, --dump-signatures=SIGNATURE_HANDLER' option.
Note also, that I have added a new option that has since appeared
in the output but was not in the manual's example.  That option
added is '--token=XMLRPCTOKEN'.

Reported-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(Bitbake rev: 8fbffd25d42f1f2d9a85ae1d9cc4852e835730d4)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-22 08:33:25 +01:00
Dennis Meier 5bcda42a94 bitbake: fetch2: Add module for ClearCase (ccrc://)
The clearcase fetcher is used to retrieve files from a ClearCase
(http://en.wikipedia.org/wiki/Rational_ClearCase) repository.

Usage in the recipe:

    SRC_URI = "ccrc://cc.example.org/ccrc;vob=/example_vob;module=/example_module"
    SRCREV = "EXAMPLE_CLEARCASE_TAG"
    PV = "${@d.getVar("SRCREV").replace("/", "+")}"

The fetcher uses the rcleartool or cleartool remote client, depending on which one is available.

Supported SRC_URI options are:

- vob
    (required) The name of the clearcase VOB (with prepending "/")

- module
    The module in the selected VOB (with prepending "/")

    The module and vob parameters are combined to create
    the following load rule in the view config spec:
                load <vob><module>

- proto
    http or https

Related variables:

    CCASE_CUSTOM_CONFIG_SPEC
            Write a config spec to this variable in your recipe to use it instead
            of the default config spec generated by this fetcher.
            Please note that the SRCREV loses its functionality if you specify
            this variable. SRCREV is still used to label the archive after a fetch,
            but it doesn't define what's fetched.

User credentials:

    When using cleartool:
            The login of cleartool is handled by the system. No special steps needed.

    When using rcleartool:
            In order to use rcleartool with authenticated users an `rcleartool login` is
            necessary before using the fetcher.

(Bitbake rev: 76cff0aaad4cf10b325bceadd8ea90b3d75edcc2)

Signed-off-by: Dennis Meier <meier.dennis@siemens.com>
Reviewed-by: Roger Meier <r.meier@siemens.com>
Reviewed-by: Christian Liechti <christian.liechti@siemens.com>
Reviewed-by: Henrique Mendonca <henrique.mendonca@siemens.com>
Reviewed-by: Pascal Bach <pascal.bach@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-21 19:24:29 +01:00
Richard Purdie 13a03f2e9c bitbake: command/runqueue: Fix shutdown logic
If you hit Ctrl+C at the right point, the system processes the request
but merrily continues building. It turns out finish_runqueue() is called
but this doesn't stop the later generation and execution of the
runqueue.

This patch adjusts some of the conditionals to ensure the build really
does stop.

(Bitbake rev: 39b08c604ba713100e174c136f81f18eca6ef33d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-21 19:24:29 +01:00
Robert Yang 231c7373fb bitbake: bitbake: update help message for dump-signatures
The bitbake -S had been updated which always reuires an argument, so
update the help info:
- Add the two args in the help message: none and printdiff

- Use type="choice" so that we can get more friendly error messages,
  for example:
  bitbake: error: option -S: invalid choice: 'printdiffX' (choose from 'none', 'printdiff')

- dump-signatures=DUMP_SIGNATURES -> dump-signatures=SIGNATURE_HANDLER

(Bitbake rev: 021b778fa4685bdde39e1a0f6c7c57632dcf792a)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-21 11:00:58 +01:00
Scott Rifenbark d74b8824ae bitbake: bitbake-user-manual-metadata.xml: fixed some example whitespace issues
I added some whitespace to bring the example to use 5 spaces
rather than for so that it follows the manual's convention.

(Bitbake rev: 4c6e7d88d715db18e61bb263dfd2672ebb6c6b09)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-21 11:00:58 +01:00
Scott Rifenbark 335defe010 bitbake: bitbake-user-manual-metadata.xml: KERNEL_FEATURES example updated.
I added text to separate this example code from the general
BitBake User Manual's spirit of standing alone and away from
YP or OE stuff.  Also, added another space to move the examples
code so that 5 spaces are used for literal indentation.

(Bitbake rev: 17fcac8a7b21afa5c7d201e94cbf603ab07ba70c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-21 11:00:58 +01:00
Scott Rifenbark c723fa02f6 bitbake: bitbake-user-manual-metadata.xml: Fixed whitespace
I noticed that the examples from some patches were not indenting
by 5 spaces.  I have fixed these to be consistent.

(Bitbake rev: c487341bd20b70aae6b430ee1c74a7f20345f81a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-21 11:00:57 +01:00
Robert P. J. Day c08d72475c bitbake: bitbake-user-manual-metadata.xml: Removed fakeroot from list
"fakeroot" is now specified as a function attribute, not as a task
flag.

(Bitbake rev: 749b39a8e5e8060222c748a349efc31f541da94e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-21 11:00:57 +01:00
Robert P. J. Day eb169fe8b3 bitbake: bitbake-user-manual-metadata.xml: Added second conditional metadata example.
I think having a couple real-life examples here would make a huge
difference.

Comment from Scott: I modified the example description to indicate
that it is from an OpenEmbedded metadata-based recipe (i.e from
YP).  We have been trying very hard to keep the BitBake User
Manual as separate as possible from the YP docs.

(Bitbake rev: 834780772a08ecce7ed863e96d0674b47d0e589d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-21 11:00:57 +01:00
Robert P. J. Day 49627bbad3 bitbake: bitbake-user-manual-metadata.xml: Adding some flag examples.
As long as i've understood everything correctly, this is just
throwing in some physical examples of a couple concepts.

(Bitbake rev: a18cc69c2fef6484a6acd78ea008d1da71198e68)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-21 11:00:57 +01:00
Scott Rifenbark e83032ce0a bitbake: bitbake-user-manual-metadata.xml: Edits to some operators
Added wording to clearly state immediate or delayed application
for various operators.

Reported-by: Robert P. J. Day <rpjday@crashcourse.ca>
(Bitbake rev: 877c4c9a466e26953abd6fe416c2cba092607dac)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-21 11:00:57 +01:00
Robert P. J. Day af4f1f4a98 bitbake: bitbake-user-manual-execution.xml: Minor edits to execution chapter.
(Bitbake rev: 8ff1b363df74f7e48da67fce9cf6b7e868c5e28e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-21 11:00:57 +01:00
Robert P. J. Day 696973af24 bitbake: bitbake-user-manual-intro.xml: More edits to the intro chapter.
Some applied as is, some not applied, some modified.

(Bitbake rev: af98b2ff4f44f892b63a6598e7fdfc144972ed3d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-21 11:00:57 +01:00
Robert P. J. Day 4df50d3827 bitbake: bitbake-user-manual-intro.xml: Minor edits to start of intro chapter
(Bitbake rev: 4e5db4bc460c12194a233dd283c273009606bb64)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-21 11:00:57 +01:00
Robert Yang b62b682aef bitbake: bitbake-user-manual-metadata.xml: Replaced "populate_staging"
There is no "populate_staging" any longer, should be
"populate_sysroot".

(Bitbake rev: dbe5902e64259e2143f09ab1aa9afa03aa02f4c4)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-21 11:00:57 +01:00
Scott Rifenbark 435e425976 bitbake: bitmake-user-manual-fetching.xml: Added transportuser parameter for SVN
Fixes [YOCTO #6475]

A new parameter has been added to make sure the user is not
passed as the username for the subversion commands with the
SVN fetcher.

(Bitbake rev: 366c70dbb0e9916f50ce1a4ff3ad4bd2757832a3)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-21 11:00:56 +01:00
Alexandru DAMIAN 1dcdd877c7 bitbake: toasterui: fix build - project identification
This patches fixes the build - project identification when
running under managed mode. The build is assigned to the
project from which it was triggered, and to the
build request, as to simplify relationships queries
 in the database.

(Bitbake rev: af1d3373706d365f9138caec110fcb20a5966b7b)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-14 14:10:03 +01:00
Alexandru DAMIAN e7fa0c325d bitbake: toaster: new project page implementation
We add the logic to create a new project. This page
also serves as user registration and silent login
for users.

Once the project is added, the main project page is displayed.

(Bitbake rev: 8855daebe55917c4f5855413d02ae1f3f7f76571)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-14 14:10:03 +01:00
Alexandru DAMIAN d19b784c1a bitbake: toaster: whitespace fix
This patch is just a whitespace (end-of-line) fix.

(Bitbake rev: 5f33d1a240faa49bd8259a48eb15ef57a6b4ce55)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-14 14:10:03 +01:00
Alexandru DAMIAN 9cfa66bd13 bitbake: toaster: add automated login in new project page
Toaster uses the Django authentication system to assign
user accounts to the projects that are being created.

In the current implementation, the user accounts are
created/authenticated automatically, on the fly, based
on the fields specified in the create new project page.

(Bitbake rev: a9062d9692525e24e59b5b2bb4dfdef90b41bf2a)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-14 14:10:03 +01:00
Alexandru DAMIAN cff19351a8 bitbake: toaster: add project pages
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>
2014-07-14 14:10:03 +01:00
Dave Lerner 6b62a0fd6e bitbake: toasterui: Show in the log that ToasterUi is ready to receive events.
Issue: TA53702

It was observed that a sequence in a script such as
   bitbake --server-only ..
   bitbake --observe-only ..
   bitbake <some target>
could generate events from the server to the observer before
the observer was ready to read the events, and the early events
of builds were consistently dropped.  Adding a "ready" note in the
log allows the script to scan for that message before proceeding
to building a target.

(Bitbake rev: 9949948f92bbe2717a05a380d3df63a332d39c9a)

Signed-off-by: Dave Lerner <dave.lerner@windriver.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-14 14:10:02 +01:00
Alexandru DAMIAN c35b678053 bitbake: toaster: automatically enable applications
We automatically enable local applications in INSTALLED_APPS
based on detecting a models.py or views.py file.
This allows Toaster extensibility by adding applications,
without having to edit configuration files.

(Bitbake rev: 05b246095d161143ca2ebc126d9e70d198ab8bb8)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-14 14:10:02 +01:00
Alexandru DAMIAN 5790b60d00 bitbake: toaster: automatically discover urls.py files
Added code to automatically discover and add url dispatchers
to the urlpattern list. This allows extension of Toaster
through adding applications that will be automatically
registered with the URL dispatcher.

(Bitbake rev: 4000d8224206f404d174a5bc4aa49af55cb44d27)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-14 14:10:02 +01:00
Alexandru DAMIAN 1712c715f3 bitbake: toaster: remove strftime calls in filters
We remove the unneeded strftime calls in filters, as the
filters can deal directly with datetime types.

[YOCTO #6379]

(Bitbake rev: 149693a342fe3a56027943d3ecb8bf2e1d0d652b)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-14 14:10:02 +01:00
Richard Purdie a5531a2b89 bitbake: fetch2/svn: Add transportuser parameter
There may be a need to set the user for the transport rather than the subversion
command itself. Add a parameter to the url to allow this.

[YOCTO #6475]

(Bitbake rev: 56c294dc30b6c2575b1cf904e26b8b8bef7677c2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-04 09:28:36 +01:00
Robert Yang 053857479c bitbake: lib: fix no newline at end of file
Add a '\n' to the last line of the file to fix:

No newline at end of file

(Bitbake rev: 54f1359ed2e9d47980cd221b7b43ef56543fe06d)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-04 09:28:36 +01:00
Robert Yang edf8cb1713 bitbake: toaster: fix no newline at end of file
Add a '\n' to the last line of the file to fix:

No newline at end of file

(Bitbake rev: 5eb65d92c35264087e5d82c35638f3b8805b1b3e)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-04 09:28:36 +01:00
Scott Rifenbark 49b416dde5 bitbake: templates: Added newline character to end of script.
Prevents errors when editing in vi and writing and quiting.

(Bitbake rev: 01692654cd792eaf6362bbac9c34314db4a7ffea)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-03 13:58:57 +01:00
Scott Rifenbark 70439569c8 bitbake: bitbake-user-manual-ref-variables.xml: Edits to OVERRIDES variable.
More detail.

(Bitbake rev: 0ac8a504de1798dae02eb2dade2776e7e25d034d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-03 13:58:57 +01:00
Robert P. J. Day 0b96a4ba62 bitbake: bitbake-user-manual-execution.xml: Minor fixes.
Collection of typo and grammar fixes from "Execution"
chapter.

(Bitbake rev: ebca1b7847ff34213e6da71c79f00cb4b6b0757b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-03 13:58:57 +01:00
Robert P. J. Day 538cbf4932 bitbake: bitbake-user-manual-intro.xml: Minor fixes mostly grammar adjustments.
(Bitbake rev: fedc5470e9f4f5438d3de957f47985f76a484533)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-03 13:58:56 +01:00
Scott Rifenbark ac8ac1724d bitbake: bitbake-user-manual-fetching.xml: Small fix in Git Fetcher
Fixed how we refer to the "rev" paramater.

(Bitbake rev: 90b1aec42cd29716f1cbd058757941cbfda235b0)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-03 13:58:56 +01:00
Robert P. J. Day 3a7258afd5 bitbake: bitbake-user-manual-execution.xml: Typo and grammar fixes.
(Bitbake rev: c469ceb86c1f76e9fa867ffb8a5c9b120ed7942b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-03 13:58:56 +01:00
Scott Rifenbark 00ade7ecd0 bitbake: bitbake-user-manual-execution.xml: Edits to "Providers and Preferences"
I split this section into two sections and tried to simplify what
was being said about PROVIDES.

(Bitbake rev: 394f64123d5ef1e9b4628d083488b9432eccbded)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-03 13:58:56 +01:00
Scott Rifenbark 0736649c57 bitbake: bitbake-user-manual-fetching.xml: Small wording change.
(Bitbake rev: 66529a17d50bbce211361d98ace012b9424459c9)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-03 13:58:56 +01:00
Scott Rifenbark 157c80f488 bitbake: bitbake-user-manual-ref-variables.xml: Edits to PROVIDES variable.
Added some more detail to help describe the variable.

(Bitbake rev: 4b2019e67324f0f86e1a49d256eddb4f9ca597f4)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-03 13:58:56 +01:00
Scott Rifenbark 41b46d7826 bitbake: bitbake-user-manual-style.css: Added permalink style for display
Fixes [YOCTO #5772]

Added a couple styles to the CSS style sheet so that the displayed
permalink symbol is barely visible unless you hover over it with
the mouse.

(Bitbake rev: ee8db0cda1c8716ab0151a4859bfff84b2f3bd58)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-03 13:58:56 +01:00
Scott Rifenbark d3e1ce60b1 bitbake: bitbake-user-manual-customization.xsl: Added support for variable permalinks.
Fixes [YOCTO #5772]

Including the gloss-permalink.xsl file in the customization layer
so that making the manual now generates permalinks for each variable
definition in the glossary.

(Bitbake rev: 04467594a599472c367365dffe205bf727c4d592)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-03 13:58:56 +01:00
Scott Rifenbark dd09b077c0 bitbake: template: Added XSL template to support variable glossary permalinks.
Fixes [YOCTO #5772]

This file enables creation of permalinks for variables defined
in the glossary.

(Bitbake rev: 772f2bdc10fa242646e4d09f6bdbaf8558f06b22)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-03 13:58:56 +01:00
Scott Rifenbark ca77f37bf8 bitbake: bitbake-user-manual-intro.xml: Edits to "Obtaining BitBake"
Updated the last bullet item that describes a final way to
obtain a copy of BitBake.  The example was too specific regarding
Poky and OE.  So, I made it quite generic and kept with the
convention of not having any specific links from the BitBake
manual into YP docs or such.

(Bitbake rev: a2a3b534871aa23a5d442b93dd9660d5f9e27536)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-03 13:58:55 +01:00
Robert P. J. Day 296bb748f6 bitbake: bitbake-user-manual-intro.xml: Basic proofreading, grammar fixes.
(Bitbake rev: 266a0b5ef41dcc4048e2a4d1c43567568d7449d7)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-03 13:58:55 +01:00
Belen Barros 7c1a975a1c bitbake: toaster: Fix spacing and layout in no image files notification
Close the definition list before adding the notification, and
restrict the notification width to avoid uncomfortable line
lenghts.

(Bitbake rev: b82f724c271c43218dc28440219adcea968e2a26)

Signed-off-by: Belen Barros <belen.barros.pena@intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-20 14:03:58 +01:00
Farrell Wymore fee3a88695 bitbake: toaster: display message if no images are generated
Display message if no images are generated for a target. This
commit was amended to have more conditions for displaying the
message.

[YOCTO #6094]

(Bitbake rev: ac1911eb857f4759ed085c8a4fc4b47cefafcd7a)

Signed-off-by: Farrell Wymore <farrell.wymore@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-20 14:03:58 +01:00
Ionut Chisanovici 457091dc56 bitbake: toaster: Add performance testing script
This is implemented as a django management command.
For the moment the 'manage.py perf' command will track the toaster
'gui' urls http response code and load time.

To use it:
1. do your toaster builds
2. ensure toaster is started
1. cd bitbake/lib/toaster
2. ln -s ../../../build/toaster.sqlite
3. ./manage.py perf

(Bitbake rev: 4a1fc6851d21500150715f0e8fa03c0b228ec5f2)

Signed-off-by: Ionut Chisanovici <ionutx.chisanovici@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-20 14:03:58 +01:00
Farrell Wymore 7ccbea9ea5 bitbake: toaster: refactor the target page
the target (packages) page had to refactored to
allow the displays to differ depending on the caller
namely the license manifest link. Amended to make the
link from the tag rather than the pathname itself.

[YOCTO #6291]
[YOCTO #6079]

(Bitbake rev: b21a2af9411da17d49521820fa512292e89c856e)

Signed-off-by: Farrell Wymore <farrell.wymore@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-20 14:03:58 +01:00
Richard Purdie f3d08464ef bitbake: build.py: Ensure shared work siginfo files are written to the correct location
Right now shared work signature data is saved to the non-shared directory
which is confusing to everyone including bitbake. Whilst its messy,
extra the stampbase data instead, which ensures the sig data is written
to the correct location alongside its corresponding stamp file.

(Bitbake rev: 7ae1d4844d9d3a76f86ef32c5a794e51e334e588)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-19 17:55:11 +01:00
Robert P. J. Day 5b1c329804 bitbake: bitbake-user-manual-fetching.xml: Grammar, typo, and tweaks.
Various grammatical and typo tweaks all in fetching chapter, including
moving CVS section after wget section for more logical content flow.

(Bitbake rev: 39bbc8f82894ca521d35645cd618dd131fde38ef)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-18 13:48:39 +01:00
Scott Rifenbark 8be77bb03f bitbake: bitbake-user-manual-style.css: Removed dead .PNG file
Fixes [YOCTO #6430]

I removed an old .PNG file that is not used.

(Bitbake rev: dc5adbb8ce140b6898f18bb99bac02aac16f2ac8)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-18 13:48:38 +01:00
Scott Rifenbark 74551392b3 bitbake: bitbake-user-manual: Added permalink support.
Fixes [YOCTO #5772]

I added the five XSL templates to the template folder.  I updated
the bitbake-user-manual-customization.xsl layer file to include
the new templates.

(Bitbake rev: e1c24a79ededb2dd4ac5ce09fcfdf93218261907)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-18 13:48:38 +01:00
Scott Rifenbark c65de86d81 bitbake: bitbake-user-manual-customization.xsl: Removed stale TOC variable.
I deleted the commented out xsl:param line that attempts to
set labeling for Appendices.  It had been replaced by a working
line.

(Bitbake rev: bf79174e02cc113e0512bcadc3ab0fdffd138215)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-18 13:48:38 +01:00
Scott Rifenbark d87cb56aa8 bitbake: bitbake-user-manual-fetching.xml: Edits to the Git Submodule fetcher section.
Exchanged "SRC_URI" for "URI" for clarity.

(Bitbake rev: 90cc450671eaabf917c10a8d01b729b6bc0f544c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-18 13:48:38 +01:00
Scott Rifenbark 77166a2a88 bitbake: bitbake-user-manual-fetching.xml: Added new Git Submodule Fetcher section.
Added the "GIT Submodule Fetcher (gitsm://)" section to the
fetchers chapter.  This information was provided by Chris
Morgan.

Reported-by: Chris Morgan <chmorgan@gmail.com>
(Bitbake rev: a3a3331e7118fd3139fe5a80b157a5a5b38631de)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-18 13:48:38 +01:00
Alexandru DAMIAN e163522205 bitbake: toaster: build control functionality
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>
2014-06-13 11:55:34 +01:00
Alexandru DAMIAN 87b99274e9 bitbake: toastergui: fix built ETA calculation
We fix the calculation showing the estimated time
to build completion.

(Bitbake rev: dc1daae51ef5201475b5c1a69d966ae57b66dcb6)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-13 11:55:34 +01:00
Alexandru DAMIAN 74cd8c38aa bitbake: xmlrpc: add support for token reusing
We add support to specify a connection token in the command line
and in the environment variable BBTOKEN.

When a client registers to a bitbake server, that client
will have exclusive access to the server. The client is identified
by a server-supplied token. If a client terminates, we cannot
reconnect to the server as the token is lost.

This patch adds the capability to specify the connection token
in the command line for xmlrpc clients. This allows us
to have bitbake work as an already-authenticated
client with the server and resume sending commands to a server.

(Bitbake rev: db5390940c0afbcdc9fbcf1225761968ae51d4a7)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-13 11:55:33 +01:00
Alexandru DAMIAN c7ae6bd307 bitbake: toaster: add function to get the database url
We add a function that returns the DATABASE_URL
for the current 'default' database settings. This
is useful to be able to start other toaster instances
with the same database settigns as the currently running
instance.

(Bitbake rev: 272a4bba0804bb6b5e0d498d3453321b5ed1dc76)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-13 11:55:33 +01:00
Alexandru DAMIAN 3bd8e9adc8 bitbake: toaster: create models for bldcontrol and enable it
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>
2014-06-13 11:55:33 +01:00
Alexandru DAMIAN e09cb4017a bitbake: toaster: initial bldcontrol application
The build features of Toaster will be contained into
a separate application, as to modularize the Toaster
project and provide multiple options for deployment.

This patch adds the application as a barebone Django
application in the Toaster project.

(Bitbake rev: 08556b79b7b2af08aaeedf8733b1b8996f387c4e)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-13 11:55:33 +01:00
Ross Burton 8e0c54cd0e bitbake: bb/utils: fix contains_any()
"set1 in set2" doesn't do what you'd expect, and if it did do a subset test
that's not the logic required by contains_any().

Instead get the intersection of checkvalues and val and check if the resulting
set is empty or not (by evaluating it in a boolean context), which tells us if
there are any elements in common.

Based on a patch by Valentin Popa <valentin.popa@intel.com>.

(Bitbake rev: 2e742c03e8dfdfa67899e7f5d579ed14bd87e139)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-12 17:47:59 +01:00
Ross Burton 2261e9f4c8 bitbake: bb/tests/data.py: add tests for contains() and contains_any()
contains_any is buggy so write a test case to demonstrate this.

(Bitbake rev: 25d10c349aab77bf99745c0a90dd8f9b90abccac)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-12 17:47:59 +01:00
Robert Yang 065fb5dd56 bitbake: cache.py: print debug info when EXCLUDE_FROM_WORLD
This gives us an easy way to find out which recipes have been excluded
from world when there are many layers.

(Bitbake rev: cf33d4bfc53ae8dc6353fa295e1acd789d4fc2d2)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-12 17:47:59 +01:00
Alexandru DAMIAN b5a928af72 bitbake: toaster: add Project class models to orm
This patch adds the Project class models to the
toaster GUI data model. There is no specified use,
and the link in the Build class is optional.

(Bitbake rev: 38f77a43d16e202d1f40632b27cb70dd20d02a5e)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-11 10:35:47 +01:00
Alexandru DAMIAN 9c3b53f12e bitbake: toaster: comment out bldcontrol migration command
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>
2014-06-11 10:35:47 +01:00
Ash Charles 66d5be204f bitbake: bitbake: show wildcard appends for bitbake-layers
The 'bitbake-layers show-appends' command can use the built-in
get_file_appends() method which correctly identifies bbappends that
include a '%' wildcard in their filename.

(Bitbake rev: 2732dbae67c1945b668c38cc4cc5678c4aafe3d6)

Signed-off-by: Ash Charles <ashcharles@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-06 10:33:19 +01:00
Alexandru DAMIAN 36a5f66096 bitbake: toasterui: fix django settings environment value
Previously, the buildinfohelper only set a django settings module
environment variable if none were set.

This may lead to problems when the starting the toasterui
from an already existing Django environment.

As such, we always override the variable to provide the
correct name for the local Django settings module.

(Bitbake rev: 8271e61a2fbddd3fc49556829675478d7505d58f)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-06 10:32:55 +01:00
Alexandru DAMIAN 07cd9a3b34 bitbake: toaster: add project related models
We introduce the notion of a project in Toaster as the item
that holds the specification for triggering a build: the set
of layers used, the set of configuration variable values, and
the set of targets to be build.

Builds triggered through Toaster will be associated with a
Project, and they will be configured based on the project
settings at the moment when the build is ordered.

(Bitbake rev: 0bf0251ae05442ae260c6099b389bf765c4fef26)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-06 10:32:55 +01:00
Alexandru DAMIAN b68b74ddd4 bitbake: toaster: update toaster to run in managed mode
We disable bitbake self start to prevent race condition.

ToasterUI will shutdown the server when the build is done
if running in managed mode.

We fix usage of kill server flag in the bitbake binary.

(Bitbake rev: 30159dbda3a40fa596302f91c705cb5f148c97a9)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-06 10:32:54 +01:00
Alexandru DAMIAN b610aaee9d bitbake: toaster: startup script standalone mode
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>
2014-06-06 10:32:54 +01:00
Alexandru DAMIAN 05cf6fe0ff bitbake: toaster: startup script noweb mode
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>
2014-06-06 10:32:54 +01:00
Alexandru DAMIAN 89fe052949 bitbake: toaster: read database settings from the environment
We add the capability to read the database settings for
Toaster from the environment. The DATABASE_URL is intepreted
and used to override the default settings.

This capability is essential for easy deployment of Toaster
in a managed hosted environment, and for creating
build environments with custom database settings.

(Bitbake rev: d16d19dafb83448fc214fce4fbdc2bcbf4bf9ce3)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-06 10:32:54 +01:00
Alexandru DAMIAN 506b5bd729 bitbake: uievent: retry on handler registration failure
The registration of a remote UI event handler may fail
if the server cooker is currently in some certain states.
This may happen, for example, when a remote UI is started
very fast after the bitbake server is started, and the
server hadn't time to finish initial configuration parsing.

Rather than fail outright, we have the remote UI event retry
registration for five time at one-second intervals,
in the hope it will succeed.

(Bitbake rev: c3d520c92ae4ae80d31926a416456df510654b6a)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-06 10:32:54 +01:00
Alexandru DAMIAN e89db137f0 bitbake: xmlrpc: client - remove fatal errors
When we use the XMLRPC client API to connect to a bitbake server,
we want to receive errors from the API instead of having the
API exiting without warning.

Thus the "bb.fatal" calls have been replaced with "bb.warn" calls,
and we re-raise the original exception for handling by the
original caller.

The bitbake starting script has been modified to properly test
for failures in calling the client API and handle them.

Additional error handling added in the client, as to prevent
fatal crashes.

(Bitbake rev: eb63f08c33644f64752aaae2146a000956ce894a)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-06 10:32:54 +01:00
Alexandru DAMIAN a5d01e9ec7 bitbake: bitbake: move configuration reading code
The configuration reading code should live in the
main bitbake entry point, and the server modules should
be supplied with correct configuration instead of attempting
to parse from configuration files.

This patch moves the endpoint address reading from XMLRPC
to the bitbake main script.

(Bitbake rev: ac5753274ff932e1d6f073ab4dab7bd6fe5355a1)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-06 10:32:54 +01:00
Richard Purdie 60c40e5db5 bitbake: siggen: Print warning about tainted tasks
The big warning printed when people use -f is easily ignored/forgotten.
To raise user awareness, print a warning any time we include a tainted
stamp file into a build instead.

(Bitbake rev: 18f9bcbad059608e22fca20309314e1c399acec7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-01 14:29:32 +01:00
Richard Purdie 8a43a6a32b bitbake: build/utils: Fix broken exception handling
Checking for explicit exception names is bad, we also want to be able top
rely on inheritance. Fix these checks to be part of the real except clauses
so SkipPackage is recognised as being inherited from SkipRecipe.

(Bitbake rev: b131229145e1f2c372d6230a7b554e436c13c3f9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-01 14:29:32 +01:00
Richard Purdie 4a78f52d87 bitbake: bb.fatal: Raise a BBHandledException instead of exiting
With new bitbake UIs having the cooker exit at 'random' points
in the codebase is problematic. This patch raises an exception
which matches the situation instead.

(Bitbake rev: 181a9735d02ebd517378558e909efc8b1b118973)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-01 14:29:32 +01:00
Richard Purdie 91a164cb87 bitbake: event: Add SkipRecipe event to replace SkipPackage
In the depths of time we were rather confused about naming. bb files
are recipes, the event to skip parsing them should be SkipRecipe,
not SkipPackage. This changes bitbake to use the better name but
leaves the other around for now. We can therefore start removing
references to it from the metadata.

(Bitbake rev: 98d9e6e0f514a7cb7da1d99bf4bd5602b89426d6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-01 14:29:31 +01:00
Richard Purdie 044296ce4c bitbake: event.py: Allow passthrough of BBHandledException events
We need BBHandledException events to be passed through to the higher
layers, they don't need addition of any traceback since they've already
been reported to the user.

(Bitbake rev: f63b61f8997862439519f474cc09f3e05e95288c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-01 14:29:31 +01:00
Richard Purdie ab29933898 bitbake: cookerdata: Improve error handling
If we see errors during parsing, firstly its bad to show a traceback
for an expansion error so lets suppress this.

Secondly, raise a BBHandledException instead of a SystemExit to show
we've informed the user about the condition (printing a traceback in the
default unknown case).

(Bitbake rev: e01988d9a1b7c40e31161c6ce7b85c4405671068)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-01 14:29:31 +01:00
Richard Purdie a26667054b bitbake: event: Fix event handlers to raise SkipPackage
If an event handler triggers a SkipPackage event, we really want that
event to be received and processed by the higher code levels. Currently
it was getting caught and ignored which was leading to recipes
being present when they clearly shouldn't have been.

In general this exception catching looks to be doing the wrong thing. It
was introduced in
http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/bitbake/lib/bb/event.py?id=37cb4cc02b2e2b6c338c5943747e0a1ef15176b3
but we likely want exceptions to pass through to the higher layers.

This patch therefore removes that code.

(Bitbake rev: 79211b3434855942f9fad4a1db69ce7be911327c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-01 14:29:31 +01:00
Paul Eggleton c2852ea835 bitbake: utils: avoid printing traceback on ExpansionError during parsing
If an ExpansionError occurs during better_exec() we should just raise it
instead of printing the traceback, so that recipe errors (such as broken
URLs in SRC_URI) are more easily comprehensible.

(Bitbake rev: 5b0da8932c318813138c113d2bb20498145dbd42)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-30 10:20:25 +01:00
Paul Eggleton 429bb2ae80 bitbake: fetch2: improve handling of two classes of URL parameter mistakes
Handle the following situations in a URL (e.g. in SRC_URI):

* Trailing semicolon in a URL - this is now ignored.
* Parameter specified with no value (no equals sign). This still
  produces an error, but at least it is MalformedUrl with a proper
  message rather than "ValueError: need more than 1 value to unpack".

(Bitbake rev: bfd13dfbc4c9f1dd8315002271791b1d9e274989)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-30 10:20:25 +01:00
Richard Purdie 91b6edd092 bitbake: Revert "toaster: toaster oe-selftest support"
This reverts commit bb5b1d6b139b886e54bfdc0c17f2b556db6a7fde.

Applied to incorrect repo.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-30 10:20:25 +01:00
Volker Vogelhuber ce5aadc677 bitbake: fetch2/hg: Fix missing proto param for hg checkout with user and pw
A fix for the former patch when checking out a repository with
username and password using HG

(Bitbake rev: 0e7b594ccbceb3149f38776cea204807031ef69f)

Signed-off-by: Volker Vogelhuber <v.vogelhuber@digitalendoscopy.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-28 08:29:18 +01:00
Paul Eggleton 8cdc7926ec bitbake: bitbake-layers: show-cross-depends: add support for RRECOMMENDS
RRECOMMENDS must be satisfied at build time, and these could cross layer
boundaries, so report these if they exist.

(Bitbake rev: 5569b3dca61e6d962494ca65c7aad09b2eb2ae63)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-28 08:29:18 +01:00
Paul Eggleton 8ae64ff2e4 bitbake: bitbake-layers: show-cross-depends: ignore self-satisfied RDEPENDS
Overlayed recipes caused this to show false positives because the
overlaying version appeared to be satisfying the overlayed version's
RDEPENDS; but you'd never be building both at the same time.

(Bitbake rev: b94318174fe7f92b9a20eabb0bc4055066cb3d51)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-28 08:29:18 +01:00
Paul Eggleton 603f3fbe98 bitbake: bitbake-layers: show-cross-depends: ignore global inherits
It's not particularly useful to show globally inherited classes here
since they do not normally represent a dependency.

(Bitbake rev: d16948bb88fcf44d861985838030be7c08697963)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-28 08:29:18 +01:00
Paul Eggleton e124c0f9a8 bitbake: bitbake-layers: show-cross-depends: add option to ignore a layer
By default, show-cross-depends shows dependencies on OE-Core (i.e.
"meta") which is not particularly useful. Add an option to allow you to
hide those. For example, to hide all dependencies on OE-Core:

  bitbake-layers show-cross-depends -i meta

Multiple layers can be specified by using commas as separators (no
spaces).

(Bitbake rev: 0e9062e65acbb05c1d9b3a9145eb866c3d562309)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-28 08:29:18 +01:00
Richard Purdie 122079e9b0 bitbake: data_smart: Fix an unusual variable reference bug
If you try:

Y = ""
Y_remove = "X"

in OE-Core, bitbake will crash with a KeyError during expansion. The reason
is that no expansion of the empty value is attempted but removal from is it
and hence no varparse data is present for it in the expand_cache.

If the value is empty, there is nothing to remove so the best fix is simply
not to check for None but check it has any value.

Also add a test for this error so it doesn't get reintroduced.

(Bitbake rev: af3ce0fc0280e6642fa35de400f75fdbabf329b1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-21 16:47:01 +01:00
David Reyna bf9ff3de5f bitbake: toaster: reduce redundant foreign key lookups
Replace redundant foreign key lookups with "with" to improve all
recipes page load time. Do depends pre-lookup in the view class,
and use python itertation instead of filter() all to achieve x16
processing speedup.

[YOCTO #6137]

(Bitbake rev: a68a6dc50c11cc59e7c873414e3e22ac2644dea7)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>

Conflicts:
	bitbake/lib/toaster/toastergui/views.py
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-21 16:47:01 +01:00
Farrell Wymore defe227135 bitbake: toaster: sort columns properly after edit columns
If a sorted column is made invisible through the edit columns function,
resort the table the its default order.

[YOCTO 5919]

(Bitbake rev: 64618f7489eb9eb13a97d03cd2d353384f5faa70)

Signed-off-by: Farrell Wymore <farrell.wymore@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-21 16:47:01 +01:00
Ionut Chisanovici 8a8d7176fc bitbake: toaster: toaster oe-selftest support
This patch adds toaster tests using the oe-selftest infrastructure.
You need to have builds done - the tests will verify data integrity
after the toaster collection phase.

Once you have your toaster builds done, to run the automated backend
tests via oe-selftest do the followings:

1. Update builddir/conf/bblayers.conf to contain the meta-selftest
layer
2. From the builddir run:

'oe-selftest toaster'

or if you just want to run a single test:

'oe-selftest toaster.Toaster_DB_Tests.testname'

This first part adds the meta/lib/oeqa toaster file.

(Bitbake rev: bb5b1d6b139b886e54bfdc0c17f2b556db6a7fde)

Signed-off-by: Ionut Chisanovici <ionutx.chisanovici@intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-21 16:47:01 +01:00
Chris Morgan 09edf20070 bitbake: fetch2/gitsm: Documentation improvements for gitsm:// fetcher
(Bitbake rev: ef2bf63e56b87e19d1a9059dd2d81a9a1a537254)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-19 12:04:34 +01:00
Richard Purdie 50067e069c bitbake: fetch2/perforce: Ensure command has a default
Ensure there is default command available if FETCHCMD_p4 isn't set.

Also clean up the getVar references whilst here.

(Bitbake rev: d150226d11d5f041f78c8c3ce4abc5465dbc81d8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-11 15:26:25 +01:00
Richard Purdie 56cd778eb0 bitbake: parse: Improve file inheritance logging
The file inheritance logging has been here since the dawn of time. It
duplicates output many times over and logs to debug level 2. When running
with the debug option, its understandable the user may want to see the
paths of files included in the build.

These changes remove pointless/duplicate output and print the
include paths clearly at debug level one in a form which
users should be able to more easily parse.

(Bitbake rev: 633a56987df639295fe9128418da5634050063e5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-11 13:15:12 +01:00
Richard Purdie c0bdb8100f bitbake: knotty: Fix output printed to the user at debug log levels
If a user runs with the -v or -D options, its understandable they'd
expect to see log output from the workers yet right now a bug in the
log handling does not show this.

Fix the conditional to ensure such log output is shown on the terminal
when it has been requested. Ideally this data should always flow to
the logfiles but that is for another patch.

This also fixes the code to do what was always intended in the comments,
i.e. if the user specifies -D or -v, output is shown from the tasks,
otherwise notes are suppressed.

(Bitbake rev: 20a3c93d8572969e76563f29bff89400b93ffae7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-11 13:15:12 +01:00
Richard Purdie bc391938c4 bitbake: parse/ast: Show append logging at lower log level
It was reported that bitbake -D made no mention of which append files it
was using. bitbake -DD does but it makes sense to increase the log level
of this piece of debug information.

[YOCTO #6262]

(Bitbake rev: 5824bf9c6feea05567d155911f4ab2e371911d34)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-11 12:27:56 +01:00
Volker Vogelhuber 60436dc604 bitbake: fix cloning of mercurial repository with username and password specified in url
(Bitbake rev: 9a328262e047562a6edf7b2ec7b8a1949e287cbe)

Signed-off-by: Volker Vogelhuber <v.vogelhuber@digitalendoscopy.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-11 12:27:56 +01:00
Alexandru DAMIAN 646b089c38 bitbake: toaster: modify SQL data type constraints
This patch modifies the data type constraints for the SQL
fields.

The original constraints have been based on guess worked, and
they weren't strictly enforced for sqlite. On MySQL, the
constraints are strictly enforced, and need to match the real
data that we have.

After measuring data on sample builds, the new constraints
have been validated to work with MySQL, and this patch updates
the database schema with the new field types / constraints.

(Bitbake rev: aaefbc0b4e7484d6f4854ce49602821a6e4adc4b)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-08 16:18:12 +01:00
Alexandru DAMIAN 09a1ff9743 bitbake: toaster: fix migration code for MySQL
This is a patch that fixes the 0004, 0005 migrations of the toaster
model to get them to properly work with MySQL.

These migrations had a conflict around Build.timespent field.
The sqlite3 constraits were not enough to detect the conflict, and
the migrations worked as expected.

MySQL objected to adding the field twice, so I did regenerate
the migrations with the correct model listing. The net effect
is the same, so the migrations work the same, but now we
can use these two migration on the MySQL and other more advanced
SQL engines.

(Bitbake rev: 29afc29154b948d270ce52978a1eed4cd8887f92)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-08 16:18:12 +01:00
Dave Lerner 1a10bd3036 bitbake: toaster: fix span2 headings for packages
[YOCTO 6147]

Fix bug in views.py that put 'span2' class id in a 'clclass' key
instead of the 'dclass' key.  This fix exposed another problem in
target.html and the target view function that used 'package_size'
instead of 'size' as the 'clclass' which is inconsistent with the
model field name, causing table data columns to be shown when
the header is hidden.

(Bitbake rev: 436865ac8520c1d75401dde7df373dba9a386c9d)

Signed-off-by: Dave Lerner <dave.lerner@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-08 16:18:12 +01:00
Belen Barros Pena 1278267807 bitbake: toaster: Make sure layer branch only shows when not empty
In the recipe details and package details pages, the layer branch
definition list elements should only show when the branch field in
the database is populated. If the branch field is empty, we don't
show them.

The patch also removes all unnecessary data-toggle and
data-original-title attributes.

[YP #6152]

(Bitbake rev: 72adcadb931519f803dad7488544767241561fb7)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-08 16:18:12 +01:00
David Reyna 961f6226fa bitbake: toaster: sort outcome and sstate columns by string value
Sort the 'outcome' and 'sstate_result' columns by their
description string values and not their numerical values.

[YOCTO #5921]

(Bitbake rev: eee0abe70e4d85a0753f0b122518d7a9f06181bc)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-08 16:18:12 +01:00
Nick Lewis 138ed54992 bitbake: Fix refetch of local files when they are read only
(Bitbake rev: 42b7be1a6c5ff559f4a213eed04b370ca955460d)

Signed-off-by: Nick Lewis <nick.lewis@usa.g4s.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-08 16:17:05 +01:00
Richard Purdie a671ced0ea bitbake: data_smart: Ensure all possible overrides are cached including those with '_' in the name
Unfortunately we've been neglecting to pay the correct tributes to the
cookie monster and hence the datastore is malfunctioning.

Currently tributes are only paid on the last part of a variable after
the last "_" character. We need to split by *all* "_" characters since
an override may contain the character.

This fixes the code so the correct number of tributes are made. Paradoxically
parsing appears to be faster after this change.

(Bitbake rev: d1c712fd3a59fa804e6fd451612c30487671f3a2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-07 10:29:58 +01:00
Richard Purdie 0304d92a97 bitbake: prserv/db: Avoid fsync() calls
If the power were to fail, it doesn't matter to us much if the data
makes it to disk or not, we'd have other problems. However an fsync()
call on a multi build autobuilder is painful so lets avoid them.

(Bitbake rev: 4eb2dc8048e2722d64d589f453df1ce6262c71b8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-03 11:24:48 +01:00
Richard Purdie 99c9b337ac bitbake: persist_data: Avoid fsync() calls
If the power were to fail, it doesn't matter to us much if the data
makes it to disk or not, we'd have other problems. However an fsync()
call on a multi build autobuilder is painful so lets avoid them.

This is particularly true in this case if a timeout causes a reconnect
during a build.

(Bitbake rev: ec28256ac2a30f047585e8f61200d764bc295ded)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-03 11:24:48 +01:00
Richard Purdie c1f4df4e88 bitbake: codeparser: Fix to better catch all getVar references
Currently if you do localdata.getVar, the code parser simply ignores
the references. Change the code to use endswith() to catch more of the
references. These names are probably unique enough to get away with this.

Bump the cache version to ensure things get updated.

(Bitbake rev: cf763cddc3faa2361b4c4dbd08419e4ebabf208f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-03 11:24:48 +01:00
Richard Purdie afcf8e87aa bitbake: bitbake: Bump version to 1.23.1
(Bitbake rev: c40a4100ddb841d231360344616e59ab98e61fb5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-01 22:47:58 +01:00
Otavio Salvador 17daa2ba62 bitbake: bb.utils, bb.codeparser: Add bb.utils.contains_any
This includes contains_any in the special handling code for sstate. It
does not take into account the equivalence of the values. In current
code, considering 'bb.utils.contains_any("A", "foo bar", ...)':

A = "foo"
A = "bar"
A = "foo bar"

All those will get different signatures.

(Bitbake rev: d1e3345d715e488ec3f5515fb0e1fb39366346bc)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-29 23:38:54 +01:00
Christopher Larson 107269d9d0 bitbake: codeparser: don't interact with the cache for subshells
Doing so was causing leakage between the execs of the main value and that of
the subshell value, and was causing the cached subshell value to be used for
the overall variable. At the least this could cause execs contamination
between two variables that while differing, run the same subshell. Beyond
that, it's possible we could have been using an incomplete cached value of
a subshell for that of the main value.

Before this, bb_codeparser.dat would change between parses with differing
bbfile parse order. After, it does not change.

The codeparser cache version is bumped, to ensure we don't use potentially
incorrect cached values from previous runs.

This should hopefully resolve the difficult-to-reproduce issues we've seen at
Mentor Graphics where bitbake emits a script to run a task and misses
dependent functions, resulting in 'command not found' failures. This issue has
also been mentioned on the oe devel list, where someone hit a case where
oe_runmake was missing from a do_install task (IIRC). Adding debug information
showed that bitbake's information about the variable dependencies for this
task is inaccurate in the failure cases.

(Bitbake rev: 97537e4786a1e3a329249497498b59b8f5174fc3)

Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-29 17:34:24 +01:00
Jacob Kroon 3d34b49f4a bitbake: fetch2: Cleanup file checksum generation, v2
The initial version of this patch was reverted in

0a94e568152de550dedc8135a766beb18bf064ab

However, it was later agreed upon that it was reverted due to
a misunderstanding during code review; the patch is ok.

This version of the patch also removes an unneeded initialization of
the 'checksum' variable outside the scopes it is being used in.

(Bitbake rev: 9ee19a3ca2f8e11a91f0289ea3486310c61d40f2)

Signed-off-by: Jacob Kroon <jacob.kroon@mikrodidakt.se>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-29 17:33:58 +01:00
Volker Vogelhuber 0f717ea4b5 bitbake: HG Fetch with username and password in url
Following up a previous patch for mercurial fetcher, I just fixed a
problem when calling update on a repository with subrepositories enabled.

Attached a patch that fixes this problem

>From caae519a2bd64bf7c729bb26aff344827def47fb Mon Sep 17 00:00:00 2001
From: Volker Vogelhuber <v.vogelhuber@digitalendoscopy.de>
Date: Tue, 29 Apr 2014 15:29:47 +0200
Subject: [PATCH] bitbake: - fixed authentication issues in case of using sub
 repositories

(Bitbake rev: dfa041c940caad12da50126a559afc8de089eeda)

Signed-off-by: Volker Vogelhuber <v.vogelhuber@digitalendoscopy.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-29 17:33:57 +01:00
Richard Purdie 183dac4036 bitbake: Revert "fetch2: Cleanup file checksum generation"
This reverts commit 6dfb33fd7204e09815bde7ba5bf21941a73fe965.

It causes an unindeded change in behaviour.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-28 12:54:06 +01:00
Jacob Kroon a688c9cbab bitbake: bitbake-diffsigs: Fix runtime error when no arguments are given
If bitbake-diffsigs is run without arguments it will error:

    Traceback (most recent call last):
      File "./bin/bitbake-diffsigs", line 121, in <module>
        if output:
    NameError: name 'output' is not defined

Fix this by moving the check for output into the inner else-clause.

(Bitbake rev: 7d3545a66863ad7183a7650b2af57eee091c45ae)

Signed-off-by: Jacob Kroon <jacob.kroon@mikrodidakt.se>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-27 01:27:55 +01:00
Jacob Kroon d10353039e bitbake: fetch2: Cleanup file checksum generation
Cleanup the fix done in f9416e76e272ba3249abff099f6f3a47fe82e03e.

Instead of adding continue statements we can just move the last
statements into the final else-clause.

(Bitbake rev: 6dfb33fd7204e09815bde7ba5bf21941a73fe965)

Signed-off-by: Jacob Kroon <jacob.kroon@mikrodidakt.se>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-27 01:27:55 +01:00
Richard Purdie c7c58dbe42 bitbake: fetch2/git: Stop git from triggering fsync() calls
We only ever clone other repositories, if there were a problem such as power
failure, we'd blow away data and rebuild. As such we don't need fsync(). With
filesystems like ext*, the fsync pushes nearly all the data out to disk
which impacts all running processes.

We therefore set a configuration parameter to disable the fsync() calls.

Also fixup a case where basecmd wasn't being used for no good reason.

(Bitbake rev: 0a26abaf3a1e34d556c9375068dd17c879568d0f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-27 01:27:55 +01:00
Richard Purdie 81a1b83954 bitbake: bitbake-worker: Drop BBHASH variables
Iterating through and calling setVar on this number of variables has significant
overhead in the profiling data. By not setting this, we save 3,000 calls
to setVar which gives a noticeable improvement to the speed of task execution.

The BBHASH variables have since been replaced by accessing that data through
the siggen code and going forward, that is the preferred way work with it.

(Bitbake rev: 92526eadd09d19938762290e0492076174367583)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-23 11:43:29 +01:00
Richard Purdie 249a24eee0 bitbake: parse/ast: Optimise data finalisation
The optimisation where only the data we're interested in was finalised
was good but it turns out we can do better. In the case where a
class-extension is to be targeted, we can skip the other targets.

This change does that and speeds up parsing at the bitbake-worker
execution time. Specifically, you can see an improvement in the speed
of bitbake X -n.

(Bitbake rev: b56918c7ef7913e84356c69ee9b269844a446728)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-23 11:43:29 +01:00
Richard Purdie 39c5cfbef7 bitbake: runqueue: Do not write out stamp files in dry_run mode
In dry run mode, stamps for noexec tasks are being written out which
is incorrect. Avoid this.

(Bitbake rev: aa6448a0552ba2947ac262b8b5314a593d1058d3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-23 11:43:29 +01:00
Richard Purdie 75c6b781fc bitbake: runqueue: Fix task weighting algorithm
When looking at a list of tasks, do_patch and do_unpack were being
given equal priority when one clearly depends on another. The
reason for this was the default task weights of 0 being to tasks.
This is therefore changed to 1 to allow correct weighting of dependencies
which means the scheduler has better information available to it about
tasks.

Weight endpoints differently (10) for clearer debugging of priorities.

(Bitbake rev: 12dc1d17fac3e8ec420fcafb06186d32fd847d89)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-23 11:43:29 +01:00
Richard Purdie d8ef08c96b bitbake: runqueue: Fix handling of zero priority task
The zero priority task should be run first but was being confused with
the None value the priority field defaulted to. Check for None
explicitly to avoid this error.

In the real world this doesn't change much but it confused the debug
output from the schedulers.

(Bitbake rev: 49c9d8c9400f74c804c2f36462639236e0841ff0)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-23 11:43:29 +01:00
Belen Barros Pena 5cbf2318b1 bitbake: bitbake: toaster: Fix Empty tasks filter
Somehow the counter was set to count tasks with outcome
'not available', instead of outcome 'empty'. This patch
fixes the problem.

[YOCTO #6146]

(Bitbake rev: 1cc2a299c842185ba14074817d5cd2925275610b)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-23 11:43:29 +01:00
Belen Barros Pena 5345985b47 bitbake: bitbake: toaster: Fix total number of tasks in build dashboard
The total number of tasks in the build dashboard was counting
_setscene tasks, which are not exposed by Toaster as separate
tasks. This patch makes sure that _setscene tasks are not
counted when calculating that number.

[YOCTO #6145]

(Bitbake rev: f8817c060042147a173d3451121304b25ffc4b6c)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-23 11:43:29 +01:00
Scott Rifenbark 57e8d56a6b bitbake: bitbake-user-manual-hello.xml: Edits to the "Hello World" Appendix.
Fixes [YOCTO #1973]

These are review changes applied from Paul Eggleton.

(Bitbake rev: 431181705f1bc3fc51439faa04a193debc1d03fd)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-21 23:03:19 +01:00
Scott Rifenbark 61a680fb5d bitbake: bitbake-user-manual-hello.xml: First draft of "Hello World" appendix
Fixes [YOCTO #1973]

Added the complete "Hello World" appendix first draft beyond
what Bill Traynor had supplied.

(Bitbake rev: 176baaf3d0f033091f5ab9d9cfb2cec3d25a5442)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-21 23:03:19 +01:00
Scott Rifenbark 4687351d16 bitbake: bitbake-user-manual-hello.xml: Edits to environment for hello world.
Some general edits to the sections that get you set up to run
the "Hello World" example.

(Bitbake rev: 43286d31c22e6e2fa96ba1b82445e85db0a0f18c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-21 23:03:19 +01:00
Scott Rifenbark f1b9c7ea32 bitbake: bitbake-user-manual-metadata.xml: Added section on pathname syntax
Added a brief subsection to the "Basic Syntax" section that
describes the issue using the tilde character (~) when providing
a pathname as part of a statement.  BitBake does not expand
this character like the shell does.  We recommend to not use
it in pathnames.

(Bitbake rev: 8e4c5cee932c3f38d4147c59612d76ca0b002727)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-21 23:03:19 +01:00
Scott Rifenbark ef7fac5bba bitbake: bitbake-user-manual-ref-variables.xml: Edits to the BBPATH variable.
I took the stuff about running bitbake outside the build
directory and removed the note syntax.

(Bitbake rev: 783f29a593ce16a37b275b02f71b3ec918ef8c91)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-21 23:03:19 +01:00
Scott Rifenbark 45880c7235 bitbake: bitbake-user-manual-ref-variables.xml: Fixed BBPATH example
The example used in the note in the BBPATH variable description
had incorrect syntax.  Spaces existed in the BBPATH = statement.
I have removed them.

(Bitbake rev: 896a1c102a4afda0e5d07d009bd7918044f88269)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-21 23:03:19 +01:00
Scott Rifenbark 8f4b4e6f31 bitbake: user-manual-hello.xml: General edits
I worked through the chapter and made some minor edits based
on my user experience.  Part of what I did was to update
the console output for the examples.

(Bitbake rev: 13bf6cf71ff49572c3413435a33d87e5b6a8df0d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-21 23:03:19 +01:00
Scott Rifenbark 1313bacfbe bitbake: bitbake-user-manual-hello.xml: Fixed two broken links.
(Bitbake rev: 7a0948beba2c882de31ec9b98c7740bba230aed9)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-21 23:03:19 +01:00
Scott Rifenbark ea4e822b8d bitbake: bitbake-user-manual-metadata.xml: New section on anonymous Python functions
Per Paul Eggleton's suggestion, I added a new section on
anonymous Python functions into the "Functions" section.
I also updated the intro text to account for the added
type of functions.

(Bitbake rev: 983d03c1a082e2b83187f0788e61a7941670b242)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-21 23:03:19 +01:00
Scott Rifenbark 9889a91a5b bitbake: bitbake-user-manual-metadata.xml: Edits to flexible inheritance section.
Fixes [YOCTO #5472]

Applied review edits from Paul Eggleton to this section.
Minor edits and some re-writing.

(Bitbake rev: 7259d9d40aad8254751f7674653cd362a9023054)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-21 23:03:18 +01:00
Richard Purdie 392de9d568 bitbake: doc: Rename user-manual -> bitbake-user-manual
This manual gets combined with other manuals and in that context, it helps
a lot if its seen as the Bitbake User Manual. Renames are a pain but
this is worthwhile so that other docs can correctly be combined with this
one. This also clarifies things like google search results which is helpful.

(Bitbake rev: 452a62ae0c2793e281d6769fd3e45500a74898d6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-21 23:03:18 +01:00
Richard Purdie 4ba4ffeb05 bitbake: bitbake: Update to version 1.23.0 for master
(Bitbake rev: bb4980c63db386ce7d30d9a6b86e9f3861b3bc3a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-10 17:57:56 +01:00
Richard Purdie c3a216c5f5 bitbake: bitbake: Update to version 1.22.0
(Bitbake rev: a8a32de0fb74ff63e5490e3b5e4419146a8f7367)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-10 17:57:56 +01:00
Paul Eggleton 915ec3d02e bitbake: cache: don't trigger reparse on recipes with wildcards in SRC_URI
Since we now get wildcards in the file checksum list in the cache, we
need to ignore them when checking to see if they still exist. This
fixes connman-gnome reparsing on every bitbake execution in OE-Core.

(Bitbake rev: 340c250fc664414ab2715a454bedbd19e8efe103)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-10 17:57:55 +01:00
Alexandru DAMIAN 046a9ea303 bitbake: toaster: Allow toaster to start without pytz
This patch allows toaster to start without pytz.

Django can work with or without pytz, but in the
time zone fix I mistakenly added a hard dependency
on this module.

This patch eliminates the hard dependency.

(Bitbake rev: 40027a6e093c3b7480bfaccbd57e0e613d9a7b71)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-09 18:21:42 +01:00
David Reyna efa4a98fe4 bitbake: toaster: add URI search path list
Display the URI paths from SSTATE_DIR and SSTATE_MIRRORS
in the Task page.

[YOCTO #5996]

(Bitbake rev: 6d07b531736c2b304da2dfe661239fd3612b0541)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-09 17:00:02 +01:00
Dave Lerner d3e5632efb bitbake: toaster: sort on size in detail pages
[YOCTO 5778]

Implements the features described in the attachment to bugzilla 5778
   - new global changes to the format of size data, and
   - adding sorts by selected columns to specific detail pages.

Although new pagination and row search capabilities are shown on the
screen shots for the 5778 attachment, those features are specified in
a different bugzilla entry 5777 and are not implemented in this commit.

Also, the 5778 spec includes table sorting for the recipe package
detail page, but sorting for that page was not implemented in this
commit due to complications with sorting then returning to a page that
is only one URL fragment in a template.

The scope of file changes are described below.
Changes to support new 'size' field column formats...
    default.css - added sizecol class style (right justified)
    projecttags.py - changed filtered_filesizeformat to allow
        ".0" suffixes

Changes that add class 'sizecol, span2(as spec'd) ' to <th> and/or
<td> size columns were made to...
    dirinfo.py,
    package_built_dependencies.html,
    package_included_dependencies.html,
    recipe.html,
    bpackage.html, and
    target.html

More significant changes to support detail page table sorting
are:
    - tablesort.html: New created to implement the sort icons,
        directions, and table headings, and
        suppress sort handling if 'disable_sort' in context,
        without search or pagination elements ingrained
        in basetable_top. Confining the changes to this small file
        reduces the impact (testing and risk) on the larger set of
        files that arleady include basetable_top/bottom files.
    - view.py: Modified the following view functions with
        - trivial changes for size formatting to the views: target,
        - changes to package_built_detail, package_included_detail,
            package_included_reverse_dependencies to handle the sorting
            implementation as well as moving headings and size
            formatting for size columns from templates to the views.
    - Implementation of the detail sorting using above in:
            package_built_detail.html,
            package_included_detail.html, and
            package_included_reverse_dependencies.html
        to include the tablesort heading setup, format the size column,
        and iterate over the new sorted objects, suppressing sorts if
        table row count less than 2.

(Bitbake rev: d16126e9abfffde66ab70865a81997322847d44e)

Signed-off-by: Dave Lerner <dave.lerner@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-09 17:00:02 +01:00
David Reyna dc7d3d2910 bitbake: toaster: hide tasks without order or outcome
Hide the incomplete tasks, those without order numbers and/or outcomes.

[YOCTO #6060]

(Bitbake rev: bdbba81715765681a0404fa82f28e471b241051a)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-09 17:00:01 +01:00
David Reyna 74e2f85019 bitbake: toaster: regex alternation filter caused django error
The combination of a regex filter specification that uses alternate,
plus a search string, plus multiple search_allowed_fields, leads to
a Django fatal error. Replace this regex filter for variables in
local files with a simpler 'contains' against the project's directory
plus a '/conf/' string.

Alex rebased this on top of fix for #6048.

[YOCTO #5962]

(Bitbake rev: fd57128dc3a35ca87031f3df1a531a085e89baf0)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-09 17:00:01 +01:00
Alexandru DAMIAN f88a343773 bitbake: toaster: fix filtering query for multiple filters
This is a fix for using multiple expressions in filters.
Three different issues are touched:
* added an explicit error message for incorrect filter usage
* changed the value separator to something that will pass
through from the browser to the actual code
* changed the "and" operator for combining Q from a dubios
lambda function to the standard operator.and_

(Bitbake rev: 845b081fc108c656f04d4a70afa4695defc13c9f)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-09 17:00:01 +01:00
Alexandru DAMIAN b14482ef61 bitbake: toaster: keep number of rows across searches
This patch will make Toaster remember the selected
number of rows to be displayed in tables across different
searches.

The number of rows setting will not be remembered if the
the user leaves the page and subsequently returns to it.

(Bitbake rev: a84f296591be26972b808e98816e9d92cadf3eb5)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-09 17:00:01 +01:00
David Reyna 5a293287af bitbake: toaster: show unique set-in files in configvar
When listing the set-in files in the configure varaible table, only show
each file once in that summary view.

[YOCTO #6048]

(Bitbake rev: e69a57fc3302ed8fac21631ba95ea66e93b243e5)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-09 17:00:00 +01:00
Dave Lerner 4b17947f24 bitbake: toaster: disable 'size over total' sort
[YOCTO 6061]

Disable size-over-total table column sorts in the image installed
packages view because that field is a computed field and only model
fields are sortable in the current table toaster implementation.

(Bitbake rev: ba6937c9bffcf81f71ef6fa9f0d29fbbd6e17b2d)

Signed-off-by: Dave Lerner <dave.lerner@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-09 17:00:00 +01:00
Alexandru DAMIAN 1d631fba8a bitbake: toaster: do not load all available timezones
This patch makes sure that we only load pytz-recognized
timezones. Pytz is used to transform the timezone information
for the database queries, and needs to be able to deal with
the TIME_ZONE value that we set up.

[YOCTO #6093]

(Bitbake rev: bfe67472e3ee778b78ef004b2153fa88b3807b92)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-09 17:00:00 +01:00
Paul Eggleton 70288db2e9 bitbake: bitbake-selftest: add tests for local fetching
Add some explicit tests for unpacking local files to the appropriate
location. Some of these tests are actually testing for broken behaviour;
these have been called out in the comments, and associated bugs have
been filed.

(Bitbake rev: ca921c773c52392a5a338b2f493ad38c8132f708)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-09 14:31:14 +01:00
Paul Eggleton 68ec4c1d1a bitbake: bitbake-selftest: fix help message to include command line
(Bitbake rev: 3016af554d9cc67aec2429b96d8d085b88315e77)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-09 14:31:14 +01:00
Peter Kjellerstedt 8f683bf782 bitbake: bitbake: knotty: Clear footer before outputting to stderr
With the recent change to split the log output to stdout and stderr,
error messages that appeared while the footer was printed got all
messed up. This was because the messages to stderr was output _after_
the footer, then clearFooter() tried to remove the footer but removed
the error message and parts of the footer.

(Bitbake rev: 4fafea4fa69542b491e84463f6eae0d5bf645673)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-08 18:05:26 +01:00
Paul Eggleton 327ed0bfce bitbake: fetch2: fix traceback when a wildcard matches a directory
If there is a directory matching a wildcard in SRC_URI when getting file
checksums, we should recurse into that instead of producing an error.

(Bitbake rev: ae87b7eb414e3d5eefd2effec7b30c22d2186b02)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-08 18:05:26 +01:00
Paul Eggleton 991af87183 bitbake: fetch2: handle wildcards correctly when recording file checksums
The Local fetcher's localpath is returning the parent directory for a
wildcard match; we need to handle this and add the wildcard
specification so that we checksum the correct files.

Fixes [YOCTO #6127].

(Bitbake rev: 4a90edd62c16cbf41b5b93280e155077564c774a)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-08 18:05:26 +01:00
Irina Patru bbc9aafbbf bitbake: hob: add "recipes/images/" to BBFILES when Hob is launched
The path for "recipes/images/" was not added in BBFILES when Hob had
to search for an image recipe. Therefore, it could not find it and an
error occurred.
This path needs to be added when Hob is launched.

[HOB #6086]

(Bitbake rev: 35c67281775b08925957c32663d587d486944e0e)

Signed-off-by: Irina Patru <irina.patru@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-08 13:07:25 +01:00
Paul Eggleton 1094be01e3 bitbake: fetch2: avoid cache ignoring missing files
Previously, if a file listed in SRC_URI was missing at the time of
parsing, and then was added and bitbake run again, it would not be
picked up because the recipe was cached without it. If we allow the file
to be added to the list of files to checksum, then it will be checked
for and found on the second run.

Fixes [YOCTO #4790].

(Bitbake rev: 71da822762cb298261cccdfa54b9c0fea02c3c5d)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-08 13:07:25 +01:00
Richard Purdie bb66113bde bitbake: fetch2: Fix bug in file checksum generation
For a while its been puzzling me why connman-gnome rebuilds as often as it
does. It turns out you can trigger this with a new checkout of the metadata.

The SRC_URI that is causing the problems is:

SRC_URI = "file://images/*"

and rather oddly the results in checksums for a file "." being added to
the tree, e.g.:

('.', 'ab48a68186f0e0f277c21ef4cb390b4b')

The problem is that when iterating files lists, the checksum variable can
become set yet we don't break the out from the for loop, which leads to
odd (and non-deterministic) entries being added into the file checksum list.
The exact item added probably depends on the order of items on the disk.

Before this change, bitbake-diffsigs on connman-gnome:do_fetch would report:

This task depends on the checksums of files: [
('connman-signal-03.png', 'f6c16aee57b37b73793a2f1dea433ffa'),
('connman-signal-02.png', 'ad0cd22710c097d8174121fc1023c3be'),
('connman-signal-01.png', '8842bd83d2fa9ba56480df34c727c629'),
('null_check_for_ipv4_config.patch', 'a23271e41c9fe81551244d875106af10'),
('connman-signal-05.png', '808589e7e8d502b44c7b007e9e68d48c'),
('connman-signal-04.png', 'ab48a68186f0e0f277c21ef4cb390b4b'),
('null_check_for_ipv4_config.patch', 'a23271e41c9fe81551244d875106af10'),
('0001-Removed-icon-from-connman-gnome-about-applet.patch', 'e2d8269357c1e8c84291606da24eea85'),
('0001-Removed-icon-from-connman-gnome-about-applet.patch', 'e2d8269357c1e8c84291606da24eea85'),
('.', 'ab48a68186f0e0f277c21ef4cb390b4b')]

Afterwards:

This task depends on the checksums of files: [
('connman-signal-03.png', 'f6c16aee57b37b73793a2f1dea433ffa'),
('connman-signal-02.png', 'ad0cd22710c097d8174121fc1023c3be'),
('connman-signal-01.png', '8842bd83d2fa9ba56480df34c727c629'),
('null_check_for_ipv4_config.patch', 'a23271e41c9fe81551244d875106af10'),
('connman-signal-05.png', '808589e7e8d502b44c7b007e9e68d48c'),
('connman-signal-04.png', 'ab48a68186f0e0f277c21ef4cb390b4b'),
('null_check_for_ipv4_config.patch', 'a23271e41c9fe81551244d875106af10'),
('0001-Removed-icon-from-connman-gnome-about-applet.patch', 'e2d8269357c1e8c84291606da24eea85'),
('0001-Removed-icon-from-connman-gnome-about-applet.patch', 'e2d8269357c1e8c84291606da24eea85')]

which is correct and deterministic without the "." entry.

(Bitbake rev: f9416e76e272ba3249abff099f6f3a47fe82e03e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-06 11:31:26 +01:00
Farrell Wymore 396e2153a9 bitbake: toaster: added covered task list
if a task has a 'covered' indication, the list of tasks that
covered the task are computed and displayed. amended to add tooltip.

[YOCTO #5925]

(Bitbake rev: bb05ee13f53f10988579b6238802327732041d0c)

Signed-off-by: Farrell Wymore <farrell.wymore@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-05 14:55:29 +01:00
Farrell Wymore 1029726121 bitbake: toaster: correct package count
The package count was incorrect because it was counting anonymous
packages. the full path of the image files was shortened to just
the filename.

[YOCTO 6087]
[YOCTO 6091]

(Bitbake rev: 06b190b2c23799bd2c9749be28e11bf5d59ed4fc)

Signed-off-by: Farrell Wymore <farrell.wymore@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-05 14:55:29 +01:00
Belen Barros Pena 9db433246f bitbake: toaster: Fixes to the build dashboard
* Add "on" before the date in the build status

* Get rid of the extra space before the "and" in the
build status

* Make the errors and warnings links in the build
status show the message content

* Make sure that the "Images" section in the left navigation
appears only for successful builds

* Link the number of packages installed to the "Packages
included" tab in the image information page

* Remove unnecessary inline styles in the dashboard
template

* Make sure target names in the h1 are listed in
alphabetical order

(Bitbake rev: 644a38e9a90728af52ebda9846d2037dd6831b41)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-05 14:55:29 +01:00
Belen Barros Pena 37e2670951 bitbake: toaster: Make tables happy in Chrome
There is a known layout issue with Bootstrap tables in
Chrome. This change applies a css fix for it, and changes
the span classes in the variables table to improve
formatting.

(Bitbake rev: a7fee015b1cc34351d5ad8b854fc6bf368416400)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-05 14:55:29 +01:00
Belen Barros Pena 7322dddeed bitbake: toaster: Fix the empty packages alert
* Remove a tag in all capitals
* Remove an unnecessary div
* Fix a typo

(Bitbake rev: 1ca139ca157d62cee9c48b22063e77614fa34325)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-05 14:55:29 +01:00
Belen Barros Pena 9e81244b8a bitbake: toaster: Fix "Recent builds" links
* Link the number of errors to the #errors section in the
build dashboard

* Link the number of warnigns to the #warnings section in
the build dashboard

* Link the build time to the build time page

* Move some javascript that applies only to builddashboard.html
to that template from main.js

(Bitbake rev: 94c61d0d9ff24e0c781ea0a8e4bfea4c4ac94d4e)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-05 14:55:29 +01:00
David Reyna 4707c7c3ee bitbake: toaster: catch IndexError error in dictionary lookups
In the get_dict_value filter, there is the edge case where halted
builds can lead to IndexError errors in dictionary lookups, so we
need to catch those.

[YOCTO #6067]

(Bitbake rev: f6fcce974ce3b145bc472cd4e9721d56191828a4)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-05 14:55:28 +01:00
Belen Barros Pena 52ed413c3c bitbake: toaster: Changes to help text
All help text strings have been reviewed by the
technical writer, and some of them by Paul Eggleton.
This patch implements their suggested changes.

(Bitbake rev: ce89530b178be2f3202d45523ef1340e00df05be)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-05 14:55:28 +01:00
Belen Barros Pena 6831b7ad16 bitbake: toaster: Remove html validation errors in tasks.html
Remove the duplicated class attribute and the name
attribute.

Also, make sure that the row blue highlight works
without the name attribute when you land on the
tasks table after clicking the order link in a
task details page.

The commit also fixes a typo in default.css.

[YOCTO #6033]

(Bitbake rev: 471234f1ab1dbcd736a892720e99a305363db5ff)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-05 14:55:28 +01:00
Alexandru DAMIAN 53b781f41e bitbake: toasterui: save warnings from non-build context
Some warnings and errors may come from a non-build context,
and they were not saved, even if they were counted for the current
build.

This patch saves these messages in memory until we have the
entire build context available.

	[YOCTO #5642]

(Bitbake rev: fc7a74e7961775b5d7ff25298abed10138d24dc9)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-05 14:55:28 +01:00
Alexandru DAMIAN 1afb2a2620 bitbake: toasterui: avoid variable name conflict
We rename a local variable in as to prevent a conflict with
a similary named function parameter.

(Bitbake rev: f4e57f794651c4894600445e843ca9d5e104cd84)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-05 14:55:28 +01:00
Belen Barros Pena 86aefcdd4d bitbake: toaster: Update API
Make sure the REST API includes the latest changes
to the database schema.

(Bitbake rev: fb3d1d189f010488a8726872b01313857697751b)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-05 14:55:28 +01:00
David Reyna 0d39bee035 bitbake: toaster: link task order to right tasks page
When linking from a task order number to the All Tasks
page, automatically display the correct page for that link
anchor.

[YOCTO #5933]

(Bitbake rev: e5b6681432b627eb73bfa766d3154162206f374e)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-05 14:55:28 +01:00
Marius Avram 56c776de3b bitbake: cooker: Overwrite IMAGE_BASENAME to default in custom image
This solves a problem of custom images which inherit a base
image with IMAGE_BASENAME overwritten in their recipe by a
different value than its default one: ${PN}.

The value of IMAGE_BASE causes a crash when hob will try to
create symbolic links to the resulting images from the deploy
directory, because it will look for names similar to
<original_recipe_name>-edited-timestamp-machine.rootfs.*
which might be different from the actual resulting image.

The solution is to simply overwrite IMAGE_BASENAME in the
custom recipe to the default value in the case IMAGE_BASENAME
is found in the base recipe.

Some recipes which were affected by this problem are those
from meta-fsl-demos (e.g.: fsl-image-test).

[YOCTO #6017]

(Bitbake rev: e42ee93519000f827be49659b6b5fb7717b3d592)

Signed-off-by: Marius Avram <marius.avram@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-04 15:08:26 +01:00
Marius Avram 07231022e2 bitbake: hob: fix customization of empty image recipe
This fixes a problem which happened when you tried to build an
image by selecting 'Start with an empty image recipe' from the
Image configuration page of hob.

The reason on of the bug was that the name of the resulting image
was threated the same way as ordinary custom images, when in fact
they should use the default name: "hob-image", because they do not
derive from any other recipe.

[YOCTO #6102]

(Bitbake rev: fa4ea3b4b40e7e9e6767e0cd51c6701e0af07135)

Signed-off-by: Marius Avram <marius.avram@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-04 15:07:01 +01:00
Cristiana Voicu f41241cecb bitbake: hob: adding INHERIT += " testimage " affects image recipes list
To find if a recipe is for an image, Hob checks if it inherits
image.bbclass. But when you add testimage in local.conf, this will
be added for each recipe, and it pass the test. Adding a "/" before
"image.bbclass", will check only for image.bbclass.

[YOCTO #6117]
(Bitbake rev: be8511c9d474c570f6ca7078e28919c8a5175a42)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-04 15:07:01 +01:00
Paul Eggleton 082a4170ac bitbake: toaster: fix mis-detection of targets as images
If you are using the testimage class then the old test mistook the
global inheritance of testimage.bbclass with the recipe inheriting
image.bbclass because it was only looking for that at the end of the
string.

Also tidy up the code so you an easily tell what it's doing. (The
original method may have been more "pythonic", but it does nothing for
readability.)

(Bitbake rev: b05e741cb5fe44b37538f2b727782f80dc9bb8fa)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-04 11:53:52 +01:00
Paul Eggleton 432505d563 bitbake: toaster: fix help texts not showing for most tasks
These were not being collected properly because we were explicitly
excluding variables defined as functions from being stored in the
database. We don't want these to be shown in the variables list, and in
any case it makes sense for these to be stored elsewhere, so create a
separate model to store these.

Fixes [YOCTO #6050].

(Bitbake rev: 0d76a5461ce4bd554ff70a465064969e53edf0a4)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-04 11:53:52 +01:00
Scott Rifenbark a5775abb19 bitbake: user-manual-metadata.xml: Added new section on mapping functions.
Fixes [YOCTO #5472]
Fixes [YOCTO #1973]

Created a new section called "Automatically Mapping Functions
Within the Context of a Class".  This section addresses the
EXPORT_FUNCTIONS "operator", which was the last of the adjustments
to the variables bug against the BB manual (1973).  The related
bug (5472) is a general bug against enhancing the BB manual, which
this change caps off.

The section here was reviewed and approved by Richard Purdie.

(Bitbake rev: cec33d4fdc05db3a41e978f3a1ab977730c443eb)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-02 14:15:35 +01:00
Alexandru DAMIAN f688f6b566 bitbake: bitbake: cooker: mark setFeatures command as read-only
This patch makes sure that the setFeatures command is marked
as read-only and that it can only run if the cooker is in
the initial state.

Additionally, remove logging from the XMLRPC module in favor
of sending the exception to the client for easy processing.

	[YOCTO #6089]

(Bitbake rev: f0a1a3e24757f7658d272035620465f92a3e4c3c)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-01 12:53:26 +01:00
David Reyna 4638e52ed2 bitbake: toaster: secondary sort key as table's default order
Provide for a secondary sort key based on the table's default
ordering when doing sort on alternate columns.

[YOCTO #5920]

(Bitbake rev: 1a0defce1499fdc320bcb27b41e06bea2ca2aef2)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-01 10:22:43 +01:00
Dave Lerner 362b71a07c bitbake: toaster: unbuilt package dependency formats
[YOCTO 6057]

For a package shown on the package build dependency page, the dependent
packages may be unbuilt packages, as indicated with the dependent
package's size set to -1.  This fix changes the build template to use
the same formatting functions for unbuilt dependent packages as the
include package templates use for unbuilt dependent packages.

(Bitbake rev: b095ab30a827a50f66a06ac9170d33fae2670736)

Signed-off-by: Dave Lerner <dave.lerner@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-01 10:22:43 +01:00
Belen Barros Pena 69856969d7 bitbake: toaster: Update help text in format_vpackage_namehelp tag
The text now says that the package has not been built.

(Bitbake rev: 4b64f4452aa2da4dcc0491cefa6f1a07f7dd173f)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-01 10:22:43 +01:00
Belen Barros Pena 3e1560919a bitbake: toaster: Match search results form to no results form
In the search results form, add the btn class to the clear
search button and set its tabindex to -1 so that you don't
accidentally clear the search when you want to search
again.

(Bitbake rev: 1cd01dbf3cd59bac6b62fe91ba2bafa0c62fd7f1)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-01 10:22:43 +01:00
Belen Barros Pena 694da9cd09 bitbake: toaster: Increase animation duration
Increase the duration of the blue highlight animation
from 7 to 10 seconds.

(Bitbake rev: 0d48cec969a68f9b70e04be6d86b078df8f1ec5b)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-01 10:22:43 +01:00
Belen Barros Pena c759892f12 bitbake: toaster: Fix the fade out animation
Apply the animation to any element with the class
.highlight

(Bitbake rev: b228739888cf8bac99da4aada3c040aac40f784d)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-01 10:22:43 +01:00
Belen Barros Pena bb1e3de56d bitbake: toaster: Small tweaks to the packages included interface
* Capitalise correctly the label "Reverse runtime dependencies"

* Change dependency popover labels to match the rest of the
interface

* Make sure that dependency links go to the initial tab
of the installed package details pages

(Bitbake rev: 80df010c12f7ba19649a7bbda9d788217cabc57a)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-01 10:22:42 +01:00
Belen Barros Pena a1e6fb2fcf bitbake: toaster: Remove trailing spaces from 'name'
Remove all trailing spaces from 'name' because they show up
in the filter headings, which I find incredibly annoying.

(Bitbake rev: 263eae9d2d7acf62240320765c80f60f3553f620)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-01 10:22:42 +01:00
Belen Barros Pena 3719ecfc22 bitbake: toaster: Show "No builds found" in the builds table
Making sure the h1 of build.html shows "No builds found"
instead of "0 builds found" when a search returns no results.
This matches the builds table to all other Toaster tables.

(Bitbake rev: c8495c38b892d22a1f85286f34b0fdbc17febf78)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-01 10:22:42 +01:00
David Reyna 7920219543 bitbake: toaster: disable configvar sorts for value and files
Disable the sort on files because it sorts on the file array's
first (and invisible) element. Disable the sort on values
because the raw ASCII sort looks wrong to the general user,
especially for values with leading spaces.

[YOCTO #6004]

(Bitbake rev: 800cbddd612c977960aa4dd93b24c22aac4bfae0)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-01 10:22:42 +01:00
Cristiana Voicu fd4579e5f2 bitbake: toaster: use deploy_dir var to obtain the license.manifest path
[YOCTO #6051]
(Bitbake rev: 6dd8133b06bbda5cce50de39123f429a6a3f772d)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-01 10:22:42 +01:00
Ravi Chintakunta 85eb8dbd6d bitbake: toaster: Display task description
Display task description as content of help bubble for a task.

[YOCTO #5748]

(Bitbake rev: 4ffc380d11cff4e1d32d2bf5fb6c7cda6f7e22e6)

Signed-off-by: Ravi Chintakunta <ravi.chintakunta@timesys.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-01 10:22:42 +01:00
Alexandru DAMIAN 8f791ce59d bitbake: toaster: fix timezone detection
This patch replaces faulty timezone detection with a version
that simply reads the TZ environment variable if it is set.

If the TZ is not set, we do a reverse match search among known
timezone definitions and take the first match.

    [YOCTO #5499]

(Bitbake rev: 3a0a556a65368f02635606e4eb707ca08e25007a)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-01 10:22:42 +01:00
Alexandru DAMIAN e1bfb5dd61 bitbake: toaster: update saving sstate task data
This is an update on the sstate file saving data.
It saves both found and missed sstate tasks.

(Bitbake rev: 60c577b1080219b795d3c8ab4e149e929cf9ce14)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-01 10:22:42 +01:00
Richard Purdie cd8541bbfc bitbake: runqueue: Address issues with incomplete sstate sets
The first part of the sstate code checks en-mass whether given checksums
are available. The next part of the code then either triggers those
setscene tasks either running them or skipping them if they've been
covered by others.

The problems was that this second part would always skip a task if it
was unavailable in the first part, even if it would have otherwise been
covered by other tasks.

This mean the mere presence of an artefact (or lack of presence) could
cause a different build failure.

The issue reproduces if you run a build and populate an sstate feed, then
run a second build off that feed, then run a third build off the sstate
feed of the second build (which is reduced in size).

The fix is rather than immediately skipping tasks if the checksum is
unavailable, create a list of missing tasks, then, if that task cannot
be covered by others we can skip it later. The deferral makes the
behaviour the same even when the cache is "incomplete".

[YOCTO #6081]

(Bitbake rev: 5edb1a3e3f454ba6e65551174d86229db2f99636)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-01 10:21:30 +01:00
Richard Purdie d67f25da2d bitbake: runqueue: Fix sstate task dependency problems
If a setscene task has [depends], its possible they may still get executed out
of order. The issue is that the dependencies are set to set() for all tasks
involved. This patch adds back in explict dependencies within these chains
to avoid the setscene task failures.

[YOCTO #6069]

(Bitbake rev: 724c889eed3b03d3199810c185086d3973af826c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-01 10:21:30 +01:00
Scott Rifenbark 790cc61a75 bitbake: user-manual-execution.xml: Added how BB processes curly braces.
(Bitbake rev: f4ebc4de63d64e3b5f87e1d0f51507760c3d82d7)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-30 10:19:49 +01:00
Scott Rifenbark 34f4a9d8b7 bitbake: user-manual-execution.xml: Updated "Checksum (Signatures) section.
Fixes [YOCTO #5357]

Added a paragraph at the end of this section to address the fact
that the user can now debug Bitbake's processing of signatures.
This introduces the -S bitbake option and the fact that the
user can provide a couple parameters with it: "none" and
"printdiff".

(Bitbake rev: 4093fa6c96eebe0bbafb93dc27d8a978cca436c4)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-30 10:19:49 +01:00
Scott Rifenbark e7277a53ed bitbake: user-manual-intro.xml: updated bitbake -h output
The new -S syntax is in there now.

(Bitbake rev: 5a406a69c14b6ddf179fea2c4bc68cddf9eddeea)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-30 10:19:49 +01:00
Richard Purdie fc49a6f00f bitbake: server/xmlrpc: Simlify featureset handling
Rather than passing featureset around various places where the data doesn't
really belong, run a command at connection time to set the appropriate
features. This is similar to what the process server does.

(Bitbake rev: c3b5cc5691291c74dd315c4439c80e0e4b2b5c1d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-30 10:10:37 +01:00
Richard Purdie adba3edca2 bitbake: bin/bitbake: Only try and process an event_queue if it exists
The connection may have failed before the event queue has been setup.
Handle this correctly in the exception handler.

(Bitbake rev: db4d80b5c2d32117cdf06333b9627202998b1512)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-30 10:10:37 +01:00
Alexandru DAMIAN 87fd184639 bitbake: bitbake: toaster: do not trap SIGCHLD
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>
2014-03-30 10:10:36 +01:00
Richard Purdie 6448634205 bitbake: prserv: Fix exit race issues
We shouldn't immediately remove the pid file when stopping the server, if we do, this
causes a traceback within the server itself which can then hang. Fix this by removing
the stale pid file as the last thing we do.

Also:

* don't printing a new "waiting" line every 0.5 seconds.
* make the loop more granular since the user can 'feel' the 0.5 seconds

[YOCTO #5984]

(Bitbake rev: 81f41a806aeddcc38992163557672e296bcbc967)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-30 10:10:36 +01:00
Richard Purdie ef28fcd7fe bitbake: bin/bitbake/cooker: Ensure initial featureset is optimal
If the featureset didn't match the defaults, we'd pay the price of two
base configuration parses which showed up adversely in the performance
benchmarks. This also passes the feature set into the cooker creation so
in the common case we don't have to reset the server. This speeds up
both knotty and hob startup. If the featureset doesn't match, the system
will reset as before, this just streamlines the common case.

(Bitbake rev: 1249543c4dbf3edeac033d888497864cfc807a4e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-30 10:10:36 +01:00
Richard Purdie f80334d8aa bitbake: cooker: Only change self.data if it exists
With the change to more optimal default featureset behaviour, a race was
exposed by hob where the code may try and change self.data before it
exists. This change avoids that.

When the datastore is created, the cooker configuration is used so
data tracking is correctly handled regardless.

(Bitbake rev: 9d8f7efbc39d64124936ccaeb3c47a112e595d78)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-30 10:10:36 +01:00
David Reyna 95cd5688c6 bitbake: toaster: filter tasks with cache attempts for all attempts
Adjust the filter for task cache attempts to include all attempts except
SSTATE_NA.

[YOCTO #5923]

(Bitbake rev: b1f52a87e367b8dea9bd974bc5a886d84d839c45)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-28 13:44:52 +00:00
Dave Lerner c59e929db4 bitbake: toaster: fix dirinfo empty dir expansion
[YOCTO 6036]

In the page that shows the directory layout for an image, if the
directory is empty, then the directory folder icon should be black and
the table row should not be 'expandable' on a mouse click.  That
behavior depends on the directory's child entry count calculated in the
view function controlling that page.

Two images in the database with the same directory path in the target
image, but one with path having entries and the other not having
any entries caused the path without entries to be clickable; the
query for a directory's count of entries, didn't filter on the image id,
only on the path.

(Bitbake rev: 964d2d6efe9a2cfa7cd8760cda4453c3d69b2e27)

Signed-off-by: Dave Lerner <dave.lerner@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-28 13:44:52 +00:00
David Reyna bae133add9 bitbake: toaster: added file types to the Outputs column in the build
The file types are displayed in the Outputs column in the build page. The file types
are derived from the target image filenames.

[YOCTO #5947]

(Bitbake rev: 842abf6759894690d5bc770f4ea2ac15b127e5e2)

Signed-off-by: Farrell Wymore <farrell.wymore@windriver.com>
Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-28 13:44:52 +00:00
David Reyna 877dcd709e bitbake: toaster: add support for empty states in pages
Add support for empty states in the top build page,
the all packages page, and the all tasks page.

[YOCTO #4865]

(Bitbake rev: eaff7b50d7102c97b75df185b9ef917970319d59)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-28 13:44:52 +00:00
Dave Lerner 14a84434a1 bitbake: toaster: show installed package name
[YOCTO #5922]

Implement changes that show the installed package name after the
official 'recipe-named' package name.  If the alias exists and
is different than the package name, then the alias is shown as a
'muted' string after the package name in the form 'as some-alias-name'.
This formatting appears in the included package pages in the elements:
* local breadcrumbs at the top of package included pages,
* <h1> title headings along with a help bubble that is not hovering,
and
* package lists where the help bubble appears when the mouse hovers
over the row.

The changes in detail in this patch per file are:
views.py
- added function that tests whether the package object's installed_name
should be shown,
- added function that appends package name with version and revision to
encapsulate package name formatting in one place and referred to as
package.fullpackagespec,
- changed package_built* and package_included* functions to use both
of the above new formatting functions, passing the formatted values to
templates, and
- adhered to django coding styles by renaming  module local
'get_package*' functions with "_" prefix.

package_detail_base.html
- added display of package aliases for included package page,
- refactored to use package.fullpackagespec, formatted by view function,
- added javascript function to format package alias with help, and
- removed trailing whitespace.

package_included_detail.html
- used javascript function above to format package alias, and
- refactored to use package.fullpackagespec.

package_included_dependencies.html
- used javascript function above to format package alias,
- refactored to use package.fullpackagespec,
- forced empty data cells following hover-help to draw borders
by appending space, and
- removed trailing whitespace.

package_included_reverse_dependencies.html
- use javascript function above to format package alias,
- refactor to use views fullpackagespe, and
- force empty data cells following hover-help to draw borders
by appending space.

package_built_detail.html
- refactored to use package.fullpackagespec, and
- removed trailing whitespace.

package_built_dependencies.html
- refactored to use package.fullpackagespec, and
- removed trailing whitespace.

projecttags.py
- removed unused filter to handle installed name
- removed extra spaces around "title = " in format_vpackage_namehelp

(Bitbake rev: c604e14df8cdb1f47535f093d7044955d4c2057d)

Signed-off-by: Dave Lerner <dave.lerner@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-28 13:44:52 +00:00
Belen Barros Pena c07a294e30 bitbake: toaster: Fix typo in heading code
Fix typo in the code that handles the changes
in the h1 text in order to display the number of results
returned by a search.

[YOCTO #6001]

(Bitbake rev: 65bdd6cf8d0cc2af6cd424de735a5e3f2e54fa99)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-28 13:44:52 +00:00
David Reyna 7643ba3ea1 bitbake: toaster: insure _get_query returns distinct records
The '_get_query' can return duplicate records if a search term appears
multiple times in the same row, so the queryset must be made
distinct before returning.
This commit also removes the initial special case for configvars in
favor of this general solution.

[YOCTO #6012]

(Bitbake rev: d21b64bad8a6a5e23eab552868d555f6e004f4c7)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-28 13:44:51 +00:00
David Reyna 056fbc47c7 bitbake: toaster: blocks for custom/highlighted navigation and breadcrumb links
Implement the navigation links as blocks so that each page can override and have
its respective link appear highlighted. Make the build breadcrumb a block so that
it is customizable to not be a link for the dashboard page. Reorder the page headers
to be consistent order for extends, projecttags, localbreadcrumb, nav-links.

[YOCTO #5916]
[YOCTO #4258]

(Bitbake rev: cb26c4df04170143babd6c9fd60600bfb31486ed)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-28 13:44:51 +00:00
David Reyna 405e190b31 bitbake: toaster: add Image detail and multiple targets to dashboard
Filled in the Image section detail information and allow for multiple targets.
Each target has a separate section. Added license manifest display. Changed the
target of the license manifest link. Added Tasks failed in the build summary.
The target lists required filters to create sorted lists.

[YOCTO #4258]
[YOCTO #5936]

(Bitbake rev: 09b099903bdf51bfb277b9a8f922255cfe83ab96)

Signed-off-by: Farrell Wymore <farrell.wymore@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-28 13:44:51 +00:00
Richard Purdie c4eeaa8e35 bitbake: knotty: Show a link to the logfile for failed setscene tasks
Its not immediately obvious to the user that a logfile exists for a failed setscene
task. Add code to knotty to display where that logfile is in those cases.

[YOCTO #6055]

(Bitbake rev: 0664fa15597785dd90cf205531a9801e6da6ba47)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-27 10:42:08 +00:00
Richard Purdie 6ef47ec5fd bitbake: knotty: Split error output onto stderr
When using bitbake -e in scripts, it would be helpful if the error
output appeared on stderr, not stdout. This change enables that building
upon the new bb.msg filters.

[YOCTO #5274]

(Bitbake rev: ebb797fc5c37d729e3cc8b2dc7156287d385c13b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-27 10:17:20 +00:00
Richard Purdie 6f29f7d371 bitbake: knotty: Ensure the progress bar shows on stdout
I can understand why some programs would want the progress on stderr so
that real output can be captured on stdout. This is confusing for bitbake
since we don't show a progress bar at all in non-interactive cases.

Therefore make sure the progress bar goes to stdout, not the stderr default.

(Bitbake rev: 0529aa9966df5c56b07affe865efce18852efe5a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-27 10:17:20 +00:00
Richard Purdie cf97773394 bitbake: msg: Add stdout/stderr filters
Add logging filters which can be used to split output between stdout and
stderr, ERROR messages and above as passed by the Err filter, anything
below ERROR is passed by the Out filter. This is useful when trying to make
stderr more useful.

(Bitbake rev: d3e1419ef76be5e9ec976597361a5e14a7b6bcb6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-27 10:17:20 +00:00
Richard Purdie 8c1e43ca58 bitbake: cooker/event: Overhaul sanity test mechanism
Sanity tests are currently a pain as its hard to control when they run. This results
in issues where for example the bitbake -e output is not useful as the sanity tests
prevent it from executing. The sanity tests should run later than the base configuration.

This patch changes the sanity tests to always be event triggered with the option of
returning either events on the status, or raising errors. A new cooker feature is used
to change the behaviour depending on the controlling UI.

This does need a change to sanity.bbclass in the OE metadata but its worth the pain
for the increased flexibility and control this offers UIs and the improvement to the
user experience.

(Bitbake rev: 32e171bcc92c6e27fefee971e8714ddf8e1a8ac1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-27 09:42:08 +00:00
Richard Purdie 172095e09f bitbake: runqueue/siggen: Pass in commandline options to dump_sigs()
This allows the commandline options to be processed in the dump signature
code.

(Bitbake rev: ef8537a2e9b48f4fe065a165c102935aee2c9029)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-27 09:42:08 +00:00
Richard Purdie 774eb753d8 bitbake: bitbake: Force -S option to take a parameter
There is no easy way to make this change. We really need parameters for the -S
(dump signatures) handling code. Such a parameter can then be used within the
codebase to handle the signatures in different ways.

For now, "none" is the recommended default and "printdiff" will execute the
new (and more expensive) comparison algorithms.

(Bitbake rev: b9873588696507dfb6aade6821f6f75cb9a19e0a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-27 09:42:07 +00:00
Richard Purdie 39846ddbce bitbake: data_smart: Fix caching issue for double remove references
FOO = "foo bar"
FOO_remove = "bar"
FOO_FOO = "${FOO} ${FOO}"

would show FOO_FOO = "foo foo bar" rather than the expected "foo foo".

This is actually a cache bug, this patch ensures the right value is
put into the cache. The preceeding patch adds a test case to ensure
we don't regress in future.

[YOCTO #6037]

(Bitbake rev: 2a80735183e8faa110b4c6d8d85c4707f28e03a1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-25 22:28:42 +00:00
Richard Purdie 7ae43dcefa bitbake: test/data: Add in test for append/prepend/remove override operations
We currently don't have test cases for _append, _prepend and _remove. This
patch adds some basic tests and includes a test case for a recently reported
issue with the _remove operator.

(Bitbake rev: 93291bd90e18808c7a1c8c692949396bbc7e4348)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-25 22:28:42 +00:00
Dave Lerner 7fa51314bd bitbake: toaster: format packages with size = -1
Packages that have a size of -1 are virtual packages with limited
information.  Such packages should be suppressed from the package
list page for an image.  On dependency and reverse dependency lists of
package, such packages should appear in muted rows, without links,
and with help information.

The formatting rules are encapsulated into projecttags filters when
possible to minimize tests on size==-1 in the templates.

Testing the relevant pages with an HTML5 validator found a stray end
tag in package_detail_base which has been fixed in this commit.

[YOCTO #5966]

(Bitbake rev: 6cdd4067f766ef5680076c33a32b2dc5d622362c)

Signed-off-by: Dave Lerner <dave.lerner@windriver.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-25 21:32:17 +00:00
Belen Barros Pena 64ba1fa805 bitbake: toaster: Small fixes in tasks UI
This commit:

* Fixes an issue with white space when showing the log
in Cached tasks (task details page)

* Formats the no results alert of the "Prebuilt task
could be based on" search in the task details page

* Brings in the task outcome help text to "Prebuilt
task could be based on" table in the task details page,
to the tasks table in the recipe details page, and to
the all tasks page

* Adds the task_color tag to the "Prebuilt task could
be based on" table in the task details page, so that
each task gets the required visual treatment based on
execution

* Makes sure performance information for not executed
tasks shows in the task details page when it exists
(empty tasks often report a short time, for example)

(Bitbake rev: ff46fd6d8db52eeabe8c938c347ce5ba8d328cc1)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-25 21:32:17 +00:00
Belen Barros Pena bca174a63f bitbake: toaster: Fix help text typos
Fix a couple of typos in the help text of the builds
and recipes tables.

(Bitbake rev: fd7c7b064f14d15131322610e552483ce670614d)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-25 21:32:17 +00:00
Belen Barros Pena b7219721c4 bitbake: toaster: Remove commented-out code from views.py
This code in the All tasks view class needed to be removed.

[YOCTO #6010]

(Bitbake rev: f9bfbda3557272452b824a433cf391e983e4abfe)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-25 21:32:17 +00:00
Belen Barros Pena 7d9f1e2ed9 bitbake: toaster: Change placeholder attribute in variables table
Set placeholder attribute for the search input field in
the variables table to "Search BitBake variables" as per
the design specification.

[YOCTO #5998]

(Bitbake rev: a18ae43e0ffa25df50ae6908270bb6b2304022a8)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-25 21:32:17 +00:00
Richard Purdie 0e58578ae5 bitbake: runqueue: Fix sceneQueueEvent to use the correct hashes
The runqueue should be using the "realtask" ID to lookup the task
hash, not the "task" ID. This patch resolves corruption issues where
incorrect task hashes were displayed within toaster.

(Bitbake rev: 84be1a27f89d1bf63c21f06d831df0a66a5db860)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-25 14:20:45 +00:00
Marius Avram 41ed4123a6 bitbake: hob: fix set_extra_setting function
The function is used to save additional variables in the configuration file
when the user adds a new (key, value) pair from the Settings->Others. There
was a problem though when the function was trying to retrieve an older
instance of EXTRA_SETTINGS from the configuration file. Sometimes its value
was returned as a dictionary and sometimes a string, which caused a crash when
calling ast.literal_eval(). The reason of the problem must be a change in
bitbake's parsing system. The changes will fix this issues.

While analysing this problem I discovered that the variables were not saved
properly in the configuration file after consecutive changes to Settings->Others
because of the way saveConfigurationVar() from cooker.py works. This patch
will also solve this issue.

[YOCTO #5989]

(Bitbake rev: bdbcd8866104c315fc9da631407d4280433dbfde)

Signed-off-by: Marius Avram <marius.avram@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-25 13:26:55 +00:00
Marius Avram 22af8031cd bitbake: cooker: delVar in removeConfigurationVar
When a variable was removed from a configuration file it was not
removed from memory. This also had the effect of not allowing
to set a new value for the same variable with saveConfigurationVar.

(Bitbake rev: 30cd1fab6633aaf50ef53eefccc6d69d598eb293)

Signed-off-by: Marius Avram <marius.avram@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-25 13:26:54 +00:00
Scott Rifenbark 843e3ecf9e bitbake: user-manual-metadata.xml: Added varflag for vardepvalueexclude.
Fixes [YOCTO #5897]

Added several new varflags to the existing list in the
"Variable Flags" section.  The key one being the
"vardepvalueexclude" flag.

(Bitbake rev: 01a07dabb0d0c6a7f8c3c048396cfdf9d756b032)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-25 13:23:06 +00:00
Scott Rifenbark 37f7820d4d bitbake: user-manual-metadata.xml: Edits to "Basic Variable Setting"
Fixes [YOCTO #5507]

I applied some edits from Richard's review to the fix for
handling variable setting.  Moved the new section I created into
the existing "Basic Variable Setting" section.

(Bitbake rev: 0d63589abfa6b353f3b456a9a91de4dd98eb3965)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-25 13:23:06 +00:00
Scott Rifenbark c0a13d21cf bitbake: user-manual-metadata.xml: Sections to handle variable setting added.
Fixes [YOCTO #5507]

I provided further explanation in the "Basic Variable Setting"
section to note that trailing and leading blanks are not stripped
from a value when set (e.g. VARIABLE = " value").

I added a new section "Null and Blank Setting" explaning that setting
a variable to "" and " " are two different things.

(Bitbake rev: 96d0b38577476a3576487f1fa9a4b6c9dff5d3ed)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-25 13:23:06 +00:00
Scott Rifenbark 019c868596 bitbake: Makefile: Added publish tag so the book can be published.
(Bitbake rev: a895f76836c867822f5be33546e51b285e7016e0)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-25 13:23:05 +00:00
Alexandru DAMIAN 478f1b7afe bitbake: toaster: replace package dependency tag w/ view queries
This patch moves the queries for package dependencies from the
project tags to the views. This is done to bring the code inline
with the Django philosophy of making all data queries in views.py

This change has no performance implication.

(Bitbake rev: 9dd53bd4355148916a89cf672b6c5db5f6b1ae35)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-25 11:17:34 +00:00
Alexandru DAMIAN 70f1a3db5e bitbake: toaster: clean exit on bb server shutdown
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>
2014-03-25 11:17:34 +00:00
Alexandru DAMIAN 1913a1751d bitbake: toasterui: save missed sstate tasks
We save the missed sstate tasks as tasks that executed
but have the sstate_result set to "SSTATE_MISSED", signaling
that the attempt to find an sstate file failed.

(Bitbake rev: 6f22e02614adcc642fe011e5e31ca4936d1cb19d)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-25 11:17:34 +00:00
Alexandru DAMIAN 1d20fc44ea bitbake: toaster: select recipe based on PN name
When saving task stats, if there were multiple tasks executed
based on the same recipe file, we might have saved the stats
to the wrong task by selecting another recipe.

This patch takes the PN into account to properly select
the file stats.

A check is also made to make sure we don't fail saving
data due to interrupted builds.

(Bitbake rev: e855031410daf2b99a6ca40b70956fe67c96f71c)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-25 11:17:34 +00:00
Irina Patru a6c3cb705d bitbake: toaster: Remove circular dependecies from packages/recipes
The RelatedManager for Package_Dependency and Recipe_Dependency is changed
so that circular dependacies are hidden in the UI, but will still remain in
the database.

[YOCTO #5655]

(Bitbake rev: 77e6cc952e73dec4a6e5149e52f87000709d2152)

Signed-off-by: Irina Patru <irina.patru@intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-25 11:17:34 +00:00
Amit Kumar Chaudhary da1b795a9a bitbake: toaster: combine ready functions
Merge the code into single ready function.

[YOCTO #4283]

(Bitbake rev: 16e6fc6e0492f4ebd5f18bd236478b6f9f778a1e)

Signed-off-by: Amit Kumar Chaudhary <amit@floatingpondtech.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-25 11:17:34 +00:00
David Reyna f5d616ef3e bitbake: toaster: add search by section to all recipe page
Add the 'section' to the searchable columns list for the recipe model.

[YOCTO #5993]

(Bitbake rev: 560569d0e1e5de694bc19d09bdf98890af54a6d6)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-25 11:17:34 +00:00
Cristiana Voicu 9e376dbed2 bitbake: bitbake toaster: check the file_name with the content of the IMAGE_FSTYPES variable
File_name information of Target_image_file is being collected for a
.rootfs.manifest file. We would like not to collect this. The solution is
to cross check the information gathered for file_name with the content
of the IMAGE_FSTYPES variable. If any of the file_name entries does not
match the content of IMAGE_FSTYPES, we do not store it.

[YOCTO #5189]

(Bitbake rev: 017771ed0508b247edaf875789260906f44381f4)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-25 11:17:34 +00:00
Marius Avram 2d4199ba8c bitbake: toaster: apply filter only on selected attributes
This fixes the filter from the main page: 'All builds' applied to the
table header. Once one is selected, the filter button for that respective
column will receive a title attribute which will show additional options
when you hover over it. Until now the additional option was active for
all filters buttons not only for the one selected. This also caused
malformed output in the case of the buttons which weren't among the
selected filter.

[YOCTO #5929]

(Bitbake rev: 50e7f8f3bcfdd5b3e1b7778bfaaa93a563aba45d)

Signed-off-by: Marius Avram <marius.avram@intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-25 11:17:33 +00:00
Belen Barros Pena 4f44b8b952 bitbake: toaster: Change "0 found" to "No found"
Change the string in the h1 when search returns no results
from "0 things found" to "None things found". The change
applies to the BitBake variables, tasks, recipes, packages
built, time, CPU and disk I/O tables.

[YOCTO #5981]

(Bitbake rev: 8d71bd39947dd909d02c8d33847e5852c9f20f19)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-25 11:17:33 +00:00
Belen Barros Pena cf3d6bdafd bitbake: toaster: Update local configuration counter
The counter for the local configuration filter in the
variables table was counting only variables set by
local.conf. Updating to add in variables set by
bblayers.conf

(Bitbake rev: 0047dd486c23707dd0fd7f9a2ae485b987d0b3e3)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-25 11:17:33 +00:00
Belen Barros Pena 1b721103de bitbake: toaster: Add help text to filters
The 'Set in file' and 'Description' filters in the configuration page,
and the 'Outcome' and 'Cache attempt' filters in the tasks page should
include a help tooltip with some explanation about what they do.
This change adds the tooltips.

(Bitbake rev: 7793de593121da9761e4584331b68bf684112300)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-25 11:17:33 +00:00
Belen Barros Pena 259611b821 bitbake: toaster: Fix alignment issue in searchform
The search form in basetable_top.html had a small alignment
issue between the search text field and the search button.
This change aligns the elements correctly.

Whitespace fix by Alex Damian.

(Bitbake rev: 54ec8dfe779bc20d5aaeeeeb768da8412e5dfd0f)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-25 11:17:33 +00:00
Dave Lerner ecfb339d50 bitbake: toaster: fix package size 1st sort order
[YOCTO #5914]

On the pages with tables listing packages with a size column, change the
first click sort order on the size column so that packages are sorted in
decreasing order instead of increasing order.  It is more likely that
the user sorts this page data by size because the user is interested in
those packages consuming the most disk space.

(Bitbake rev: 3d69f5cdf154df83e7a487e1b609bb8f7b5b6df2)

Signed-off-by: Dave Lerner <dave.lerner@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-25 11:17:33 +00:00
Belen Barros Pena 0525edb25c bitbake: toaster: Change objectname 'packages' to 'packages built'
This will set the placeholder attribute of the search input
field in bpackage.html to the required "Search packages
built".

[YOCTO #5977]

(Bitbake rev: 841a086822a3fa740b5651938aee6a42eba58409)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-25 11:17:33 +00:00
David Reyna ef1063610a bitbake: toaster: reset default filter for configvar page on new searches
The configvar page has a default filter by design. However, new search terms
should override and clear that filter, for consistency across the interface.

[YOCTO #5961]

(Bitbake rev: b80c578d9330a45e9c2502701de2ebb6307b1caf)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-25 11:17:33 +00:00
David Reyna 4f02193f05 bitbake: toaster: warn new filter replaces existing filter
If the user pop-ups a filter dialog when another filter is already
active, warn the user that the new filter would replace the
previous filter.

[YOCTO #5960]

(Bitbake rev: 6be58123fcdb0ff20de2a88315e1e3012effd1d3)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-25 11:17:32 +00:00
Alexandru DAMIAN 604d2c8df3 bitbake: toaster: Revert "added file types to the Outputs column in the build page"
This reverts commit d40ac966b2.

Sloppy review on my part let the original patch in, when it should've
been rejected because the filter tags should have no knowledge of the
object system.

(Bitbake rev: 7e59b6b1cb44de00c512facece5ede96375a411f)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-25 11:17:32 +00:00
Marius Avram 299fbbf31a bitbake: hob: output filenames based on initial recipe name
If a recipe for an image was edited from the hob interface the name
of the files outputed in the <build_dir>/tmp/deploy/images/${MACHINE}/ and the
temporary recipes from <build_dir>/recipes/images/ contained only the
generic name "hob-image". From now on both the temporary recipes and
the output from the deploy/ directory will contain the name of the base
recipe appended by the "-edited" suffix, in the case when a base image recipe was
edited. The base recipe can be a standard recipe (e.g core-image-minimal) or
a custom created and saved by the user.

For example, if core-image-minimal is edited the deploy/ directory will contain
core-image-minimal-edited-20140318-140428-qemux86.ext3 and the recipes/images/
directory will contain the recipe core-image-minimal-edited-20140318-140428.bb.

[YOCTO #5002]

(Bitbake rev: f34575809677dc52e1071a3ae3daebe92819cec0)

Signed-off-by: Marius Avram <marius.avram@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-24 17:54:46 +00:00
Olof Johansson 7dd4bf6310 bitbake: fetch2.URI: Set username/password should not change the other
When setting the username after already having set the password, the password
was unexpectedly reset. This change fixes this issue and introduces unit tests
to make sure it doesn't happen again.

(Bitbake rev: 25faef3a047f9c7564089463d7c96f6910b640cb)

Signed-off-by: Olof Johansson <olof.johansson@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-24 17:54:46 +00:00
Olof Johansson 57484d68df bitbake: fetch2.URI: Support URIs with both query strings and params
There is a case in meta-intel where a SRC_URI contains both a query string and
URI parameter:

 https://edc.intel.com/Download.aspx?id=6190;downloadfilename=LIN_IEMGD_1_14_GOLD_2443.tgz

Python's urlparse thought the URI parameters were part of the query parameter
value, but in the bitbake context this is obviously not the case. As bitbake's
usage isn't really RFC compliant, we have to extract and remove the URI parameters
*before* urlparse sees the URI.

(Bitbake rev: c2f27ae4271985b48f957747b6ea372c8699cb49)

Signed-off-by: Olof Johansson <olof.johansson@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-24 17:54:46 +00:00
Olof Johansson aca2d14e93 bitbake: fetch2.URI: add support for query parameters
This change introduces the .query property of the URI class. It is a
read/write dict of the parameters supplied in the query string of the
URI. E.g.:

  http://example.com/?foo=bar => .query = {'foo': 'bar'}

(Bitbake rev: 1cb2b3c458c8c5521591d2c8f2e0058143fc77bb)

Signed-off-by: Olof Johansson <olof.johansson@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-24 17:54:46 +00:00
Olof Johansson 64fdd3abbb bitbake: tests.fetch: Remove debug assert
(Bitbake rev: f112660bca0ed8be061055b1e388deeb2d1980a7)

Signed-off-by: Olof Johansson <olof.johansson@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-24 17:54:46 +00:00
Olof Johansson 86860bbfd9 bitbake: fetch2.URI: Coerce urlparse to use netloc for all schemes
(Bitbake rev: 4d502578f022bcf772780550c047b8c09ba01443)

Signed-off-by: Olof Johansson <olof.johansson@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-24 17:54:45 +00:00
Alexandru DAMIAN 3175653fe0 bitbake: toaster: fix task elapsed time calculation
This patch restricts the elapsed calculation to just
the events that have the "time" parameter set.

This fixes an error where data was lost due to an exception
where invalid dictionary lookups were made on the wrong
events.

(Bitbake rev: fa9f4eb8784553deb782bff34c5e04012c2c52c9)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-21 14:47:53 +00:00
Dave Lerner 4cdd56fff3 bitbake: toaster: image information views
[YOCTO # 4346]

When a target image is selected, this commit adds to the toaster
project a two-tabbed page that shows
1) 'packages included' a table of packages included in the image
(see target.html), and
2) 'directory structure', the target image's file system directory
and detailed information showing the source of each file in the
directory table (see dirinfo.html).

The directory structure tab relies on the open source jQuery plugin
jtreetable which provides hierarchical table expansions and contractions
of the directory entry tables as the user drills down into directories.

A file of jtreetable styles that are compatible with other toaster styles
is provided included as css/jquery.treetable.theme.toaster.css. The
complete unaltered jtreetable plugin is added via a separate commit.

This work was developed base on the bugzilla specification number 4346
and the document "Design 1.1 Image information" attached to that report.

Whitespace and typo fixes from Alex Damian.

(Bitbake rev: 1ba9f310a8b4fd0952a95be86ab43ae27fe6d983)

Signed-off-by: Dave Lerner <dave.lerner@windriver.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-21 14:47:53 +00:00
Dave Lerner e94f0b4e8c bitbake: toaster: add jquery treetable plugin
This commit includes the critical javascript and css files
downloaded from http://plugins.jquery.com/treetable version 3.1.0.
The following is from the author's README.md included with
the license files in the directory static/jquery-treetable-license.

"jQuery treetable is a plugin for jQuery, the 'Write Less, Do More,
JavaScript Library'. With this plugin you can display a tree in an
HTML table, e.g. a directory structure or a nested list...
Download the latest release from the jQuery Plugin Registry or grab
the source code from Github. Please report issues through Github
issues. This plugin is released under both the MIT and the GPLv2
license by Ludo van den Boom...
See index.html for technical documentation and examples. The most
recent version of this document is also available online at
http://ludo.cubicphuse.nl/jquery-treetable. An AJAX enabled example
built with Ruby on Rails can be found at
https://github.com/ludo/jquery-treetable-ajax-example."

Author: Ludo van den Boom

The relevant files were moved to the static/js and static/css
directories to match the existing javascript and css toaster
deployment model.

The applicable licenses and the README are in
static/jquery-treetable-license.

(Bitbake rev: 9a260d8b08053e3dcc2fe5960e060b2da1109790)

Signed-off-by: Dave Lerner <dave.lerner@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-21 14:47:53 +00:00
David Reyna 6f5e196d0f bitbake: toaster: filter out setscene tasks in recipe details
Filter out any *_setscene tasks in recipe details page, as
they are not relevant.

[YOCTO #5913]

(Bitbake rev: 3aca83accd6755d518d6b6c667e685020efdfb8d)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-21 14:47:53 +00:00
Belen Barros Pena d5ff3016f3 bitbake: toaster: Amend failed tasks behaviour
In the builds table, when a build reports more than one
failed task, the number of failed tasks should be a link
to the tasks table with the failed tasks filter applied.
Amend the URL to include the filter.

(Bitbake rev: 7d93dd7a1ddb43279e0e1309ac6d935bf6b2ec97)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-21 14:47:52 +00:00
Belen Barros Pena 3a36186f03 bitbake: toaster: Set display of "Cache attempt" column
The "Cache attempt" column should display by default in the
tasks table, but should be hidden by default in the time,
CPU and Disk I/O tables.

(Bitbake rev: dc96eecd2e8bef1b4d4fc500bf496b3edb91f808)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-21 14:47:52 +00:00
Belen Barros Pena 496365c4c9 bitbake: toaster: Remove extra space in the breadcrumb
For builds with more than one target, remove the extra
space between the '+' and the number of targets - 1.

(Bitbake rev: 0d5e342d8878d8aff0ffe723be376845cccd8720)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-21 14:47:52 +00:00
Belen Barros Pena 8936cec3db bitbake: toaster: Change "Package version" to "Version"
We use "Version" everywhere else.

(Bitbake rev: 9def611e25c0d90285012cf44cb40256984368f3)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-21 14:47:52 +00:00
Belen Barros Pena 4f812cd569 bitbake: toaster: Remove trailing spaces from 'name'
Those extra spaces were showing in the heading of the
filter modal dialogs.

(Bitbake rev: ed958d288de92faf8bd17a067c7a7f719dacd27d)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-21 14:47:52 +00:00
Belen Barros Pena c9065cb95b bitbake: toaster: Add link to the Toaster manual
The Toaster manual will live at
http://www.yoctoproject.org/documentation/toaster-manual
and should open in a new tab / window.

(Bitbake rev: 4e382ac6b5c1da497caa1ece3fcdc404dd02c058)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-21 14:47:52 +00:00
Alexandru DAMIAN f191ab0198 bitbake: toaster: measure task duration with server-side timestamps
The buildstats and toaster use separate time markers to measure the
duration of task execution. This causes a mismatch in the time
measured by buildstats class and the time measured in toaster.

The solution implemented here is to timestamp the creation of
every TaskBase event on the bitbake server side and calculate
the execution duration as the difference between creation time
of TaskSucceeded and TaskStarted events.

Based on an original patch by Marius Avram.

[YOCTO #5485]

(Bitbake rev: 7a08282c074c264f414cf7665dc873f51245072c)

Signed-off-by: Marius Avram <marius.avram@intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-21 14:47:52 +00:00
Marius Avram 888683de7a bitbake: ConfHandlerr: Use full path in variable history
When an evaluation was made for a configuration file the path to the
file was saved as a relative one. The change in this commit will save the
location as an absolute path. This way the user will have full information
regarding the location of the file where a variable was changed and the
line withing the file.

[YOCTO #5562]

(Bitbake rev: df9e22901555b06fef308f7136547f2c47ccec35)

Signed-off-by: Marius Avram <marius.avram@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-21 13:51:51 +00:00
Richard Purdie 49aad7da07 bitbake: runqueue: Remove use of waitpid on worker processes
Use of waitpid on the worker processes is a bad idea since it conflicts
directly with subprocess internals. Instead use the poll() method
and returncode to determine if the process has exitted, if it has,
we can shut down the system.

This should resolve the hangs once and for all, famous last words.

(Bitbake rev: 60969cd62e21e7d4af161bf8504b7643a879c73f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-19 17:46:33 +00:00
Richard Purdie ac4ff568f5 bitbake: runqueue: Revert child signal handler for now
We're running into processes using 100% cpu. It appears theses are locked in
a subprocess.poll() type loop where the process has exited but the code is
looping as its not handling the ECHILD error.

http://bugs.python.org/issue14396
http://bugs.python.org/issue15756

This is likely due to one or both of the above bugs. The question is what actually
grabbed the child exit code as it wasn't this code. Its likely there is therefore
some other code racing and taking that code, it may be some kind of race like:

http://hg.python.org/cpython/rev/767420808a62/

where the fix effectively catches the childs codes in a different part of the system.

We could try and get everyone onto python 2.7.4 where the above bugs are fixed however
for now its safer to admit defeat and go back to polling explictly for our worker exit
codes.

(Bitbake rev: 5b9a099ec2a1dc954b614e12a306595f55b6a99e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-19 13:48:58 +00:00
Richard Purdie ea52b5e21b bitbake: runqueue: Don't catch all child return codes
Catching all child exit status values is a bad idea. Setting an http sstate mirror
is a great way to view that spectacularly break things. The previous change did
have good code changes so don't revert those parts.

(Bitbake rev: fa7ffb62d510ac1124ae7e08fa4d190a710f5b54)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-19 13:48:57 +00:00
Richard Purdie 0150bc30d3 bitbake: runqueue: Really fix sigchld handling
There are several problems. Firstly, a return value of "None" can mean
there is a C signal handler installed so we need to better handle that
case. signal.SIG_DFL is 0 which equates to false so we also need to
handle that by testing explicitly for None.

Finally, the signal handler *must* call waitpid on all child processes
else it will just get called repeatedly, leading to the hanging behaviour
we've been seeing. The solution is to only error for the worker children,
we warn about any other stray children which we'll have to figure out the
sources of in due course.

Hopefully this patch gets things working again properly though.

(Bitbake rev: 973876c706f08735c1b68c791a5a137e5f083dd2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-18 23:05:53 +00:00
Richard Purdie e58089b9d7 bitbake: runqueue: Ensure handler does not recurse
Failures on the autobuilder look like this handler is recursing. That
shouldn't be possible but it doesn't hurt to code as such.

(Bitbake rev: e39e85803cbe1ef9413a118868c19087c0546d01)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-18 11:32:52 +00:00
Richard Purdie 6bbb179cc5 bitbake: runqueue: More carefully handle the sigchld handler
We've noticed hanging processes which appear to be looping around
waitpid. Its possible multiple calls to teardown are causing problem
or in theory multiple registrations (although the code should not
allow that). Regardless, put better guards around signal handler
registration.

(Bitbake rev: 79acfb0853aa3215215cee89a945f8e97b0a8fae)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-18 10:23:13 +00:00