With the addition of new cache domains, the summary, license and section
information is no longer requred in the core cache since its only used by
the hob UI. This patch removes the duplicated entries.
It also adds the DESCRIPTION field to the cache for the benefit of hob2.
(Bitbake rev: 33ffb2e99825cb643b148b3462c2d4cf33ff5f58)
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
To quote my report of this to the git mailing list:
"""
I have a problem with git clone commands using alternates failing by
mixing up different repositories. I have a situation where I could end
up with both:
/srv/mirrors/repo
/srv/mirrors/repo.git
as bare clones.
I then try cloning "repo" with alternates with the command:
$ git clone -s -n /srv/mirrors/repo /tmp/foo
Cloning into /tmp/foo...
done.
$ cat /tmp/foo/.git/objects/info/alternates
/srv/mirrors/repo.git/objects
Note how I'm now referencing repo.git, not repo. This doesn't work as
expected giving some very bizarre results when actually using the
repository.
I appreciate this is a rather bizarre corner case but its one that is
breaking the build system I work with. Ideally people would use a
consistent URL for the same repository but we have an example where they
haven't and this really shouldn't break like this.
Looking at the code, the cause seems to be
clone.c:get_repo_path():
static char *suffix[] = { "/.git", ".git", "" };
since its looking in order for:
repo/.git (fails)
repo.git (suceeds, incorrect)
repo (never looked at)
I'm not sure what would break if that order were to change, swapping the
last two options.
I can "force" the issue by running:
git clone -s -n /srv/mirrors/repo/ /tmp/foo
but this results in the slightly odd looking:
$ cat /tmp/foo/.git/objects/info/alternates
/srv/mirrors/repo//objects
which does at least work.
"""
This patch adds the trailing slash to ensure the correct repository is
referenced at the expense of some ugliness in the alternates file.
(Bitbake rev: d978e7b35550e3785c7c567ffe4c40a3c3947450)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Make the following improvements to the show-overlayed subcommand:
* Show recipes that are overlayed when the version is higher or lower,
not just when it is the same. This gives a much better picture of the
influence each layer is having over the metadata used for building.
This can be disabled with the -s option if you just want to see
recipes with the same version as before.
* Default to showing name (PN), layer and version rather than the full
path and filename. The old style formatting can be used by specifying
the -f option.
* Mark skipped recipes as such in the output, and print them in the
correct sorted place in the list rather than at the end
* Prefix/suffix title line with === so it can be filtered out easily in
shell scripts if desired
(Bitbake rev: 43b473275d3cb2e60a14e4a52cdc4654b3f4e5e7)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is being added to resolve setscene race issues where we do have
particular dependencies required between setscene tasks. This allows
specific dependencies to be specified. This allows us to fix the races
in sstate with the useradd class in OE-Core.
Any tasks being depended upon have their reverse dependencies cleared to
ensure we don't have circular references.
(Bitbake rev: e1b157d26374a70e6274edcb4c0b9f3bc48f765c)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When constructing the setscene inter-dependencies, we need to account for all task,
not just the last one found. This patch corrects this oversight and ensures all
dependencies are added, not just the first one found.
(Bitbake rev: b9b5b5129d066e1ff7d3effda116afc3c6657beb)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This means that custom signature handlers can override specific parts
of the code without having to reimplement whole functions allowing them
more flexibility.
(Bitbake rev: 164195c068a656733cfe7aa07369c5ed6ea62ca5)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
By calling init_parser which sets up the siggen code after the ConfigParsed
event is fired, we can allow the metadata to add siggen classes which
was always what the code intended.
(Bitbake rev: 69fd5ad4a8402fab5eb8348260966b337c5648ff)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
A lot of our checks in the fetcher code assume that if the downloaded
file exists, the download finished successfully; this meant that if
BitBake was interrupted in the middle of a fetch then it would not
resume the fetch the next time, but instead attempt to use the
half-fetched file and usually fail as a result.
Since we're already writing a ".done" stamp file when a fetch completes,
just check for its existence and assume the download didn't complete
successfully if it isn't present.
(Bitbake rev: 721e986624529aedef96dd06c9fe6243f2897b10)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
It's unclear from the history but at some point we stopped logging the
"Tasks Summary" NOTE when tasks failed. Reinstate this for failure, and
also make the count of attempted tasks include the failed task.
(Bitbake rev: e44d5be98fc5d2589cd929ce143638395936b936)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The actual task names are discounted for comparison of dependent tasks, only
the actual hashes are used. This updates the comparison code to account for
this change, attempting heuristic matching for more user friendly output but
falling back to showing the changed hashes directly. This avoids some confusing
output to users where it looked like tasks had changed when they had not and
actually had the same hash but a different taskname.
(Bitbake rev: 7da7dff83ed765c9cde1d7f91ee1b65e49520481)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This avoids some silent parser hangs we were seeing which were
near impossible to debug as no user feedback was given.
[RP: Tweak commit message]
(Bitbake rev: d104f29871c04a5a36600a35b2568b49e5b21ca0)
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[YOCTO #1761]
Reconnect to the backend Sqlite DB in 'database is locked' exception so
the timeout can be leveraged in each time retry.
(Bitbake rev: b310382764367b573c84f33d847c6eb821266f9e)
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Remove the error logged within cooker summarising the list of failed
tasks, and instead print this in the UI (knotty) where it belongs. This
also adds the actual name of the task that failed as well as the
corresponding recipe file that was being shown previously.
In addition, reformat the summary messages more tidily - no extra breaks
between lines and use correct English singular/plurals, with some
allowance for future translation.
(Bitbake rev: cdf69913f99d28bc7f51067a60257701f952c6cb)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Improves error output for matching problems when the -b / --buildfile
command line option is used.
Rename MultipleMatches exception to NoSpecificMatch (as it is also
raised when there are no matching recipes) and make it inherit from
BBHandledException so that it doesn't print a stack trace (we always log
an ERROR prior to raising it.)
In addition, improve the formatting of the error message - only call the
log function once rather than once for every match, and use a more
appropriate message if there are no matches.
Fixes [YOCTO #1141]
(Bitbake rev: 803550a5098ec878164245e71344c3d687310b72)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Make the warning for the initial fetch failure a single line - we don't
need the full command and output here yet, but write it into the log in
full as a debug message. However, if fetching from mirrors fails as well
then print out the full details for the first error that occurred as an
ERROR rather than a WARNING.
Since this is logged as an ERROR, combined with an earlier patch it
suppresses the full log which does make the output much more readable
for any fetch error.
Fixes [YOCTO #1832].
(Bitbake rev: 6bbdc7d259c0cc041b62dbdb26cfc3ec6edcb6f3)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If a task has logged an ERROR then don't print the contents of the
task's log file in knotty (the default terminal UI).
As a side-effect we now also respect BBINCLUDELOGS in knotty; if it is
false we never print the log (but the pointer to the log file is always
printed).
(Bitbake rev: b9746b7e4d7aa5c34eba15a61427bfc6949af123)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The termination signal and exit code of the fetch process were not being
decoded correctly, resulting in bitbake reporting that the process
terminated with a signal of the exit code (if it was under 255). There
are functions in the Python os module to do this decoding correctly (for
Unix at least), so let's use them.
(Bitbake rev: 50aea9a76e40cf71cc3f1462c88298e4846a031c)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Seeing the word "failed" alone without reading the whole context has
occasionally triggered an automatic assumption on the part of some users
(myself included) that something has gone wrong, even when this message
is telling you that "0 [tasks] failed". To avoid this let's just say
"all succeeded" in this case instead.
As a bonus this means you can now search the output for "fail" and not
find anything if all went well.
(Bitbake rev: b6f067af12d4661758a78788f1db472684b9aba8)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* The "name" argument to FuncFailed is rarely used as a name in actual
usage within bitbake, so don't treat it as one in the output.
* Don't print URL for FetchError if it was not specified (i.e. don't
output "Fetcher failure for URL 'None'")
* Don't include URL in "unable to fetch from any source" message since
we supply it to FetchError and it will be printed anyway.
* Don't include URL in "checksum failed" message for the same reason
(Bitbake rev: 86811bd85e2e453ee92a05fe60160d9b49ac69e8)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The count of warnings being shown in the summary at the end was also
including the number of errors.
(Bitbake rev: d242d6ca81dd83b2b13a3ac77ac4cd829a69cf83)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[YOCTO #1126]
A local PR service will be started and stopped automatically along
with the bitbake invocation/ternimation.
This local PR service will be started only and if only when the
PRSERV_HOST is set to 'localhost' and PRSERV_PORT is set to '0'.
When started, the sqlite3 database is stored at
"${PERSISTEN_DIR}/prserv.sqlite3" or "${CACHE}/prserv.sqlite3".
(Bitbake rev: 9d8f45407c67ed0d3c4f820cf646de3c385067c7)
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We have a problem knowing when to show the user debug information and
when not to since the code has already shown the user suitable information
about why a failure is occurring.
This patch adds a bb.BBHandledException exception class which can be used
to identify those exceptions which don't need further explanation to
the user.
This patch uses this class for the bb.providers exceptions and ensures the
command handling code correctly filters the exceptions meaning that
"bitbake invalid"
now shows an simple error message and not a python traceback.
[YOCTO #1141 partial]
(Bitbake rev: eac9249b40ae1e3aa21e016010c862664e59a8d4)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Show a summary count of warning/errors messages shown to the user during the
build and make it clear when an error exit code is being set.
[YOCTO #1540]
(Bitbake rev: 9943bad611a974e4d37a00c7a4de1752250370c5)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The parseConfigurationFiles API calls the related function in
cooker.py to parse config files.
(Bitbake rev: 96c307b9874131ad8c7d9caea6f6dfbd09aab9d4)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There is no direct use of command in cooker.py, and it is using
bb.command instead. Remove command in the import list.
This fixes a problem of embedded import between command.py and
cooker.py.
(Bitbake rev: c353316b2efcc7a893d6b4aa9a9647d51a6f69e3)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There is no direct use of command in cooker.py, and it is using
bb.command instead. Remove command in the import list.
This fixes a problem of embedded import between command.py and
cooker.py.
(Bitbake rev: 92fec2788e33d301cc63848901bc6adc764a2ecf)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Pass host and port to BitbakeServerInfo class instead of the "server"
instance. With this change, GUI can connect with server individually
by host address and port.
(Bitbake rev: 5124351d6c287185723c98e6e4400c5402a5c8a8)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
initCooker is to set the cooker to the initial state with nothing
parsed.
(Bitbake rev: 8ee9c6cc47938604268242d90bd3007218f9a36e)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
For buildTargets function, we use bb.configuration.data as parameter
to inject events, since in hob environment, some variables are
modified dynamically and bb.configuration.event_data may out of date.
(Bitbake rev: 487a124942fd5cd9de71413b79a4049a6d26f1e8)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
for findConfigFiels() and findFilesMatchingInDir() functions, they
don't need to parse all the bb files, thus setting the needcache
value to be False.
(Bitbake rev: 3ef73dee8b08ccfd15a4901cce315a99b22e71d7)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When debugging setscene problems it was found that some extra debug messages were useful.
This patch adds them.
(Bitbake rev: cff2c258b77fde01d530a5923e553e6111b15eb5)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Local cloning of git repositories from DL_DIR into WORKDIR fails when
using ssh URL with port specification e.g.
"ssh://user@host:port/path/to/repo.git". Git fetcher clones such remote
repository into "${DL_DIR}/git2/host:port.path.to.repo.git". However,
when clonging from ${DL_DIR}/git2/host:port.path.to.repo.git into
${WORKDIR}, git fetcher fails with "ssh: Could not resolve hostname
${DLDIR}/git2/host: Name or service not known".
A solution is to replace ":" by "." in host component, similarly as it
is done when replacing "/" with "." in path component, so that local
clone directory in DL_DIR looks like this: "host.port.path.to.repo.git".
(Bitbake rev: 1f2867b79f1cd2bfbdc849ba5677a39db6fa3396)
Signed-off-by: Juraj Hercek <juraj.hercek@jhksoftware.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
As reported on the mailing list[1] when changing IMAGE_FSTYPES through the
hob preferences a reparse is required before the changes will be picked up
by the system. This patch sets the reload_required property of the class to
true when the image types have been modified to ensure the reparse is
triggered.
1. https://lists.yoctoproject.org/pipermail/yocto/2011-December/006002.html
(Bitbake rev: 6c0babf08909307ab69a66ed06e77e8818b2a8c5)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The knotty UI just ignores these and so should RunningBuild, if these events
aren't handled the UI appears to hang.
Fixes [YOCTO #1665]
(Bitbake rev: 540ba78075bd525776aa23bf38bee66350c66534)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Some BB_HASHBASE_WHITELIST variables are in the lists of variable
dependencies for signatures. Ignore those differences in lists
since this difference does not matter
(Bitbake rev: 71b53a3f0766ca464560a1f6a449f9424fbdf7ae)
Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In bitbake/lib/bb/command.py::Command::__init__, we have the following
lines:
for attr in CommandsSync.__dict__:
command = attr[:].lower()
method = getattr(CommandsSync, attr)
sync_cmds[command] = (method)
for attr in CommandsAsync.__dict__:
command = attr[:].lower()
method = getattr(CommandsAsync, attr)
async_cmds[command] = (method)
The sync_cmds and async_cmds are defined as global dictionaries, but it
seems that we've never used them (I did a "grep -r async_cmds bitbake/",
, there is no result except the ones that I have removed), and I can't
find the history of it from "git log -p", I guess that they have been
replaced by the self.cmds_sync and self.cmds_async.
[YOCTO #1791]
(Bitbake rev: 24e99460800856035bb54a84c7aa33b3517436e9)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
BB_STRICT_CHECKSUM caused a backtrace as the FetchError parameters are
incorrectly specified such that FetchError is being passed 8 params
when it's expecting 3. This fixes the parameters so we're passing a
formatted string and the url.
(Bitbake rev: b8b2f4287c9125542b18a294c0a94ed89a7e73a8)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The assignments of self.configuration.cmd in BBCooker seems duplicated,
have the followings in both BBCooker::__init__ and
BBCooker::loadConfigurationData:
if not self.configuration.cmd:
self.configuration.cmd = self.configuration.data.getVar("BB_DEFAULT_TASK", True) or "build"
The __init__ invokes the loadConfigurationData, and it would make sure
that self.configuration.cmd has been assigned a proper value, so we can
remove the one in __init__.
[YOCTO #1791]
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Using bitbake -e -b virtual:xxxx:/path/to/the.bb would result in
zero matches since the virtual:xxxx piece wasn't being processed.
This adds in the necessary functionality to handle it correctly.
[YOCTO #1793]
(Bitbake rev: bd5a727c8447bcb747c1d2463b7de2ab6d21a7de)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There is a subtle but nasty problem that a function's cwd can vary
depending on whether ${B} (often ${S}) exists before the funciton is
called or not. Most functions in the system can cope with this but
its bad practise and I've just witnessed build failures resulting
from this during image generation from bootimg.bbclass. I also
suspect this could explain some odd fetcher behaviour witnessed in
the past.
This change ensures we always call funcitons with a specific build
directory making things deterministic.
(Bitbake rev: ef0888f83fa4408eb768257d7e03700202faad18)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This allows the code to safely fall back to dumping the basehash data
if the taskhash data isn't present for some reason. We could effecitvely
obsolete the runtime option and use this approach instead exclusively.
(Bitbake rev: 5ace320ccc01f4e326f90b7ba060dcbff3380dca)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
USER is the correct variable to use, also this can affect sstate
cache as well.
(Bitbake rev: d7f9edda65dae2e046871afa275c5a51dff48fc4)
Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We have a problem if we want to inject specific information into the variable
dependency code. There are cases for example where we want a dependency
on the value of X but it doesn't matter how X was constructed or what
dependencies it might have had, we only care about the absolute value.
With the current code, its near enough impossible to do this.
This patch adds such a mechanism so the user can trigger this with code like:
baselib[vardepvalue] = "${baselib}"
It also refactors some of the code so we do variable lookups once
instead of doing this in two different functions.
[YOCTO #1583]
(Bitbake rev: 6c879b44ccf42dc73fe4467076e114700d7ba81b)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently if you specify a mirror like:
file://.* http://linux.freescale.net/yocto/sstate-cache
it won't work as you expect whilst:
file://.* http://linux.freescale.net/yocto/sstate-cache/
will since it has the trailing slash.
This patch handles both cases correctly. It also adds some debug to
the uri_replace function since its near impossible to debug it without
some kind of output.
[YOCTO #1578]
(Bitbake rev: a0246bf09c93bb657eaf6ba61d090b247ed33640)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The BB_CONSOLELOG variable is used to specify the console log file
to use. This means people can look up things that happened during a
build by may have scrolled off the screen.
[YOCTO #1771]
(Bitbake rev: a34ff490a46577a64345365fa1ac39c48d0861cd)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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]
(Bitbake rev: 5597a68fac0954c682b67471722c2643e2415f99)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(Bitbake rev: 9a2029899c946ce9aa8adbc85f2cfe7a85b92182)
Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is useful for really longs lists to pinpoint what has
actually changed
(Bitbake rev: f1eb6d3dcc10c42bb09383a87bde3afa69bc6ed9)
Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(Bitbake rev: 61017fc5d30b7a13308d038872ec92efc1a84cef)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(Bitbake rev: b7114d8e5d9b0720339bd5d24d243c0f2a7c1f3b)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(Bitbake rev: 2f6d987d9957a5d713ce119c24c2e87540611f53)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(Bitbake rev: 658d7daa70e46c2b20973b90ee53f0bbadc8bf5d)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(Bitbake rev: 727ca945177ce9bd44515cf611e3e95a09466d98)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(Bitbake rev: 165a22ddcc647b945707fb5c483146bb336d5f66)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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].
(Bitbake rev: e492eb4dc9016cd0bed194377c6f2b85cf0ad113)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(Bitbake rev: 4a4046268f84b85559eea2c4b6a6004ad8cccb77)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(Bitbake rev: 05c29ab0b2ad3c521414cabb6a92bca15c6e919c)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(Bitbake rev: 6004cbf36c980c2574c1c9153df81a7c55317e17)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(Bitbake rev: f421ef819f00ac659504d9af41bcc8323422ff8c)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If the vardeps flag is not None, we now silence the warnings about
non-literal usage for that variable.
(Bitbake rev: e724b9f417d1baf898f5afc6376c73c1a2ad8db9)
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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).
(Bitbake rev: 405dfe69e6a608826e599ebf2f83ef8cf5083b96)
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
- 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
(Bitbake rev: 1060193ae4d54e667735dbff5d1d2be49a3f95c9)
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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).
(Bitbake rev: 84e535b5165c7e936c5b1486bdf4626ed3649f5f)
Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The split is even less necessary now that we use ast.walk rather than an
actual NodeVisitor subclass.
(Bitbake rev: d6c44fac184abae8395bfa7078f06675218aa534)
Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(Bitbake rev: 8e4e75383e43d6da2c16ec5286186a0d0569b0f8)
Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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]
(Bitbake rev: 30ca41e596955fcbbe1ae6f4436ecf14cef96f8d)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Clearly a logic/indentation error - we should only try and load the recipe
should the file-chooser return OK.
Fixes [YOCTO #1668]
(Bitbake rev: db59297aa1861614ffaea4295b9b054baa8a12b9)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
git could need these environment variables when working behind
a proxy
(Bitbake rev: dca46cc2e1c75b6add2c4801e2994a4812745f5b)
Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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
(Bitbake rev: a7b75e4db52445b30ec0fc0053dcf454f5f7d2db)
Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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].
(Bitbake rev: c6e88b7c0e61f9586a275df53f48b90687c5f92f)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(Bitbake rev: 00fc1d7249b5e217cc7c36ac71b63ddad1c5b769)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(Bitbake rev: 656eafe0f2c9ec7730d33e15705b8c720f787c49)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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]
(Bitbake rev: 109e1597671dfb7222672e268190aabc727960ca)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(Bitbake rev: 623e9c7f7a9cf12b8c81c26cc608990682a601dd)
Signed-off-by: Julian Pidancet <julian.pidancet@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(Bitbake rev: 043914a8b478fd4a7799acd1b44bdb3b0af2165a)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Pass the correct callback name to the connect method.
(Bitbake rev: d2b9167a7b0eb3fcb31d64f915beef41aac659a5)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(Bitbake rev: 705156e2812afb288632f01416fcbbf9add26bee)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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]
(Bitbake rev: ab6c63f35739c30df0e8a9d0f1ae982b96e538ed)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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]
(Bitbake rev: bdbd724e806c9ca69cc1508bac7ec0a2dce95543)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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>
(Bitbake rev: 3e7f8afeacf7c8c8de3e87778a3907e33d4a06b3)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* 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
(Bitbake rev: 3a54dcc09a12406ec6cf22b4b1a2cc4fc203822c)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* logging/logger typo was fixed in 38a598731b49c8a0ba0ede570adc33eb1e848235
but debug level is still missing
(Bitbake rev: 9de432fe2348cdbc93037bb49abb508d1fd38336)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Change the wget fetcher to not emit the commands output when calling checkstatus, this
matches the behaviour of the git fetchers checkstatus() method.
(Bitbake rev: 5896d8ff7bcf85b3bab20fc27c4c15e87f86b4d9)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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]
(Bitbake rev: 3a0f2dda3c6de993f08ed50e9d513add9407339c)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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]
(Bitbake rev: f4be83aae77a713e2b5a2d094651639b6e641031)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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]
(Bitbake rev: 4394e38b038e1bc9845adf01d73363157d98c96d)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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]
(Bitbake rev: 39ed18e70e9f3a13b522b4ea02bf6f4bdb7de89c)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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]
(Bitbake rev: 09f5aed2edb0b8f4a6570e1041b5db66cf2d17cc)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(Bitbake rev: 459addf13721a6847406f215650fa1882fb83ea9)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(Bitbake rev: 67e5e23034c5ec2b9efcca935242830306c0048d)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(Bitbake rev: 24272dae15ccf641ece11ef5a6e2bfa3ebb6f5f9)
Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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]
(Bitbake rev: 71ac7fda51ed80e9ef6d1a3bca653683893e4770)
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>
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.
(Bitbake rev: 069d85cde01d14f8da31ad5cbd843a4d99628d42)
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>
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.
(Bitbake rev: 73b6ff4654d10baae59d83e8568d58d989e99dd7)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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]
(Bitbake rev: b0cce5b52a20c0dad5ec0c4053f437cae89b6137)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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]
(Bitbake rev: 3157967d08266b8d1ac563ba609ac3027b60d040)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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]
(Bitbake rev: bb3e9113074ea1254aa03a247a1a1070682df9c8)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(Bitbake rev: 126267c545ede65042959d134ea75c0345577747)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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]
(Bitbake rev: 02ab0e11d8dd42f5ca440b3d8d2073e23f55113a)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(Bitbake rev: 639db8c766cada7180f9447f51303f9b30d7e817)
Signed-off-by: Holger Hans Peter Freyther <holger@moiji-mobile.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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]
(Bitbake rev: 8540c09d4e509e3277940464c71174d8a0aca6ab)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(Bitbake rev: 30eaef7f50fff855cf8830772a7088dd83a4240e)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(Bitbake rev: 82845569c37591f6b097b9db071484f8171a39ea)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Cheaper to set COL_INC to True regardless of whether it's already set.
(Bitbake rev: 12c6f98ba7a68baeeaee00594d910e1be8d55d87)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(Bitbake rev: d2450536269996147a22d6eafbdf72aa62afa4f6)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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]
(Bitbake rev: 01ef2ab0d201f3cb3666462558c9cf485592e04f)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In the same vein as a similar, earlier, patch where I missed the second
loop which modifies the binb column.
Fixes [YOCTO #1420]
(Bitbake rev: 6ad1103b5fd592afa9ea03ef5a0d706604cc0e0f)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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)
(Bitbake rev: 6555a77c199f41bf35460138764e03e30c56d29f)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add another item to the right-click menu enabled for log messages to copy
the message to the clipboard.
(Bitbake rev: 419b52e832f506504778d4d5957d1e77477bb513)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(Bitbake rev: 0423587db09f6f28cf9d801f5657a84157f42dbe)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This fixes an embarassing typo which meant the method actually returned a
list of packages which didn't depend on the passed pn.
(Bitbake rev: a17334e85869bf78d63df1b2336d68980a0b359f)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(Bitbake rev: 27dcf245abf3805be47894773406392fdf055e48)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Use git ls-remote to implement checkstatus command for the git fetcher.
(Bitbake rev: 0ed281feb6d244d3700da484f4e83394ae394f93)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If IMAGE_FSTYPE is empty and the user has opted to build an image warn
them and prevent the build.
Fixes [YOCTO #1267]
(Bitbake rev: 023edbe6d04f25c7e0e7b615eb06cd3727c665cb)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We were setting the value as a list when a string is expected
(Bitbake rev: fc3bb3a4f04f64c6d47c7bf040b7522e9204a458)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
These methods are expected to return lists.
(Bitbake rev: 4e101de9034c20dfda0bb851e84f4315335620f6)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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]
(Bitbake rev: c969857c7f5963098e6584803eafb4e2be0eea46)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(Bitbake rev: cf79424592a81378de5edad11cf6c4f427c94bcc)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If the user hasn't made any selections inform them that they need to do so
before clicking Bake.
Fixes [YOCTO #1384]
(Bitbake rev: e176dcf637da2d0105a4361a46d5df5238e3b8ce)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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]
(Bitbake rev: 91d1f5f5a44c80e6702221509e2e9aadbe05bcc0)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ensure the dependency list is uniquified, doesn't include self references
and further doesn't include -dev references.
(Bitbake rev: 70aebebc3867d52e460355667e711c7c6dcd50ce)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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/
(Bitbake rev: d7768cefcddd59a5102d7e9b67e4416bf8603f55)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(Bitbake rev: 64dfc574c12d882761e4958c8b1881cd47a87e0d)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(Bitbake rev: a12da000a8e4138fbdfd77f9c49b11fc69a315e1)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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>
(Bitbake rev: cb6c07054e8baf94614713ec257c643b22266d75)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(Bitbake rev: 7627b561cbcb1482b464d69db70f38ea663180f3)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
No need to check if the name ends with -native or -cross as path will be
None in this instance.
(Bitbake rev: bca739cdf55ba2a1c5e372e512d4f088345f245f)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ignore names that include '-cross', rather than just 'cross'
(Bitbake rev: 06abfc9caf7f237a6bb762fb3ae9f3dec99688ca)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If the item_name contains virtual/, -native or -cross it won't be present
in the model. Return None early in this circumstance rather than iterating
the entire model and still returning None.
(Bitbake rev: aeef5a4b3999bd924e89e7738efe24f80ae94fd0)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>