Irina Patru [Tue, 21 Jan 2014 15:59:38 +0000 (17:59 +0200)]
hob: don't display interruptions as fails
When Hob receives a bb.command.CommandFailed event, it should check if
it's a log kind of information.
"Forced shutdown" and "Stopped build" are messages that show when a build
is not complete, but Hob considered them error.
[HOB #5609]
Signed-off-by: Irina Patru <irina.patru@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Irina Patru [Tue, 21 Jan 2014 15:59:35 +0000 (17:59 +0200)]
hob: change error_msg for CommandFailed event
When a bb.command.CommandFailed event is received by Hob, the error
message is stored inside event.error.
This information tells exactly why bitbake failed, so Hob should display
it instead of the current composed message.
Signed-off-by: Irina Patru <irina.patru@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Mon, 27 Jan 2014 14:37:04 +0000 (14:37 +0000)]
cooker: Add option of specifying indvidual tasks for targets
Currently its near enough impossible to tell bitbake to run target X,
task Y and target A, task B. We could hack various parts of the API
around but it would mean incompatibilities.
An alternative is to accept the syntax "<target>:do_<task>" as a target
name. The default task would be used where the task is unspecified.
This has the advantage that its neat/clean code and works from all
current APIs including the commandline.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Scott Rifenbark [Mon, 20 Jan 2014 23:47:02 +0000 (17:47 -0600)]
template/titlepage.templates.xml: Suppress Title Text.
I commented out two blocks of code that are responsible
for getting the book's title to format onto the title page.
Commenting the code out suppresses the title from the
PDF version's title page yet retains the title text for the
HTML tab space of the browser. The reason this is necessary
is because the BitBake User Manual uses an image file for
the title. Thus, it is not necessary to print the title
again.
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Scott Rifenbark [Mon, 20 Jan 2014 21:13:18 +0000 (15:13 -0600)]
user-manual-metadata.xml: Renamed section tag
There were two section tags that used the same id name "classes".
One was in the intro chapter and one was in the metadata chapter.
This was causing an exception in the PDF creation process and
breaking it. I renamed the tag in the metadata chapter
"metadata-classes".
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Scott Rifenbark [Mon, 20 Jan 2014 19:09:43 +0000 (13:09 -0600)]
user-manual-ref-variavbles.xml: Added new glossary chapter.
Added a scrubbed copy of the YP ref-manual glossary. The content
was scrubbed to contain BB variables only. Removed broken
cross-references, made sure the PDF file built.
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Scott Rifenbark [Tue, 14 Jan 2014 13:27:59 +0000 (07:27 -0600)]
user-manual-hello.xml: Added new chapter for "Hello World Example"
This file was evidently a "working" file and not included in the
manual at the point Bill left off. The wmat branch, however, had
a load of commits dedicated to this file. Rather than attempt to
replay them all one-by-one, I simply copied the file from the
wmat branch and hand-inserted the changes to make it equal to what
was there. Note also that I re-formatted the file to have the
same formatting standards I use in the YP manuals.
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Bill Traynor [Fri, 11 Jan 2013 17:45:15 +0000 (12:45 -0500)]
user-manual: Import YP Docs templates for usermanual improvements
Import the necessary pieces to be able to build the BitBake User
Manual using make in a similar way that the Yocto Documentation is
built. The Makefile has been edited to remove Yocto Project specific
content and adapt for bitbake's needs.
Alexandru DAMIAN [Fri, 17 Jan 2014 17:58:05 +0000 (17:58 +0000)]
toaster: fix package data gathering
Under OE-Core, the name under which a package would
be installed in a target may have been different than the
name under it has been built or recorded in the dependencies
listings.
This patch addresses the way that Toaster records package
names, and adds the field of "installed_name" to save the
name under which a package have been installed in an image.
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Alexandru DAMIAN [Mon, 20 Jan 2014 17:31:08 +0000 (17:31 +0000)]
toaster: fix builds page CSS and functionality
This patch fixes a set of CSS and functionality problems
with the build list page:
* Fix Recent Builds text styles
* Added proper links from Failed Tasks entries.
* Always Search returns to the first page of results.
* Clear search button appears only if search is active.
* Search shows the number of object, proper no objects found
* Various smaller fixes.
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Override the default styles of Twitter Bootstrap for table rows
with the .error class applied, and ensure that table cells and
anchor tags inherit the .error styles when their table row has
that class applied.
David Reyna [Sat, 18 Jan 2014 00:58:08 +0000 (16:58 -0800)]
toaster: Implementation of recipe detail views
Add the new recipe detail page and update the view context accordingly.
Rename the recipe summary page to 'recipes.html' and add the respective
links to the recipe details page.
The views are based on specifications found in attachments to
https://bugzilla.yoctoproject.org/show_bug.cgi?id=4299
[YOCTO #4299]
Signed-off-by: David Reyna <david.reyna@windriver.com>
Alexandru DAMIAN [Thu, 16 Jan 2014 12:22:21 +0000 (12:22 +0000)]
toaster: Toaster GUI Build and Dashboard pages fixes
THis is a large set of fixes for the generic table, Build and
Dashboard pages.
Among the fixes:
* the table remembers which columns to show across refreshes,
based on saving the settings in a cookie
* added column timespent for a build which is a denormalization
of the completed_on - started_on information due to limits in
computing datetime differences in the SQL engine
* fixed formatting of the time differences
* various sorting header links fixed
* correct error and warning CSS classes applied to the
respective rows
* fixes multiple divide-by-zero error in displaying duration
estimations
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Alexandru DAMIAN [Mon, 13 Jan 2014 17:03:41 +0000 (17:03 +0000)]
toaster: update Simple UI references to avoid conflict
Since the Toaster GUI was cloned from the Simple UI, we need
to update the URL pattern names in Simple UI to
prevent conflict when determining the reverse URL path.
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Richard Purdie [Mon, 20 Jan 2014 14:23:55 +0000 (14:23 +0000)]
fetch2/git: Dereference unresolved tags with ls-remote
We need to deference tags when trying to map them to commit IDs with
ls-remote. If we don't do this, a given commit might not show up
later in a specific branch. There appears to be no good reason not
to do this.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add a sanity check so that if some SRCREV is set and a rev parameter is given
to the url, the revision given should match.
Any tag parameter behaves the same as rev. If both are specified, error to
tell the user we're confused rather than do something which may or may not
be what they intended.
Also add some unittests for this.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Mon, 20 Jan 2014 13:10:46 +0000 (13:10 +0000)]
fetch2: Clean up srcrev_internal_helper
Currently INVALID and None are checked as incorrect values under different
circumstances. This code standardises those checks to be consistent. We
should phase out the use of "INVALID".
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Robert Yang [Wed, 25 Dec 2013 16:01:26 +0000 (00:01 +0800)]
fetch2/__init__.py: let try_mirror_url return correct value
The fetcher will try:
1) PREMIRROR
2) Upstream
3) MIRROR
If it fails to download from the Upstream, but succeeds from the MIRROR,
and ud.localpath != origud.localpath (for example, the git tarball),
then we will get the error (e.g.: xf86-video-omapfb):
ERROR: Function failed: Fetcher failure for URL: 'xxx'. Unable to fetch URL from any source.
ERROR: Logfile of failure stored in: /path/to/log.do_fetch.28024
It should not show the error and let the build go on since it succeeds.
(e.g.: xf86-video-omapfb)
[YOCTO #5686]
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Martin Jansa [Thu, 16 Jan 2014 14:55:19 +0000 (15:55 +0100)]
fetch2: Don't allow '/' in user:pass, fix branch containing '@'
* currently decode_url regexp parses branch=@foo as username so it ends like this:
- ('git', '', 'foo', 'git.openembedded.org/bitbake;branch=', '', {})
+ ('git', 'git.openembedded.org', '/bitbake', '', '', {'branch': '@foo'})
* http://hg.python.org/cpython/file/2.7/Lib/urlparse.py also assumes
that there is at least one '/' as separator between netloc and path,
params, so it looks reasonable to prevent including '/' in username
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Sat, 18 Jan 2014 23:23:02 +0000 (23:23 +0000)]
siggen: Remove fsync that is causing performance issues
This fsync was added for belt and braces protection for things like sstate
on NFS. To be honest, it probably doesn't buy much, if the rename isn't
atomic, all bets are off anyway and there are bigger issues to worry about.
The issue is that at the end of every task, the dump_sig() code is triggered
to save out information about the task and this was triggering an fsync(fd).
Whilst it may select the file descriptor, on file systems like ext4, it will
require large parts of the journal to be written out so it can have
significant impact. latencytop showed an average fsync() call overhead of about
2s and if that happens for 5000 tasks, the time mounts up. This blocks the next
task execution by that time.
We therefore drop the fsync since in reality its causing problems and is unlikely
to buy much.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
toaster: Toaster GUI, generic search, filter and order
This patch implements table searching, filtering and ordering, in a
generic mode reusable for all tables.
The search operates list of fields defined in the corresponding
class for each model, search_allowed_fields.
The search expression and filters are sent through GET requests
using a QuerySet-like input. The inputs are filtered and
validated before usage to prevent inadvertent or malicious use.
Filters and table headers are defined in the views for each table,
and rendered by generic code which is easily modified for various
tables.
The Build table and Configuration table are implemented using this
framework as an example of how it should be used.
Alexandru DAMIAN [Wed, 11 Dec 2013 16:40:05 +0000 (16:40 +0000)]
toaster: update static media for Toaster GUI
In the process of making the GUI more usable, we
bring in the static assets used during the design
phase into the application.
Licenses used:
Bootstrap 2.3.2 under Apache License 2.0
Font Awesome under SIL OFL 1.1 (GPL compatible) and MIT licence
GLYPHICONS Halflings released with Bootstrap, CC BY 3.0
jQuery 2.0.3 under MIT licence
prettify.js under Apache Licence 2.0
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Alexandru DAMIAN [Wed, 18 Dec 2013 19:50:45 +0000 (19:50 +0000)]
toaster: clone Simple UI as base for Toaster GUI
This patch clones the Simple UI to provide the base code for
the development of the Toaster GUI. The clone takes the place
of the application that was reserved for Javascript MVC code.
The templates used for Simple UI are renamed to start with
an "simple_" to prevent name resolution conflict with the
Toaster GUI templates.
Minor changes are made to the settings.py and urls.py in the
toaster main section to account for the newly enabled application.
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Otavio Salvador [Tue, 7 Jan 2014 15:58:33 +0000 (13:58 -0200)]
bitbake: gitannex.py: Add Git Annex support
This add a Git Annex backend which reuses the Git fetcher code; it
allows managing files with git, without checking the file contents
into git, being useful when dealing with files larger than git can
currently easily handle, whether due to limitations in memory, time,
or disk space.
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Everything should be removed, but the
0006-omapfb-port-to-new-xserver-video-API.patch.done still exists in the
DL_DIR, this is because the clean() in the fetch2/__init__.py skips
removing the local file, so that it will skip removing the .done.
The local file (file://) isn't needed to be removed since it is not
downloaded into DL_DIR, but the .done should be removed, this patch will
remove the .done, and it doesn't remove anything else since the clean()
in local.py does nothing.
[YOCTO #5687]
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The git2_git.pingu.fi.xf86-video-omapfb.tar.gz has been removed from the
DL_DIR, but the git2_git.pingu.fi.xf86-video-omapfb.tar.gz.done still exists,
this is because the "open(ud.donestamp, 'w').close()" in try_mirror_url() will
create the git2_git.xxx.tar.gz.done, but no one removes it (the clean() in
fetch2/__init__.py removes the DL_DIR/git2/pkg.done)
This only happens on the git fetcher AFAIK.
[YOCTO #5688]
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>