summaryrefslogtreecommitdiffstats
path: root/scripts/lib/devtool
Commit message (Collapse)AuthorAgeFilesLines
...
* devtool: move edit-recipe to a separate modulePaul Eggleton2016-01-262-36/+70
| | | | | | | | | | standard.py is getting a bit large; move the "utility" commands to another module. (From OE-Core rev: 5089b93f5b341dc28c343f7afe15efda2081ed36) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool / recipetool: support specifying a subdirectory within the fetched ↵Paul Eggleton2016-01-241-0/+6
| | | | | | | | | | | | | | | source Sometimes you don't want to build an entire project, just a subdirectory of it; add a --src-subdir option to make that easier. (We still look for a single subdirectory in what gets unpacked, e.g. what you might find within a tarball, so whatever you specify with this option is added onto the end of that.) (From OE-Core rev: 59682d78f95732e014f78f13e0a05f843860d9bb) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: add sdk-install subcommandPaul Eggleton2016-01-241-1/+62
| | | | | | | | | | | | | | | | | | Add the ability to install additional pre-built items (from shared state) into the extensible SDK. This can already be done implicitly by adding something to DEPENDS within a recipe you're working on and then running "devtool build", but it's useful to be able to explicitly install things particularly if you're using the extensible SDK as a traditional toolchain. Note that for this command to be useful you need to have SSTATE_MIRRORS set in your SDK configuration, and that mirror needs to be populated with sstate artifacts for recipes you wish to be able to install. (From OE-Core rev: 3474a42954908d1688fd3a6cb600eed315b27833) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: sdk-update: improve SDK update process robustnessPaul Eggleton2016-01-241-34/+84
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make the following improvements to the SDK update process: * Use a manifest file with sha256sums to track files other than sstate and metadata that we need to update - e.g. conf files. This allows us to handle where files such as auto.conf may or may not be present, as well as the configuration changing without affecting task signatures - we still want the config files copied in that case rather than it saying nothing needs to be done. * Write the SSTATE_MIRRORS_append to site.conf rather than local.conf so that local.conf remains static (since we don't want to trigger an update every time). Also, If there is an SSTATE_MIRRORS value already set in the configuration we can skip this and assume it contains the needed packages. * Allow the update process to be run in any directory, don't assume we're already at the base of the SDK * Where practical, fetch remote files into a temporary location and then move them to the desired location at the end, to avoid a failed update leaving the SDK in a broken state. * Update all installed do_populate_sysroot / do_packagedata tasks instead of using the SDK targets. This ensures any item installed through dependencies after installation (e.g. when running "devtool build") won't go stale. (From OE-Core rev: 3d35631121f0e030bc8151f5c23d84008d06f44b) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: sdk-update: improve temp directory handlingPaul Eggleton2016-01-241-37/+38
| | | | | | | | | | | | * Use tempfile.mkdtemp() instead of hardcoding temp dir * Set a variable early for the temp locked sigs file and use that everywhere * Delete the temp dir at the end (From OE-Core rev: bad5d1a8c047a8118d30d9fa708b021d1599e0dc) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: build: ensure pkgdata is written outPaul Eggleton2016-01-241-5/+11
| | | | | | | | | | | | | | | | | | | | | | | | When you run devtool build, you need to have the pkgdata written out at the end, so that if what you're adding is a library and the next thing you add is something that depends on that library, the necessary information to map the dependency back to the recipe is present. In practical terms all this means is we need do_packagedata to run in addition to do_populate_sysroot. This does mean that do_package needs to run which wasn't running before, and that means that the few package QA tests that run within do_package such as installed-vs-shipped will now be run. This may be a bit bothersome, and prompted a fix for one of our oe-selftest tests as a result, but I don't see an easy way around it. Ultimately if you care about using the recipe in an image you'll need to fix any such errors anyway. Fixes [YOCTO #8887]. (From OE-Core rev: 6579c7120ee5a541427ff5b6b07f838d52f9fe7c) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/populate_sdk_ext: add option to bring in pkgdata for worldPaul Eggleton2016-01-241-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a variable SDK_INCLUDE_PKGDATA which you can set to "1" to include pkgdata for all recipes in the world target. There are a couple of uses for this: 1) If you use "devtool add" to add a recipe that builds something which depends on anything in world, the dependency can then be correctly mapped to the recipe providing it and that recipe can be added to DEPENDS, since we have the pkg-config and shared library dependency data within pkgdata. 2) You'll be able to search for these recipes and any files they package for the target with "devtool search" since that also uses pkgdata This of course assumes you've tailored world through EXCLUDE_FROM_WORLD to only include recipes you'd want built in your distro, but I think that's a reasonable assumption; failing that there is a WORLD_PKGDATA_EXCLUDE variable that you can set to exclude any recipes you don't want. Note that this patch relies on functionality implemented in a recent BitBake patch and will not work without it. Implements [YOCTO #8600]. (From OE-Core rev: 67149ea097d6fab7496b43e85a40853f40bd527e) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* populate_sdk_ext: Use new --setscene-only option to bitbake instead of ↵Richard Purdie2016-01-111-1/+1
| | | | | | | | | | | workarounds Rather than horrible workarounds, use the new --setscene-only option of bitbake to pre-populate the SDK structures. (From OE-Core rev: 38237b7ac53c416f85c4a70a61acafc3404c8b5f) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: build: support using BBCLASSEXTENDed namesPaul Eggleton2016-01-112-7/+23
| | | | | | | | | | | | It's logical that you would want to build BBCLASSEXTENDed items separately through devtool build, so simply allow that - we're just passing the name verbatim to bitbake, so all it means is adjusting the validation. (From OE-Core rev: 25dc5ac42c9da53c01416e7fdcc819d729281133) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: reset: support recipes with BBCLASSEXTENDPaul Eggleton2016-01-112-2/+35
| | | | | | | | | | | If the recipe file itself was created in the workspace, and it uses BBCLASSEXTEND (e.g. through devtool add --also-native), then we need to clean the other variants as well. (From OE-Core rev: e1bf6a30679a83d4dbcf37276204f639541e95f9) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: refactor code for getting local recipe filePaul Eggleton2016-01-111-15/+4
| | | | | | | | | | | We're doing this in a couple of places, let's just find the recipe file if it exists within the workspace (which it will if it's been added through "devtool add") when we read in the workspace. (From OE-Core rev: 81cf5580993c99050e3f4d6d891bc67534721487) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: add: support adding a native variantPaul Eggleton2016-01-111-0/+3
| | | | | | | | | | | | | | | | Sometimes you need to build a variant of a recipe for the build host as well as for the target (i.e. BBCLASSEXTEND = "native"); add a --also-native command line option to "recipetool create" that enables this and plumb it through from an identical option for "devtool add". (We could conceivably do the same for nativesdk, but I felt it might be confusing within the context of the extensible SDK, where nativesdk isn't really relevant to the user.) (From OE-Core rev: f3bea83db173cce921a9a30f04e88b7e3ed98854) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: reset: do clean for multiple recipes at once with -aPaul Eggleton2016-01-111-11/+14
| | | | | | | | | | | | | | We need to run the clean for all recipes that are being reset before we start deleting things from the workspace; if we don't, recipes providing dependencies may be missing when we come to clean a recipe later (since we don't and couldn't practically reset them in dependency order). This also improves performance since we have the startup startup time for the clean just once rather than for every recipe. (From OE-Core rev: c10a2de75a99410eb5338dd6da0e0b0e32bae6f5) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: sdk-update: add option to skip preparation stepPaul Eggleton2016-01-111-8/+10
| | | | | | | | | | For debugging purposes it's useful to be able to skip the preparation step so you can inspect what the state of the build system is first. (From OE-Core rev: 0bba4b5afd2ce2c3a79445eee886979a77f1a4d8) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: sdk-update: fix error checkingPaul Eggleton2016-01-111-7/+6
| | | | | | | | | | | | Running "raise" with no arguments here is invalid, we're not in exception handling context. Rather than also adding code to catch the exception I just moved the check out to the parent function from which we can just exit. (From OE-Core rev: 0164dc66467739b357ab22bf9b8c0845f3eff4a4) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: sdk-update: fix metadata update stepPaul Eggleton2016-01-111-2/+2
| | | | | | | | | | | * Clone the correct path - we need .git on the end * Pull from the specified path instead of expecting a remote to be set * up in the repo already (it isn't by default) (From OE-Core rev: 1a60ee8bd21e156022c928f12bb296ab5caaa766) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: sdk-update: fix not using updateserver config file optionPaul Eggleton2016-01-111-15/+15
| | | | | | | | | | | | | We read the updateserver setting from the config file but we never actually used that value - the code then went on to use only the value supplied on the command line. Fix courtesy of Dmitry Rozhkov <dmitry.rozhkov@intel.com> (From OE-Core rev: 1c85237803038fba539d5b03bf4de39d99380684) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: use cp instead of shutil.copytreeEd Bartosh2015-12-281-1/+4
| | | | | | | | | | | | | | | | Copied layers with 'cp -a' instead of calling shutil.copytree as copytree fails to copy broken symlinks. More pythonic fix would be to use copytree with 'ignore' parameter, but this could slow down copying complex directory structures. [YOCTO #8825] (From OE-Core rev: e5b841420b9fdd33829f7665a62cd06a3017f7e6) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: sync: tweak help / messagesPaul Eggleton2015-12-281-5/+5
| | | | | | | | | | Much of this was copy/pasted from the extract subcommand code; make it specific to sync. (From OE-Core rev: 08ca966dd48db881d8bfb7d7fa0aba49f1f7cffe) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: reset: print message about leaving source tree behindPaul Eggleton2015-12-281-0/+11
| | | | | | | | | | | | We deliberately leave the source tree alone when resetting in case it contains any work in progress belonging to the user; tell them that we're doing this so they aren't surprised about it still existing later on. (From OE-Core rev: 1c616802ba2cfb37f8403f1dc6cf91ce3bd99ac2) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: status: list recipe file within workspace if one existsPaul Eggleton2015-12-281-1/+11
| | | | | | | | | | | If a recipe in the workspace actually exists as a file within the workspace (e.g. after doing "devtool add" or "devtool upgrade") then show the path to the recipe file on the status line for the recipe. (From OE-Core rev: 29833828a90c8433af3b231b50e99cd97edf19ff) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: modify: default source tree pathPaul Eggleton2015-12-281-11/+15
| | | | | | | | | | As per the changes to "devtool add", make the source tree path optional and use the default path if none is specified. (From OE-Core rev: 83707d1334fb094fd1877bcfd07a83866601048a) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: add: allow specifying URL as positional argumentPaul Eggleton2015-12-281-15/+37
| | | | | | | | | | | | Having to specify -f is a little bit ugly when a URI is distinctive enough to recognise amongst the other positional parameters, so take it as an optional positional parameter. -f/--fetch is still supported, but deprecated. (From OE-Core rev: aedfc5a5db1c4b2b80a36147c9a13b31764d91dd) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: add: figure out recipe name from recipetoolPaul Eggleton2015-12-281-37/+90
| | | | | | | | | | | | recipetool create now has all the logic in it for auto-detecting the name and version, and using those in the file name - so we can make the name an optional parameter for devtool add and we pick up the file name that recipetool has used after the fact. (From OE-Core rev: 70ab08146e930f1fc55fdf5726a87303e20bd60f) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: add: allow source tree to be omittedPaul Eggleton2015-12-281-4/+26
| | | | | | | | | | | | Assuming we're fetching source remotely (from a URI) we can default the source tree that will be extracted from it to a "sources" directory under the workspace in order to save the user specifying it if they don't have a preferred location. (From OE-Core rev: ffdad964c7271972e4b067e4898bf7c338c25b68) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: update-recipe: use correct method to get bbappend filenamePaul Eggleton2015-12-281-4/+3
| | | | | | | | | | The bbappend already exists at this point, so we know what its path is - there's no need to figure it out from scratch here. (From OE-Core rev: c0754d672966901f22dff1bcd40bbd08d1219c7a) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: split out function for naming bbappendPaul Eggleton2015-12-282-13/+20
| | | | | | | | | | We're repeating this in a couple of places, so we might as well have a function to do it. (From OE-Core rev: 67a28109a1ee1383d1b17a8dafa4fe510948238b) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: add: tweak help textPaul Eggleton2015-12-281-2/+2
| | | | | | | | | Add a few clarifying words. (From OE-Core rev: 2103fa9dc7faf2189c8b426b87fb9d421a9983ac) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: edit-recipe: add new subcommandPaul Eggleton2015-12-281-0/+44
| | | | | | | | | | | | | Add an "edit-recipe" subcommand that runs your default editor (as specified by the EDITOR environment variable) on the specified recipe in the workspace. Note that by default the recipe file itself must be in the workspace - i.e. as a result of "devtool add" or "devtool upgrade"; however there is a -a/--any-recipe option to override this. (From OE-Core rev: dbfe8fa2e86c2bb50bef47c389017cdf93543321) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: sdk-update: fix traceback without update server setPaul Eggleton2015-12-281-5/+1
| | | | | | | | | | | | | | | | If the SDK update server hasn't been set in the config (when building the extensible SDK this would be set via SDK_UPDATE_URL) and it wasn't specified on the command line then we were failing with a traceback because we didn't pass the default value properly - None is interpreted as no default, meaning raise an exception if no such option exists. Additionally we don't need the try...except anymore either because with a proper default value, NoSectionError is caught as well. (From OE-Core rev: 9763c1b83362f8445ed6dff2804dd7d282861f79) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: extract: update SRCTREECOVEREDTASKS for kernelMarkus Lehtonen2015-12-091-1/+2
| | | | | | | | | | | | | | | | | | Add 'do_kernel_configme' and 'do_kernel_configcheck' to SRCTREECOVEREDTASKS of kernel packages. These tasks should not be run because kernel meta in the srctree is not necessarily up-to-date or even present which causes build failures and/or invalid kernel config. Especially so because 'do_patch' which is a dependency of 'do_kernel_configme' is not being run. We now store .config in the srctree and 'do_configure' task is able to run successfully. (From OE-Core rev: 7ce4c18a4ba1ebcb9f46e652a881ace1f21d2292) 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>
* devtool: extract: copy kernel config to srctreeMarkus Lehtonen2015-12-091-0/+8
| | | | | | | | | | | | This makes the correct kernel config to be used when building kernel from srctree (extrernalsrc). If no kernel config is present in the builddir 'do_configure' task copies .config from the srctree. (From OE-Core rev: 3b516332e038a587685f6e0c14a7f04990bdd6cc) 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>
* lib/oe/recipeutils: refactor patch_recipe_file() to use edit_metadata()Paul Eggleton2015-12-011-26/+4
| | | | | | | | | | | | | | | | | Use bb.utils.edit_metadata() to replace some of the logic in this function; this avoids us effectively having two implementations of the same thing. In the process fix the following issues: * Insert values before any leading comments for the next variable instead of after them * Insert overridden variables (e.g. RDEPENDS_${PN}) in the correct place * Properly handle replacing varflag settings (e.g. SRC_URI[md5sum]) (From OE-Core rev: 0f81b83fc5fd908efa7f6b837137830ca65f6ed6) 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>
* devtool: clarify help textPaul Eggleton2015-12-013-20/+15
| | | | | | | | | | | | | * Make some minor clarifications to help text * Drop ArgumentDefaultsHelpFormatter and just put the defaults in the text itself where needed (because otherwise you get defaults shown for store_true options which is somewhat confusing). (From OE-Core rev: a90ffea30c4578fd6acda2c5945b816ad33b13f5) 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>
* devtool: build: enable showing default task in helpPaul Eggleton2015-12-011-2/+4
| | | | | | | | | | | | Enable access to the configuration object in register_commands() so that we can read configuration values there; this allows us to show the task that will be run in the command line help for the build subcommand. (From OE-Core rev: 142d006de3235a034839ef7bbe147c56fc7af04a) 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>
* devtool: build: use bbappend to set PARALLEL_MAKEPaul Eggleton2015-12-011-19/+26
| | | | | | | | | | | Use a bbappend file to set PARALLEL_MAKE instead of a postfile; this is a bit neater and only affects the specified recipe. (From OE-Core rev: b5bafc845892ac39f85f3642b120fb7b785a3d58) 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>
* devtool: ensure we change back to the original dir on errorPaul Eggleton2015-12-011-12/+14
| | | | | | | | | | | This is just belt-and-braces but we ought to use try..finally in this kind of situation, so just do it. (From OE-Core rev: a30b407474d4eb6620f1ec549b54187ebbaff008) 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>
* devtool: search: print SUMMARY valuePaul Eggleton2015-12-011-35/+42
| | | | | | | | | | | Print the SUMMARY value for each matched item assuming it's not the default. (From OE-Core rev: 596dee8882ebddb45a6cce9f12aa919107106156) 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>
* devtool: drop unused plugin_init() functionsPaul Eggleton2015-12-014-16/+0
| | | | | | | | | | | This function is no longer required to be defined for a plugin, so drop it where it's a no-op. (From OE-Core rev: 49716a5e27e704598321bd6c82275b16afc444aa) 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>
* devtool: package: use DEPLOY_DIR_<pkgtype> to get deploy directoryPaul Eggleton2015-12-011-8/+12
| | | | | | | | | | | Rather than reconstructing the output path for packages, use the proper variable. (From OE-Core rev: 06d47777ed1650c479fadf98388f9a3a1f1f9eda) 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>
* devtool: disable creating workspace for extract and search subcommandsPaul Eggleton2015-12-012-2/+2
| | | | | | | | | | | For subcommands that don't actually involve the workspace, don't auto-create the workspace. (From OE-Core rev: 90cba7992bc1d227e242666cd486414bd4a45f7e) 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>
* devtool: upgrade: provide a means to update the source branchPaul Eggleton2015-12-011-2/+30
| | | | | | | | | | | | | | | | | If you're upgrading a git recipe to a revision on a release branch that's different to the branch for the current revision, then you'll need to update the branch parameter in SRC_URI, so add a --srcbranch/-B command-line parameter to let you do that easily. It handles both when the branch is stated verbatim in the recipe, and when a reference to another variable is used (a common convention is to use a SRCBRANCH variable for this, though the code doesn't care what variable is used if any). (From OE-Core rev: e49a66fd898dd44e54c77a838ebef3d983ed2a03) 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>
* devtool: upgrade: fetch remote repository before checking out new revisionPaul Eggleton2015-12-011-0/+1
| | | | | | | | | | | | | | | If we're upgrading a recipe that fetches from git, and we've simply fetched a tarball of the repo instead of directly from the upstream repo (this can happen if you have PREMIRRORS set up as in poky with a core recipe, e.g. kernelshark) then we won't have any new revisions, and the checkout will fail with "fatal: reference is not a tree: <hash>". To avoid this, do a "git fetch" before checking out the new revision. (From OE-Core rev: c4daebf3fe797a8063dcbc2ab229be2fbedc8134) 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>
* devtool: upgrade: remove erroneous error when not renaming recipePaul Eggleton2015-12-011-1/+0
| | | | | | | | | | | | If we're upgrading a git recipe the recipe file usually won't need renaming; for some unknown reason we were throwing an error here which isn't correct. (From OE-Core rev: 656348dff9bc9dd1cafc8fff11e5e374e3667f0f) 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>
* devtool: upgrade: fix updating PV and SRCREVPaul Eggleton2015-12-011-14/+20
| | | | | | | | | | | | | | | This code was clearly never tested. Fix the following issues: * Actually set SRCREV if it's been specified * Enable history tracking and reparse so that we handle if variables are set in an inc file next to the recipe * Use a more accurate check for PV being in the recipe which will work if it's in an inc file next to the recipe (From OE-Core rev: 8b8f04226ebf464fa61c05ca7af7c6cbda392339) 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>
* devtool: upgrade: fix removing other recipes from workspace on resetPaul Eggleton2015-12-011-1/+1
| | | | | | | | | | | | | | | If you did a "devtool add" followed by "devtool upgrade" and then did a "devtool reset" on the recipe you upgraded, the first recipe would also be deleted from the workspace - this was because we were erroneously adding the entire "recipes" subdirectory and its contents to be tracked for removal on reset. Remove the unnecessary call to os.path.dirname() that caused this. (From OE-Core rev: 65354e066f87df7d3138adceb22d6a05d1685904) 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>
* devtool: include do_patch in SRCTREECOVEREDTASKSTzu-Jung Lee2015-12-011-1/+1
| | | | | | | | | | | | The external source of kernel has been patched during the construction of git repository. Include the do_patch task in the SRCTREECOVEREDTASKS. (From OE-Core rev: 0731c5a9e98f7b7f6e5ada9bbb99acb3f5884516) Signed-off-by: Tzu-Jung Lee <roylee17@currantlabs.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: add sync commandTzu-Jung Lee2015-11-252-22/+80
| | | | | | | | | | | | | | The sync command is similar to the extract command, except it fetches the sync'ed and patched branch to an existing git repository. This enables users to keep track the upstream development while maintaining their own local git repository at the same time. (From OE-Core rev: e2fe4c99f1020a20b579832c4feafcd0e9bc2f75) Signed-off-by: Tzu-Jung Lee <roylee17@currantlabs.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: handle virtual providersPaul Eggleton2015-10-212-9/+27
| | | | | | | | | | | | | | For modify / extract / upgrade, if the specified "recipe" is not actually a recipe but a virtual target such as virtual/kernel, map it correctly to the actual recipe and make sure we use that name within the workspace. Thanks to Chris Larson for reminding me this was still broken and for a hint on how to fix it. (From OE-Core rev: 1f7752282ffb47d2621030ddb2fa42a5e491d6d2) 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>
* devtool: extract: fix error handlingPaul Eggleton2015-10-191-0/+8
| | | | | | | | | | | If recipe parsing fails we need to exit out instead of attempting to use the data object that's set to None, which resulted in a traceback. (From OE-Core rev: a46fb1a06be2df00a0bceb4e60ebdecb55b5974c) 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>