aboutsummaryrefslogtreecommitdiffstats
path: root/bitbake
AgeCommit message (Collapse)Author
2012-01-11bitbake: Automatically start local PR service.Lianhao Lu
[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>
2012-01-11bitbake/PRservice: Added no_hist mode and export/import.Lianhao Lu
[YOCTO #1556] 1. Added the package_arch into the index to the DB table. Because the change in PACKAGE_ARCH will results in different checksum, and it is better to have seperate PR value domains for differnt PACKAGE_ARCH of the same pakcage. 2. Changed the PR service to operate in no history mode. In this mode, the for a given query tuple (version, pkgarch, checksum), the returned value will be the largest among all the values of the same (version, pkgarch). This means the PR value returned can NOT be decremented. 3. Added export function. For each (version, pkgarch) tuple, only the record with the maximum value will be exported. 4. Added import function. The record will only be imported if the imported value is larger than the value stored in the DB with the same (version, pkgarch, checksum) tuple. (Bitbake rev: 379567ee879dcdc09a51f7f1212bde1076147a6f) Signed-off-by: Lianhao Lu <lianhao.lu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-10bitbake: Add BBHandledException exception classRichard Purdie
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>
2012-01-10bitbake/knotty: Show summary of warning/error messages shownRichard Purdie
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>
2012-01-10bitbake-layers: close files in apply_append()Paul Eggleton
It's recommended practice to close files when finished with them and the code in this function was not doing this. (Bitbake rev: 470a160813ce6cf04f83258d46ded5c2ab8bc520) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-10bitbake-layers: flatten: warn the user if output structure is incorrectPaul Eggleton
If you flatten layers that have different directory structures you may not end up with a usable layer in the output directory - some files won't be picked up by BitBake. To try to avoid this problem, once flattening has completed, get the BBFILES entries that correspond to the layer from which the output layer's conf/layer.conf came from, and check through all of the .bb/.bbappend files in the output directory to see if any will not be referred to by BBFILES in the output layer. If any are found, show a warning to the user. (Bitbake rev: 8e4dc97614f2022855143b49d18795ca0352b237) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-10bitbake-layers: flatten: allow specifying layers to flattenPaul Eggleton
You can now optionally specify two or more layers to flatten into the output, rather than flattening all of the layers in the current configuration (but this is still the default behaviour if no layers are specified). Note that this means the output layer may still contain bbappends where the corresponding recipes are not present in the list of layers to flatten. There is also a caveat when a layer not being flattened would be "inbetween" the flattened layers (see the command help for details.) Implements feature request in [YOCTO #1564]. (Bitbake rev: 379b12107ec921b4458eda320078374a509164c1) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-06command.py: add parseConfigurationFiles APIDongxiao Xu
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>
2012-01-06bitbake: add a new option "--server-only"Dongxiao Xu
Create a new option "--server-only" for bitbake command, which allows bitbake runs as a server, and let frontend connect the server itself. "--server-only" should work with "-t xmlrpc", or bitbake will exit. bitbake --server-only -t xmlrpc will print out the server address and port information. (Bitbake rev: 2677254cf9792cee083605267570d93b425cc2db) Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-06cooker: remove command import in cooker.pyDongxiao Xu
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>
2012-01-06cooker: remove command import in cooker.pyDongxiao Xu
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>
2012-01-06xmlrpc: Change BitbakeServerInfo init functionDongxiao Xu
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>
2012-01-06command.py: add initCooker APIDongxiao Xu
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>
2012-01-06cooker: user bb.configuration.data to inject eventsDongxiao Xu
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>
2012-01-06command.py: Modify needcache value for certain functionsDongxiao Xu
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>
2012-01-05bitbake/runqueue: Improve the setscene loggingRichard Purdie
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>
2012-01-04fetch2/git: change colon to dot in ud.hostJuraj Hercek
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>
2012-01-04bitbake-layers: fix Python error during parsePaul Eggleton
If "bitbake-layers show_layers" was run when the cache was dirty forcing a parse, it failed with the following error: ERROR: Failure expanding variable SRCPV, expression was ${@bb.fetch2.get_srcrev(d)} which triggered exception AttributeError: 'module' object has no attribute 'fetch2' A simple import of bb.fetch2 in bitbake-layers fixes this. Fixes [YOCTO #1855]. (Bitbake rev: a228f0a32c2c14d62effbbba5f4fada4cd3817f6) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-20ui/crumbs/hobprefs: trigger a reparse after changing IMAGE_FSTYPESJoshua Lock
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>
2011-12-20ui/crumbs/runningbuild: handle InvalidTask eventsJoshua Lock
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>
2011-12-20vim/syntax: Recognize ?? operatorKhem Raj
(Bitbake rev: 5337ed86820ab0a2cbb3fd82eb11edb807c47f54) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-05siggen.py: If both sigs have a variable in it's whitelist then don't say ↵Matthew McClintock
it's changed 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>
2011-12-05Remove the async_cmds and sync_cmds from command.pyRobert Yang
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>
2011-12-05fetch2: fix Exception parameters when BB_STRICT_CHECKSUM enabledJoshua Lock
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>
2011-12-05Remove the duplicated assignments of self.configuration.cmdRobert Yang
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>
2011-12-01cooker.py: Allow the -e option to work with virtual classes and -bRichard Purdie
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>
2011-12-01build.py: Be determistic about a function's cwdRichard Purdie
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>
2011-11-27bitbake: Update users of getVar/setVar to use the data store functions directlyRichard Purdie
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-25bitbake/siggen.py: Don't backtrace if the taskhash data isn't presentRichard Purdie
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>
2011-11-25bitbake: Update and fix bitbake-runtaskRobert Yang
Since bitbake switched back to the fork instead of the exec model, it no longer used bitbake-runtask and the code has suffered some bitrot. bitbake-runtask is a useful tool for excuting the task without the scheduler of bitbake, so that the external tool can invoke it easily. It also provides a useful example of how to invoke exec_task() with low overhead without a lot of the bitbake threading/UI overhead. Significant changes: * This patch changes the argument order so that the commonly used and mandatory arguments come first. * The taskhash file and dryrun options are now optional * It now uses the bitbake logging mechanisms to provide processed logging output to the console. * The process handling to do with stdout/stderr redirection are removed since they're no longer required. [YOCTO #1229] RP: Logging updates to the patch based on Roberts original patch Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-25Nothing uses USERNAME, remove it - can cause sstate-cache conflictsMatthew McClintock
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>
2011-11-24data/siggen: Add vardepvalue mechanism to allow the variable dependency code ↵Richard Purdie
to be forced to specific values 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>
2011-11-24fetch2: Improve uri_replace to handle paths with no trailing '/'Richard Purdie
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>
2011-11-24knotty: Add support for logging the console to logfileRichard Purdie
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>
2011-11-24runqueue.py: Fix debug message to reference the correct taskRichard Purdie
(Bitbake rev: 035c673c463ca450245acf824e7b7e8f889bdc89) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-24fetch2/local: Don't default to files in DL_DIR for file:// urlsRichard Purdie
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>
2011-11-23siggen.py: sort task hash depedencies with basepathMatthew McClintock
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>
2011-11-23bitbake: print out symmetric difference when comparing sigsMatthew McClintock
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>
2011-11-23runqueue.py: Ensure we fully process the covered listRichard Purdie
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>
2011-11-23runqueue.py: Ensure setscene tasks don't break dependency orderRichard Purdie
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>
2011-11-22bitbake/runqueue.py: Add BB_SETSCENE_VERIFY_FUNCTION hookRichard Purdie
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>
2011-11-21bitbake/runqueue.py: Sort the list of skipped tasks as it makes searching ↵Richard Purdie
the list easier when debugging (From Poky rev: 5de8a495fba657e1febc616bbc737a8136cc88f9) (Bitbake rev: 110f6cccbcc5907e15262c05d5c47da101e1a47d) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-21bitbake/runqueue.py: Fix incorrect task number reference in debug messageRichard Purdie
(From Poky rev: 45887bbd5479041be05b914668f14de6ec9b9831) (Bitbake rev: dc4439ca8c7db7ceee78bd0552f65ceddcff17a7) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-18parse_py: Use absolute paths for FILERichard Purdie
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>
2011-11-18siggen.py: Include list of variables in hashesRichard Purdie
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>
2011-11-18siggen.py: Fix diffsigs output for filename comparisionsRichard Purdie
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>
2011-11-15lib/bb/runqueue: avoid marking runtime dependencies as coveredPaul Eggleton
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>
2011-11-10data_smart: Add appendVar/prependVar functionsRichard Purdie
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>
2011-11-10Add FAKEROOTNOENV variableRichard Purdie
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>
2011-11-10cooker.py: Ensure only one copy of bitbake executes at onceRichard Purdie
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>