summaryrefslogtreecommitdiffstats
path: root/meta/classes/externalsrc.bbclass
Commit message (Collapse)AuthorAgeFilesLines
* classes/externalsrc: create symlinks for workdir and logsPaul Eggleton2016-02-111-0/+20
| | | | | | | | | | | | | | Auto-create symlinks in the source directory to the work directory (${WORKDIR}) and logs directory (${T}) so that they are easier for the user to find. This is particularly useful within the extensible SDK where the user is less likely to be familiar enough with the structure of the build system to know where to find these things, but otherwise they are a useful shortcut for anyone. (From OE-Core rev: 58adb3904c18acefd0da319e32f66ebca72eeaac) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/externalsrc: disable rm_work when activePaul Eggleton2016-02-111-0/+3
| | | | | | | | | | | If you're using externalsrc, it's very likely that you're going to want to examine the intermediate build results even if the recipe builds successfully; therefore you won't want rm_work to delete those. (From OE-Core rev: c0867a425166086624bcffa231a1497291f860cb) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/lib: Add expand parameter to getVarFlagRichard Purdie2016-02-041-1/+1
| | | | | | | | | | | | | | | | This sets the scene for removing the default False for expansion from getVarFlag. This would later allow True to become the default. On the most part this is an automatic translation with: sed -e 's:\(\.getVarFlag([^,()]*, [^,()]*\)):\1, True):g' -i `grep -ril getVar *` In this case, the default was False, but True was used since in most cases here expansion would be expected. (From OE-Core rev: 42a10788e89b07b14a150ced07113566cf99fcdd) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* externalsrc: use shared CONFIGURESTAMPFILE if B=SMarkus Lehtonen2016-01-311-0/+11
| | | | | | | | | | | | | | | | | | External source tree is used as the builddir even for different architectures in case ${B}=${S}. This may cause problems if MACHINE is changed as do_configure is not being re-run (which would run make clean). This patches changes externalsrc to use a common (per-recipe) CONFIGURESTAMPFILE under 'work-shared' if ${B}=${S}. In addition, do_configure will depend on changes of this stamp file. As a result, do_configure is re-run and the build dir is cleaned correctly if a rebuild for different MACHINE is done. [YOCTO #8950] (From OE-Core rev: f44f12af346888bdeb3ae01a275cb5dd4396b505) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/externalsrc: fix setting of deps varflag as a stringPaul Eggleton2015-09-231-1/+2
| | | | | | | | | | | | The value of the deps varflag for tasks is (unusually) expected to be a list object rather than a space-separated string, hence we cannot use appendVarFlag() here. This fixes a traceback when parsing the gcc recipe with externalsrc enabled, for example. (From OE-Core rev: 47c1ff11a9b8b1e9f40ffb2b3d387252200cf0ec) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/externalsrc: scale back warning to a plain notePaul Eggleton2015-09-231-1/+1
| | | | | | | | | | | | | | It turns out that there are folks out there who use externalsrc in normal builds and don't really need to be warned; additionally within the extensible SDK or when using devtool, it shouldn't be a warning situation. Thus, scale it back to a note (we can't use bb.note() here since that wouldn't actually be piped through to the bitbake UI). Also touch up the message a little bit. (From OE-Core rev: 87bedd137a77c5ac0033a1de4587c40dbe93e81d) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* externalsrc.bbclass: better filtering of cleandirsMarkus Lehtonen2015-09-121-11/+7
| | | | | | | | | | | | | | We really do not want our (external) source tree to be removed. There might be multiple values in the 'cleandirs' varflag pointing to our source tree - causing it to be wiped out. This patch improves the filtering of 'cleandirs' by examining the expanded values inside it. Any (expanded) values pointing to our source tree get removed. (From OE-Core rev: eec871fe405e140a1919999fe2f4cf24f1839e5d) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* extrernalsrc.bbclass: treat kernel meta like local sourceMarkus Lehtonen2015-09-091-4/+8
| | | | | | | | | | | | | | | Kernel metadata repository needs to be fetched/unpacked into the work directory in order to build the kernel. Sources pointing to a remote location are skipped by externalsrc by default which caused kernel build to fail (because of remote kernel-meta was not made availeble). This patch will make kernel-meta always available. [YOCTO #6658] (From OE-Core rev: b746280c955f48835d119f3fe637876faae6df97) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/externalsrc: handle tasks with existing lockfilesPaul Eggleton2015-06-181-1/+1
| | | | | | | | | | | | We need to ensure we add a leading space to the value we are prepending here in case lockfiles already has a value. Fixes [YOCTO #7813]. (From OE-Core rev: d1b3b384754089e62f6a4c7964690ae6c8d20a96) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/externalsrc: fix for recipes that fetch local filesPaul Eggleton2015-03-201-1/+13
| | | | | | | | | | | | If SRC_URI contains local files (file:// references) these will almost certainly be required at some point during the build process, so we need to actually fetch these to ${WORKDIR} as we would normally. (From OE-Core rev: f223ad3d5b5c90055e50d1b1be69230f55e06336) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/externalsrc: show a warning on compilingPaul Eggleton2015-02-231-0/+6
| | | | | | | | | | | | Make sure there's no chance of anyone forgetting they have a recipe set up for externalsrc; otherwise you could get confused about what is going on. (With our default logging setup we can't make it a note because the UI doesn't forward those; otherwise I would have used bb.note().) (From OE-Core rev: 7b73473bc9d19331a103cf4958059d3ceb84b486) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/externalsrc: add workaround for recipes that use SRCPV in PVPaul Eggleton2015-02-231-0/+4
| | | | | | | | | | | | | | | | | Here we set SRC_URI to blank, however doing so means that the function that is called when you expand the default value of SRCPV (i.e. bb.fetch2.get_srcrev()) will fail, so any recipe that references SRCPV in PV couldn't previously be used with externalsrc. (At some point we may fix the function to work in the externalsrc case, but then we would also need to ensure that ${B} did not change as a result of PV changing any time the HEAD revision changes in the external source tree, or you'll lose any intermediate build artifacts.) (From OE-Core rev: 26f8060c3475ec988194b2163e422ba4e776fd8b) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/externalsrc: fix source being wiped out on clean with kernelPaul Eggleton2015-02-231-0/+14
| | | | | | | | | | | | | kernel.bbclass adds ${S} do do_clean[cleandirs], but this means if you run bitbake -c clean <kernelrecipe> then your external source tree will be trashed, which could be a disaster. For safety, remove ${S} from cleandirs for every task. We also have to do the same for ${B} in the case where EXTERNALSRC_BUILD is set to the same value as EXTERNALSRC. (From OE-Core rev: b5071fb2667b8751885d38ca62fa36c870177cd5) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/externalsrc: set do_compile as nostampPaul Eggleton2014-12-231-0/+3
| | | | | | | | | | | | | | Most of the time what you want when using this class is for do_compile to execute more than just once - every time the source changes would be ideal, but that's a little tricky to accomplish. Thus, set do_compile as nostamp to get something close. Note that in order to be effective this also requires the change to bitbake that causes nostamp task signatures to change on each execution. (From OE-Core rev: e734e12fd1478cdacdadf4e0fae5247cb70b9fb1) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* externalsrc: Fix deltask usageRichard Purdie2013-12-211-1/+1
| | | | | | | | | An incorrect version of the patch merged which entirely removed the covered variable. This corrects the patch so the code works. (From OE-Core rev: 33874f9af895757c4b0fd2f4d350ed308edac03c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* externalsrc: Use deltask APIRichard Purdie2013-12-201-18/+3
| | | | | | | | | | Now we have deltask API, stop poking around bitbake internal variables. (From OE-Core rev: 98637df0c04fd14b506d9eec7da8ec6ae441221b) (From OE-Core rev: 3aa30ca04752c6366a81db6ff99209fa0b46861c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/externalsrc: enable global inherit and simplify usagePaul Eggleton2013-06-181-18/+33
| | | | | | | | | | | | | This class can now be inherited globally using INHERIT += rather than needing to inherit it in the recipe itself. Additionally, instead of setting S (and optionally B), set EXTERNALSRC (and optionally EXTERNALSRC_BUILD) to point to the external source and build locations respectively. (From OE-Core rev: b1da10579a28f9a5260a0678f6f15ce4b5a2706c) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* externalsrc.bbclass: Add class for handling external source treesRichard Purdie2012-03-011-0/+53
This is loosly based upon srctree.bbclass from OE-Classic but with some changes appropriate to OE-Core. (From OE-Core rev: bdb341953ba7d8299cba4d49d857107fb7b01e5b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>