bitbake.git
8 years agorunqueue.py: Fix debug message to reference the correct task
Richard Purdie [Thu, 24 Nov 2011 14:14:55 +0000 (14:14 +0000)]
runqueue.py: Fix debug message to reference the correct task

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agofetch2/local: Don't default to files in DL_DIR for file:// urls
Richard Purdie [Thu, 24 Nov 2011 13:56:52 +0000 (13:56 +0000)]
fetch2/local: Don't default to files in DL_DIR for file:// urls

Defaulting to any file in DL_DIR as the first match for a file:// url
doesn't make much sense and can lead to unexpected results.

This patch changes the logic so this is the last fallback location
instead. Whether it should be using DL_DIR at all for this is a
good question but something for another patch.

[YOCTO #1710]

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agosiggen.py: sort task hash depedencies with basepath
Matthew McClintock [Wed, 23 Nov 2011 08:04:00 +0000 (02:04 -0600)]
siggen.py: sort task hash depedencies with basepath

Without this patch the tash hash dependencies can be in a order
that is dependent upon directory/filesystem layout. With this
change the data is sorted the same regardless.

Without this the dependent hashes could be in different orders
on different systems and consequently final md5 hash would differ
as well even though nothing else changed.

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agobitbake: print out symmetric difference when comparing sigs
Matthew McClintock [Wed, 23 Nov 2011 08:08:50 +0000 (02:08 -0600)]
bitbake: print out symmetric difference when comparing sigs

This is useful for really longs lists to pinpoint what has
actually changed

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agorunqueue.py: Ensure we fully process the covered list
Richard Purdie [Mon, 21 Nov 2011 14:02:00 +0000 (14:02 +0000)]
runqueue.py: Ensure we fully process the covered list

The existing looping code can mask an existing "found = True"
by forcing it to False each time. This can lead to dependency
lists not being fully searched and results in dependency errors.

An exmaple of this was the autobuilder building linux-yocto from
sstate but then rebuilding some of the recipe's tasks for no
apparent reason. Separating the logic into two variables solves this
problem since any "found = True" value is now always preserved.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agorunqueue.py: Ensure setscene tasks don't break dependency order
Richard Purdie [Wed, 23 Nov 2011 12:38:44 +0000 (12:38 +0000)]
runqueue.py: Ensure setscene tasks don't break dependency order

If A depends upon B which depends upon C and the setscene for B
succeeds but C is going to get rebuilt, we should wait for C to
try and build A but currently we don't.

This is due to the timing of when we run the task_skip() as this
triggers other tasks to become buildable. This patch moves the timing
of that call to a more appropriate place allowing dependencies to
behave as expected.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agobitbake/runqueue.py: Add BB_SETSCENE_VERIFY_FUNCTION hook
Richard Purdie [Mon, 21 Nov 2011 14:34:23 +0000 (14:34 +0000)]
bitbake/runqueue.py: Add BB_SETSCENE_VERIFY_FUNCTION hook

The OE metadata has cases where it needs to prevent some setscene
functions from running. An example of this is where we know a task
is going to run do_configure (which would clean out do_populate_sysroot)
and hence we don't want do_populate_sysroot_setscene to run.

This change adds in a hook so that the metadata can allow any
such policy decision to filter back up to bitbake.

It removes the existing code which attempted to do this in a generic
way but failed.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agobitbake/runqueue.py: Sort the list of skipped tasks as it makes searching the list...
Richard Purdie [Mon, 21 Nov 2011 14:40:21 +0000 (14:40 +0000)]
bitbake/runqueue.py: Sort the list of skipped tasks as it makes searching the list easier when debugging

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agobitbake/runqueue.py: Fix incorrect task number reference in debug message
Richard Purdie [Mon, 21 Nov 2011 14:39:29 +0000 (14:39 +0000)]
bitbake/runqueue.py: Fix incorrect task number reference in debug message

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agoparse_py: Use absolute paths for FILE
Richard Purdie [Fri, 18 Nov 2011 14:21:15 +0000 (14:21 +0000)]
parse_py: Use absolute paths for FILE

Its possible for relative paths to creep into FILE. These confuse the
build system no end as its not clear where they might be releative to.

This patch ensures we always use resolved absolute paths for FILE
so that things behave in a deterministic way.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agosiggen.py: Include list of variables in hashes
Richard Purdie [Thu, 17 Nov 2011 14:01:06 +0000 (14:01 +0000)]
siggen.py: Include list of variables in hashes

Ensure that the list of dependencies is included in the hash
as well as their contents

Prior to this, adding or removing dependencies with values
of "None" would not change the hash, despite diffsigs reporting
this difference.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agosiggen.py: Fix diffsigs output for filename comparisions
Richard Purdie [Thu, 17 Nov 2011 14:02:06 +0000 (14:02 +0000)]
siggen.py: Fix diffsigs output for filename comparisions

When comparing sig files, if the recipe locations had changed, the
dependent tasks list would show as changed even if the actual hash
had not changed. This updates the code to only compare the base part
of the pathnames.

It also tweaks some of the output to add newlines to aid comparing
two lists of variables as it makes the location of the difference
clearer.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agolib/bb/runqueue: avoid marking runtime dependencies as covered
Paul Eggleton [Fri, 11 Nov 2011 18:38:15 +0000 (18:38 +0000)]
lib/bb/runqueue: avoid marking runtime dependencies as covered

The code which populates setscene_covered list was adding a task to the
covered list if all of the tasks that depend upon it were also covered;
however, this means that tasks that would have installed "runtime"
dependencies were being marked as covered also, e.g. gmp-native and
mpfr-native are needed by gcc-cross at runtime since they are shared
libraries that gcc links to, but their do_populate_sysroot tasks were
being marked as covered, resulting in failures later on if gcc-cross was
available from sstate but mpfr-native and gmp-native weren't.

Since we currently have no real way to handle runtime dependencies for
native packages, add a workaround which avoids marking tasks as covered
if one or more of their revdeps are from a different recipe.

Fixes [YOCTO #1536].

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agodata_smart: Add appendVar/prependVar functions
Richard Purdie [Tue, 8 Nov 2011 18:02:15 +0000 (18:02 +0000)]
data_smart: Add appendVar/prependVar functions

This patch adds appendVar and prependVar functions to the data store
meaning python code would no longer have to do the getVar, append and
the setVar dance that much of the current python code does.

It also adds corresponding variants for flags.

Currently there is no spacing added by these functions. That could be
added as a parameter if desired.

If these functions turn out to be hotspots in the code, there are tricks
that could potentially be used to increase the speed of these specific
operations within the datastore.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agoAdd FAKEROOTNOENV variable
Richard Purdie [Tue, 8 Nov 2011 22:19:38 +0000 (22:19 +0000)]
Add FAKEROOTNOENV variable

Add a FAKEROOTNOENV which does the opposite of the FAKEROOTENV variable
and is data loaded into the environment for tasks without the fakeroot
flag.

The intent here is to provide a way to control the environment when we
aren't needing fakeroot context which allows us to unload the preload
from memory entirely and gain a valuable speedup.

I'm not 100% happy with needing this at the bitbake level, particularly
with the cache hit but it does give a valuable speedup.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agocooker.py: Ensure only one copy of bitbake executes at once
Richard Purdie [Tue, 8 Nov 2011 17:52:44 +0000 (17:52 +0000)]
cooker.py: Ensure only one copy of bitbake executes at once

The bitbake codebase makes assumptions that only one copy is active
against a given build directory at a given time. This patch adds a
lockfile in TOPDIR to ensure that is the case.

Note that no unlock is needed, that is automatically dropped when
execution terminates.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agoutils.py: Fix lockfile retry handling
Richard Purdie [Tue, 8 Nov 2011 17:49:32 +0000 (17:49 +0000)]
utils.py: Fix lockfile retry handling

The lockfile retry parameter is expected to return immediately after
attempting to take the lock. There was a bug in the logic which this
patch fixed to ensure it does that.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agocodeparser: silence non-literal warnings for vardeps
Christopher Larson [Fri, 4 Nov 2011 18:59:46 +0000 (14:59 -0400)]
codeparser: silence non-literal warnings for vardeps

If the vardeps flag is not None, we now silence the warnings about
non-literal usage for that variable.

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
8 years agocodeparser: drop expand tracking
Christopher Larson [Sat, 29 Oct 2011 03:06:18 +0000 (23:06 -0400)]
codeparser: drop expand tracking

There are two usual cases involving bb.data.expand:

- Calling it with a string literal -- "bb.data.expand('${FOO}/${BAZ}/bleh', d)".
- Calling it on getVar results (legacy) -- "bb.data.expand(bb.data.getVar('FOO', d), d)"

Nothing in any of the usual layers uses it in any other way, and I'm
having trouble coming up with any real use cases beyond this. The first
of the above cases is already tracked, via the expandWithRefs called
on the python code string. The second didn't emit a warning anyway,
since the getVar was already handled.

Given this, I see no reason for us to maintain explicit expansion
tracking. Further, we weren't using its results anyway (the var_expands
member).

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
8 years agocodeparser: accept a name for better messages
Christopher Larson [Sat, 29 Oct 2011 01:32:26 +0000 (21:32 -0400)]
codeparser: accept a name for better messages

- If a name is passed to the parser, prepend the messages with "while
  parsing <name>:". This gives a bit more context.
- Tweak the warning messages slightly (they had to be altered anyway to
  inject the variable being parsed).

Before:
  DEBUG: Warning: in call to 'bb.data.getVar': argument ''%s' % var' is \
         not a literal

After:
  DEBUG: while parsing emit_pkgdata, in call of bb.data.getVar, argument \
         ''%s' % var' is not a string literal

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
8 years agocodeparser: simplify how we compare the called node names
Christopher Larson [Fri, 28 Oct 2011 05:37:11 +0000 (22:37 -0700)]
codeparser: simplify how we compare the called node names

With the previous method, using the compare_name methods, we split the
requested match name by '.', reversed it, then compared them piecemeal
during the node traversal. The new method walks the nodes and hands back
the name of what's being called, and then we check that. This also
consolidates the two different implementations of traversal of the
attribute/name nodes (one in compare_name, one for the execs).

Signed-off-by: Christopher Larson <kergoth@gmail.com>
8 years agocodeparser: merge the nested python parsing classes
Christopher Larson [Fri, 28 Oct 2011 05:23:05 +0000 (22:23 -0700)]
codeparser: merge the nested python parsing classes

The split is even less necessary now that we use ast.walk rather than an
actual NodeVisitor subclass.

Signed-off-by: Christopher Larson <kergoth@gmail.com>
8 years agoIncrement version post release
Richard Purdie [Thu, 3 Nov 2011 17:13:34 +0000 (17:13 +0000)]
Increment version post release

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agoRelease 1.14.0 origin/1.14 1.14.0
Richard Purdie [Thu, 3 Nov 2011 17:12:36 +0000 (17:12 +0000)]
Release 1.14.0

8 years agocodeparser: make var_expands actually hold useful information
Christopher Larson [Fri, 28 Oct 2011 05:45:04 +0000 (22:45 -0700)]
codeparser: make var_expands actually hold useful information

Previously, it was calling var_expands.update() rather than add(), with
a string argument, resulting in adding each character of that string to
the var_expands set, rather than the string itself.

Signed-off-by: Christopher Larson <kergoth@gmail.com>
8 years agoMerge branch 'master' of git.openembedded.org:bitbake
Richard Purdie [Thu, 27 Oct 2011 07:03:24 +0000 (08:03 +0100)]
Merge branch 'master' of git.openembedded.org:bitbake

8 years agoLinefeed to test commits
Cliff Brake [Wed, 26 Oct 2011 11:48:53 +0000 (07:48 -0400)]
Linefeed to test commits

8 years agodoc: update manual for checksum changes
Joshua Lock [Tue, 11 Oct 2011 20:15:15 +0000 (13:15 -0700)]
doc: update manual for checksum changes

Document the ability to use SRC_URI parameters for checksums

Signed-off-by: Joshua Lock <josh@linux.intel.com>
8 years agofetch2: enable checksum definition as SRC_URI parameter
Joshua Lock [Tue, 11 Oct 2011 16:42:13 +0000 (09:42 -0700)]
fetch2: enable checksum definition as SRC_URI parameter

URI parameters should be able to be defined as a parameter of the SRC_URI,
this patch enables thus for checksums.

An example;

SRC_URI = "http://pkgconfig.freedesktop.org/releases/pkg-config-${PV}.tar.gz;md5sum=a3270bab3f4b69b7dc6dbdacbcae9745;sha256sum=3ba691ee2431f32ccb8efa131e59bf23e37f122dc66791309023ca6dcefcd10e"

Addresses the remainder of [YOCTO #1399]

Signed-off-by: Joshua Lock <josh@linux.intel.com>
8 years agofetch2: improve usability of checksums
Joshua Lock [Tue, 11 Oct 2011 00:24:41 +0000 (17:24 -0700)]
fetch2: improve usability of checksums

This patch improves the usability of checksums by only requiring one checksum
be defined.

Further, checksum verification will provide as much information as possible
at, rather than a bit at a time. No longer will you need to run fetch, see an
md5sum mismatch, fix it, run fetch, seen an sha256sum mismatch, fix it and
fetch again. If neither checksum is defined we now report both missing sums
at once - rather than one after the other.
Finally, if both sums are incorrect, we'll report both incorrect sums at the
same time.

Fixes part of [YOCTO #1399]

Signed-off-by: Joshua Lock <josh@linux.intel.com>
8 years agohob: fix backtrace when dismissing open dialog
Joshua Lock [Tue, 11 Oct 2011 17:16:02 +0000 (10:16 -0700)]
hob: fix backtrace when dismissing open dialog

Clearly a logic/indentation error - we should only try and load the recipe
should the file-chooser return OK.

Fixes [YOCTO #1668]

Signed-off-by: Joshua Lock <josh@linux.intel.com>
8 years agofetch2: Export additional variables to the fetchers
Matthew McClintock [Tue, 4 Oct 2011 19:08:37 +0000 (14:08 -0500)]
fetch2: Export additional variables to the fetchers

git could need these environment variables when working behind
a proxy

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agofetch2/git: Make git fetch run with -f so rebased branches don't fail
Matthew McClintock [Tue, 27 Sep 2011 21:41:39 +0000 (16:41 -0500)]
fetch2/git: Make git fetch run with -f so rebased branches don't fail

git fetches can fail (or at least return failed) when trying to
fetch and prune rebased branches. This patch simply adds a -f
to the git fetch command so these failure are ignore

Generally, if some SHA was rebased away it's not coming back so
there is no point in not doing this force

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agobitbake/lib/bb/msg.py: fix setting debug and verbosity levels
Paul Eggleton [Fri, 23 Sep 2011 16:05:00 +0000 (17:05 +0100)]
bitbake/lib/bb/msg.py: fix setting debug and verbosity levels

The debug and verbosity levels (as set by the -D and -v command line
options respectively)  were not being passed through within msg.py since
bitbake revision 45aad2f9647df14bcfa5e755b57e1ddab377939a due to
incorrect variable names.

Fixes [YOCTO #1513].

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
8 years agohob: store recipe path at load time
Joshua Lock [Fri, 23 Sep 2011 23:32:52 +0000 (16:32 -0700)]
hob: store recipe path at load time

This fixes the internal dirtiness tracking such that if the Save menu item
is selected after loading a recipe the existing file is updated rather than
the user being prompted for the path to create a recipe at.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
8 years agohob: fix building with current selections after reparse
Joshua Lock [Fri, 23 Sep 2011 20:19:16 +0000 (13:19 -0700)]
hob: fix building with current selections after reparse

After the reparse we were setting the model to reflect the values before
the reparse was triggered but clearing the internal variables used to test
whether these values are set, leading to the UI erroneously reporting that
selections had not been made.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
8 years agoui/crumbs/hobeventhandler: fix variable name typo
Joshua Lock [Fri, 23 Sep 2011 20:14:02 +0000 (13:14 -0700)]
ui/crumbs/hobeventhandler: fix variable name typo

Signed-off-by: Joshua Lock <josh@linux.intel.com>
8 years agoui/crumbs/hobeventhandler: move remaining getVariable calls to init
Joshua Lock [Fri, 23 Sep 2011 20:13:17 +0000 (13:13 -0700)]
ui/crumbs/hobeventhandler: move remaining getVariable calls to init

Instead of calling getVariable commands each time the BBPATH and BBFILES
entries need testing cache the results as a member variable at object
instantiation.

Fixes [YOCTO #1521]

Signed-off-by: Joshua Lock <josh@linux.intel.com>
8 years agoFix mercurial fetcher in fetch2
Julian Pidancet [Wed, 21 Sep 2011 01:14:54 +0000 (02:14 +0100)]
Fix mercurial fetcher in fetch2

The _build_revision method in Hg class gets called with the wrong number
of arguments. This tiny patch adds a 5th argument to the method
declaration to prevent python from throwing an exception.

Signed-off-by: Julian Pidancet <julian.pidancet@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agohob: fix opening of image output dir on image build completion
Joshua Lock [Wed, 21 Sep 2011 01:08:28 +0000 (18:08 -0700)]
hob: fix opening of image output dir on image build completion

Firstly, rather than polling the DEPLOY_DIR_IMAGE directory each time an
image is built store the variable as a member of the hobeventhandler.
Secondly emit the generic "build-complete" signal *after* the specialised
"build-failed" or "build-succeeded" signals such that the appropriate
state variables are set before we try and use them.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
8 years agoui/crumbs/runningbuild: fix log messages right-click menu
Joshua Lock [Wed, 21 Sep 2011 00:12:09 +0000 (17:12 -0700)]
ui/crumbs/runningbuild: fix log messages right-click menu

Pass the correct callback name to the connect method.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
8 years agohob: enable package only builds even if an image has been built
Joshua Lock [Mon, 19 Sep 2011 22:28:09 +0000 (15:28 -0700)]
hob: enable package only builds even if an image has been built

Once an image build has been performed the selected_image variable would
prevent the package only build choice being triggered - by setting the
variable to None on reset we are able to perform package only builds after
an image build.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
8 years agohob: fix build again when building packages only
Joshua Lock [Mon, 19 Sep 2011 22:25:45 +0000 (15:25 -0700)]
hob: fix build again when building packages only

The different code paths for package vs image builds have lead to some bit
rot in the package only build and an incompatability between package only
builds and the build again mechanism.

This patch unifies the code paths and fixes build again for package only
builds.

Fixes [YOCTO #1480]

Signed-off-by: Joshua Lock <josh@linux.intel.com>
8 years agoui/crumbs/hobprefs: re-enable reloading of data after prefs changes
Joshua Lock [Wed, 14 Sep 2011 23:27:28 +0000 (16:27 -0700)]
ui/crumbs/hobprefs: re-enable reloading of data after prefs changes

When disabling the toolchain w/ headers checkbox in an early commit I
accidentally disabled too much code. This re-enables adding the custom
response handler to the Preferences dialog which triggeres a reparse of
the metadata when appropriate preference changes are made.

Fixes [YOCTO #1479]

Signed-off-by: Joshua Lock <josh@linux.intel.com>
8 years agofetch2/git: fix subpath destination directory
Paul Eggleton [Sat, 17 Sep 2011 11:03:47 +0000 (12:03 +0100)]
fetch2/git: fix subpath destination directory

Make the git fetcher's subpath (path within the git repo to fetch)
option set the destsuffix (destination directory) option by default.
This reverts the behaviour of subpath to the same as when it was
introduced.

Based on a patch by Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agofetch2/git: be more carefull in _contains_ref when checking git log output
Martin Jansa [Fri, 16 Sep 2011 07:38:22 +0000 (09:38 +0200)]
fetch2/git: be more carefull in _contains_ref when checking git log output

* in some cases there could be output like this
  ERROR: ld.so: object 'libpseudo.so' from LD_PRELOAD cannot be preloaded: ignored.
  before wc -l output and returned 'output.split()[0] != 0' is always True

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agofetch2/git: fix logger.debug
Martin Jansa [Mon, 19 Sep 2011 07:58:41 +0000 (09:58 +0200)]
fetch2/git: fix logger.debug

* logging/logger typo was fixed in 38a598731b49c8a0ba0ede570adc33eb1e848235
  but debug level is still missing

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agofetch2/wget: make checkstatus() quieter
Joshua Lock [Wed, 14 Sep 2011 22:40:58 +0000 (15:40 -0700)]
fetch2/wget: make checkstatus() quieter

Change the wget fetcher to not emit the commands output when calling checkstatus, this
matches the behaviour of the git fetchers checkstatus() method.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agocooker.py: Fix key expansion issues in showVersions
Richard Purdie [Mon, 19 Sep 2011 04:53:07 +0000 (05:53 +0100)]
cooker.py: Fix key expansion issues in showVersions

bitbake -s was not displaying correct version information when the
PREFERRED_VERSION string contains other variables. The actual built
versions would differ since the providers.py functions were called
with expanded keys at this point.

This patch expands keys for showVersions bringing everything into
sync correctly.

[YOCTO #1493]

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agogit.py: Fix logging vs logger typo
Richard Purdie [Sat, 17 Sep 2011 11:11:04 +0000 (12:11 +0100)]
git.py: Fix logging vs logger typo

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agotaskdata: fix string formatting of an error message
Christopher Larson [Wed, 14 Sep 2011 17:43:48 +0000 (10:43 -0700)]
taskdata: fix string formatting of an error message

Signed-off-by: Christopher Larson <kergoth@gmail.com>
8 years agohob: correctly set the selected image when loading a recipe
Joshua Lock [Fri, 9 Sep 2011 01:10:29 +0000 (18:10 -0700)]
hob: correctly set the selected image when loading a recipe

When the user saves their recipe based on an existing image type, loads it
in a newly run hob instance and clicks bake they should not be asked about
building packages vs an empty image up.

Partially addresses [YOCTO #1468]

Signed-off-by: Joshua Lock <josh@linux.intel.com>
8 years agohob: correctly handle an exception
Joshua Lock [Fri, 9 Sep 2011 01:00:13 +0000 (18:00 -0700)]
hob: correctly handle an exception

It doesn't matter if we can't remove the temprorary file, for some reason,
so catch the exception and ignore it.

Partially addresses [YOCTO #1468]

Signed-off-by: Joshua Lock <josh@linux.intel.com>
8 years agoui/crumbs/hobeventhandler: don't check BBPATH and BBFILES each build
Joshua Lock [Fri, 9 Sep 2011 00:59:20 +0000 (17:59 -0700)]
ui/crumbs/hobeventhandler: don't check BBPATH and BBFILES each build

There's no need to check the BBPATH and BBFILES are set correctly each
build when running multiple builds for one launch of the UI.

Partially addresses [YOCTO #1468]

Signed-off-by: Joshua Lock <josh@linux.intel.com>
8 years agoui/crumbs/hobeventhandler: fix test for BBFILES
Joshua Lock [Thu, 8 Sep 2011 21:50:01 +0000 (14:50 -0700)]
ui/crumbs/hobeventhandler: fix test for BBFILES

It seems we have a race whereby the image_dir variable may not be set
before it's tested for, since the variable is always the same set it in the
initialiser.

Partially addresses [YOCTO #1468]

Signed-off-by: Joshua Lock <josh@linux.intel.com>
8 years agorunqueue.py: Ensure fakeroot variables are reflected in the datastore
Richard Purdie [Fri, 9 Sep 2011 18:07:40 +0000 (19:07 +0100)]
runqueue.py: Ensure fakeroot variables are reflected in the datastore

Without this, variables can be set to one thing in one part of the environment and something
different in another part. This change ensures the datastore and the environment
are consistent.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agorunqueue: Ensure task environment is correct
Richard Purdie [Fri, 9 Sep 2011 17:25:41 +0000 (17:25 +0000)]
runqueue: Ensure task environment is correct

This fixes two problems:

a) Variables which were in the parent environment but not set as "export"
   variables in the datastore could end up in the task environment

b) oe.environ.update() can't cope with the generator returned by
   bb.data.exported_vars()

Whilst the updated code isn't as neat, it does do the expected thing,
sets the environment correctly and stops unwanted values leaking into
the task environment.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agolib/bb/siggen.py: return a string from noop get_taskhash
Dmitry Eremin-Solenikov [Sun, 21 Aug 2011 07:57:40 +0000 (11:57 +0400)]
lib/bb/siggen.py: return a string from noop get_taskhash

OpenEmbedded is expecting to get a string from get_taskhash, but noop siggen
returns just 0 (number), so OE classes/sstate.bbclass barfs badly. Fix that.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agohob: fix segfault on second build
Paul Eggleton [Mon, 5 Sep 2011 12:30:11 +0000 (13:30 +0100)]
hob: fix segfault on second build

Some internal lists were not being cleared, resulting in incorrect
program flow on the second build, causing a structure to be accessed
incorrectly which resulted in a segfault.

Fixes [YOCTO #1332]

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agohob: clear out temporary file list after deleting
Paul Eggleton [Mon, 5 Sep 2011 12:30:10 +0000 (13:30 +0100)]
hob: clear out temporary file list after deleting

If you don't clear out files_to_clean after the files get deleted and
then you run a second build, it will try to delete the files from the
first build and you will get a "No such file or directory" error.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agohob: disable removal of packages
Joshua Lock [Fri, 2 Sep 2011 23:53:32 +0000 (16:53 -0700)]
hob: disable removal of packages

It's felt that the stability of package deselection is not sufficient for
the upcoming release and thus package removal should be disabled.

I'd actually like to see this patch, or its effects, reverted as soon as
the release bits have been frozen so that this issue can continue to be
worked on.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
8 years agoui/crumbs/runningbuild: mask run_buildstats failure
Joshua Lock [Fri, 2 Sep 2011 23:39:23 +0000 (16:39 -0700)]
ui/crumbs/runningbuild: mask run_buildstats failure

The buildstats handler causes an exception with: "'NoneType' object has no
attribute 'startswith'" early a build via hob, leaving a glaring red row
which means nothing to the user.
Mask this error until such a time as we have opportunity to correctly
diagnose and fix the root problem.

Workaround fix for [YOCTO #1433]

Signed-off-by: Joshua Lock <josh@linux.intel.com>
8 years agoui/crumbs/hobprefs: disable 'build toolchain with headers'
Joshua Lock [Fri, 2 Sep 2011 23:02:50 +0000 (16:02 -0700)]
ui/crumbs/hobprefs: disable 'build toolchain with headers'

The generic meta-toolchain-sdk we are currently building when this option
is enabled is likely unsuitable for the majority of images built with hob.
Remove this option from the Preferences UI until such a time as we can
correctly implement this feature to include the library headers for the
selected packages.

Addresses [YOCTO #1302]

Signed-off-by: Joshua Lock <josh@linux.intel.com>
8 years agohob: add a test to ensure hob is run with the required pre and post files
Joshua Lock [Fri, 2 Sep 2011 21:29:38 +0000 (14:29 -0700)]
hob: add a test to ensure hob is run with the required pre and post files

hob requires pre and post configuration files to store configuration values
in, whilst this should (and will) be fixed long-term for so long as we
require these files we should alert the user should they run without them.

Fixes [YOCTO #1383]

Signed-off-by: Joshua Lock <josh@linux.intel.com>
8 years agohob: reflect defaultsetup being default distro
Joshua Lock [Fri, 2 Sep 2011 17:17:52 +0000 (10:17 -0700)]
hob: reflect defaultsetup being default distro

If no value is set for DISTRO the defaultsetup policy is used, reflect this
in the UI by having defaultsetup selected in the Distribution combo when no
other DISTRO is set.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
8 years agohob: use both pre and post files for hob configuration
Joshua Lock [Fri, 2 Sep 2011 03:38:10 +0000 (20:38 -0700)]
hob: use both pre and post files for hob configuration

We need to set various variables *before* parse begins, the simplest way
to ensure this is to use a pre configuration file for the relevant
configuration entries.

This series adapts hob to use both pre and post files to store its
configuration. Any variables which affect initial parse are set in the pre
file and all others in the post file.

Unfortunately this requires hob related code to have even more hard-coded
data as to what is relevant but this is the simplest way to solve issues
with variables and parse order at this time.

Addresses [YOCTO #1281]

Signed-off-by: Joshua Lock <josh@linux.intel.com>
8 years agobitbake/event: Allow event handlers to quietly raise SkipPackage events
Richard Purdie [Fri, 2 Sep 2011 12:58:54 +0000 (13:58 +0100)]
bitbake/event: Allow event handlers to quietly raise SkipPackage events

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agofetch2/git: Allow to specify the name of the checkout directory
Holger Hans Peter Freyther [Wed, 22 Jun 2011 20:50:13 +0000 (04:50 +0800)]
fetch2/git: Allow to specify the name of the checkout directory

Signed-off-by: Holger Hans Peter Freyther <holger@moiji-mobile.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agobitbake/fetch2/git: Ensure .gitconfig file is ignored
Richard Purdie [Tue, 30 Aug 2011 20:39:58 +0000 (20:39 +0000)]
bitbake/fetch2/git: Ensure .gitconfig file is ignored

If a user has a ~/.gitconfig file, git fetch --all will reference it. To avoid
this we should run git fetch with an explicit url telling it to fetch all
references (which includes tags).

I'm assured this means git won't reference the file, see the discussion on the
git mailing list (subject Overriding ~/.gitconfig using GIT_CONFIG).

[YOCTO #1134]

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agobitbake: Correctly handle multiline comments including whitespace
Richard Purdie [Tue, 30 Aug 2011 16:46:46 +0000 (16:46 +0000)]
bitbake: Correctly handle multiline comments including whitespace

If metadata contains:

"""

FOO = "bar"
"""

The variable FOO should get set to "bar" but doesn't due to the empty lines
be swallowed by the parser and FOO becomming part of the multiline comment.
This patch corrects that behaviour so FOO is set as expected.

[YOCTO #1377]

This patch fixes parsing of multiline comments so lines ending with \
behave consistently and we warn users where there is something happening
they likely don't expect.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agoui/crumbs/tasklistmodel: don't add empty entries to COL_BINB
Joshua Lock [Tue, 30 Aug 2011 17:55:14 +0000 (10:55 -0700)]
ui/crumbs/tasklistmodel: don't add empty entries to COL_BINB

Signed-off-by: Joshua Lock <josh@linux.intel.com>
8 years agoui/crumbs/tasklistmodel: loop optimisation in include_item()
Joshua Lock [Tue, 30 Aug 2011 16:32:48 +0000 (09:32 -0700)]
ui/crumbs/tasklistmodel: loop optimisation in include_item()

Rather than trying to iterate the model to find whether the item is already
included and then iterate the model again to find the items path attempt to
find the path first and if the path is found test whether the COL_INC of
the row is set.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
8 years agoui/crumbs/tasklistmodel: remove unnecessary check
Joshua Lock [Tue, 30 Aug 2011 16:31:05 +0000 (09:31 -0700)]
ui/crumbs/tasklistmodel: remove unnecessary check

Cheaper to set COL_INC to True regardless of whether it's already set.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
8 years agoui/crumbs/tasklistmodel: optimise find_path_for_item()
Joshua Lock [Tue, 30 Aug 2011 16:15:35 +0000 (09:15 -0700)]
ui/crumbs/tasklistmodel: optimise find_path_for_item()

Rather than calling get_path() for each iterated value use the get_value()
method to lookup the COL_NAME value and only call get_path() for a match.

This should save some time by potentially removing N-1 calls to get_path()
from the loop.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
8 years agoui/crumbs/tasklistmodel: prevent packages depending on each other
Joshua Lock [Tue, 30 Aug 2011 00:02:39 +0000 (17:02 -0700)]
ui/crumbs/tasklistmodel: prevent packages depending on each other

Don't add y to x's COL_BINB if x is in y's COL_BINB - prevent circular
dependencies.

Further this patch improves the variable naming to make this code easier to
follow.

Fixes [YOCTO #1423]

Signed-off-by: Joshua Lock <josh@linux.intel.com>
8 years agoui/crumbs/tasklistmodel: don't add same item to binb column more than once
Joshua Lock [Mon, 29 Aug 2011 23:29:06 +0000 (16:29 -0700)]
ui/crumbs/tasklistmodel: don't add same item to binb column more than once

In the same vein as a similar, earlier, patch where I missed the second
loop which modifies the binb column.

Fixes [YOCTO #1420]

Signed-off-by: Joshua Lock <josh@linux.intel.com>
8 years agodata_smart.py: make use of expand cache in getVar()
Dongxiao Xu [Mon, 29 Aug 2011 07:33:58 +0000 (15:33 +0800)]
data_smart.py: make use of expand cache in getVar()

Currently if passing expand=True to getVar() function, it will pass the
handling to getVarFlag(), which doesn't get any benefit from the expand
cache.

Call the expand() function separately in getVar() to make use of the
expand cache, which can decrease the parsing time by 40%.
(from current 49s to 27s)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agoui/crumbs/runningbuild: add a 'Copy' item to the messages right-click menu
Joshua Lock [Sat, 27 Aug 2011 00:19:58 +0000 (17:19 -0700)]
ui/crumbs/runningbuild: add a 'Copy' item to the messages right-click menu

Add another item to the right-click menu enabled for log messages to copy
the message to the clipboard.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
8 years agoui/crumbs/tasklistmodel: don't add same item to binb column more than once
Joshua Lock [Fri, 26 Aug 2011 22:13:33 +0000 (15:13 -0700)]
ui/crumbs/tasklistmodel: don't add same item to binb column more than once

Signed-off-by: Joshua Lock <josh@linux.intel.com>
8 years agohob: disable some menu entries whilst build is in progress
Joshua Lock [Tue, 23 Aug 2011 23:35:05 +0000 (16:35 -0700)]
hob: disable some menu entries whilst build is in progress

It doesn't make sense to be able to modify the preferences and add/remove
layers whilst a build is in progress - disable the relevant menu items once
the build has started and re-enable them once the user has returned to the
creation view.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
8 years agobb/ui/crumbs/tasklistmodel: fix find_reverse_depends method
Joshua Lock [Tue, 23 Aug 2011 23:34:50 +0000 (16:34 -0700)]
bb/ui/crumbs/tasklistmodel: fix find_reverse_depends method

This fixes an embarassing typo which meant the method actually returned a
list of packages which didn't depend on the passed pn.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
8 years agohob: don't set PARALLEL_MAKE and BB_NUMBER_THREADS based on cpu count
Joshua Lock [Tue, 23 Aug 2011 23:11:47 +0000 (16:11 -0700)]
hob: don't set PARALLEL_MAKE and BB_NUMBER_THREADS based on cpu count

This was actually broken with recent changes as the values were never
persisted to a file (meaning they were unset on the server at reparse
despite the UI indicating they were set).

However, I've chosen to remove the 'feature' as pegging a users CPU without
them asking to use high thread counts seems a little offensive.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
8 years agobb/fetch2/git: add checkstatus command
Joshua Lock [Wed, 24 Aug 2011 20:04:23 +0000 (13:04 -0700)]
bb/fetch2/git: add checkstatus command

Use git ls-remote to implement checkstatus command for the git fetcher.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agousermanual: The git fetcher defaults to the git protocol (or file)
Richard Purdie [Sun, 21 Aug 2011 17:39:41 +0000 (10:39 -0700)]
usermanual: The git fetcher defaults to the git protocol (or file)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agofetch2/git: Add rsync as a valid git protocol
Richard Purdie [Sun, 21 Aug 2011 17:38:59 +0000 (10:38 -0700)]
fetch2/git: Add rsync as a valid git protocol

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agobb/ui/hob: warn and prevent image build if no IMAGE_FSTYPE is set
Joshua Lock [Fri, 19 Aug 2011 00:50:22 +0000 (17:50 -0700)]
bb/ui/hob: warn and prevent image build if no IMAGE_FSTYPE is set

If IMAGE_FSTYPE is empty and the user has opted to build an image warn
them and prevent the build.

Fixes [YOCTO #1267]

Signed-off-by: Joshua Lock <josh@linux.intel.com>
8 years agobb/ui/crumbs/hobprefs: fix setting IMAGE_FSYTPES
Joshua Lock [Fri, 19 Aug 2011 00:46:10 +0000 (17:46 -0700)]
bb/ui/crumbs/hobprefs: fix setting IMAGE_FSYTPES

We were setting the value as a list when a string is expected

Signed-off-by: Joshua Lock <josh@linux.intel.com>
8 years agobb/ui/crumbs/hobeventhandler: fix return values of *_image_output_type
Joshua Lock [Fri, 19 Aug 2011 00:45:16 +0000 (17:45 -0700)]
bb/ui/crumbs/hobeventhandler: fix return values of *_image_output_type

These methods are expected to return lists.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
8 years agobb/ui/hob: fix package only build
Joshua Lock [Thu, 18 Aug 2011 21:45:18 +0000 (14:45 -0700)]
bb/ui/hob: fix package only build

Use the models new get_selected_pn method to return a list of PN's for the
selected items and pass that for a package only build, rather than passing
a list of package names (which buildTargets can't handle).

Fixes [YOCTO #1385]

Signed-off-by: Joshua Lock <josh@linux.intel.com>
8 years agobb/ui/crumbs/tasklistmodel: track the PN for each entry in the model
Joshua Lock [Thu, 18 Aug 2011 21:43:49 +0000 (14:43 -0700)]
bb/ui/crumbs/tasklistmodel: track the PN for each entry in the model

Now that we've switched to packages in the model, rather than PN, it makes
sense to add an extra field to store the PN of the package.

This patch includes a convenience method to retrieve a list of selected PN's.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
8 years agohob: don't try and build if user selects Bake with no selections made
Joshua Lock [Thu, 18 Aug 2011 21:18:46 +0000 (14:18 -0700)]
hob: don't try and build if user selects Bake with no selections made

If the user hasn't made any selections inform them that they need to do so
before clicking Bake.

Fixes [YOCTO #1384]

Signed-off-by: Joshua Lock <josh@linux.intel.com>
8 years agobb/ui/crumbs/tasklistmodel: store all binb, not just the first
Joshua Lock [Thu, 18 Aug 2011 04:39:30 +0000 (21:39 -0700)]
bb/ui/crumbs/tasklistmodel: store all binb, not just the first

This makes it easier for the user to determine what the effects of a
removal may be, further it means we no longer need the find_alt_dependency
method which could be a fairly time-consuming method depending on the size
of the contents table.

Partially addresses [YOCTO #1365]

Signed-off-by: Joshua Lock <josh@linux.intel.com>
8 years agobb/ui/crumbs/tasklistmodel: remove useless items from dependency list
Joshua Lock [Thu, 18 Aug 2011 03:25:12 +0000 (20:25 -0700)]
bb/ui/crumbs/tasklistmodel: remove useless items from dependency list

Ensure the dependency list is uniquified, doesn't include self references
and further doesn't include -dev references.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
8 years agobb/ui/crumbs/tasklistmodel: more robust checking for substrings
Joshua Lock [Thu, 18 Aug 2011 03:17:42 +0000 (20:17 -0700)]
bb/ui/crumbs/tasklistmodel: more robust checking for substrings

Relying on the count() method of Str to determine whether the string
contains a substring is error prone purely because the return value doesn't
strictly convert to a Boolean value.
To that end take the more pythonic approach of using the in operator (foo
in bar) to check for the substring.
Further, add a helper method for the common case of testing whether a pn
is -native, -cross or virtual/

Signed-off-by: Joshua Lock <josh@linux.intel.com>
8 years agobb/ui/crumbs/runningbuild: hide the progress bar on cache load complete
Joshua Lock [Tue, 16 Aug 2011 20:58:24 +0000 (13:58 -0700)]
bb/ui/crumbs/runningbuild: hide the progress bar on cache load complete

When we receive the CacheLoadComplete command we need to ensure the
progress bar is hidden as we can't expect the ParseComplete event, where
this would usually be done.

This patch makes the Goggle UI usable again.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
8 years agobb/ui/crumbs/runningbuild: reduce number of messages after recent msg change
Joshua Lock [Tue, 16 Aug 2011 20:56:37 +0000 (13:56 -0700)]
bb/ui/crumbs/runningbuild: reduce number of messages after recent msg change

The recent change to the message module to remove custom logging domains
resulted in an increased number of messages being displayed in the
running build view, ignore all messages lower than log level INFO.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
8 years agoFixup remaining bb.msg.domain users
Richard Purdie [Mon, 15 Aug 2011 16:29:09 +0000 (17:29 +0100)]
Fixup remaining bb.msg.domain users

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agobuild.py: Fix cut and paste error
Richard Purdie [Mon, 15 Aug 2011 11:39:38 +0000 (12:39 +0100)]
build.py: Fix cut and paste error

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agoEnsure only the filtered environment variables are inherited from the OS
Joshua Lock [Sat, 13 Aug 2011 00:58:11 +0000 (17:58 -0700)]
Ensure only the filtered environment variables are inherited from the OS

The recent change which modified inheritFromOS to use the intial
environment, rather than the current environment, introduced a bug such
that variables which had been cleaned from the environment where still set
in the data store.

This patch changes things such that a list of approved environment
variables is saved after the environment is cleaned and only the variables
in this list are inherited in inheritFromOS.

CC: James Limbouris <james.limbouris@gmail.com>
CC: Chris Larson <clarson@kergoth.com>
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agobitbake/msg.py: Drop manually created domain lists
Richard Purdie [Fri, 12 Aug 2011 14:25:58 +0000 (15:25 +0100)]
bitbake/msg.py: Drop manually created domain lists

This patch removes the majority of the domain related code from bb.msg
on the grounds that we now support dynamic creation of logging domains
so having this hardcoded is just error prone and less flexible. It also
makes the msg code overly and needlessly complex.

It also removes the bb.msg.debug/note/warn/plain/error functions since
we might as well remove them rather than try and fix them at this point.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>