summaryrefslogtreecommitdiffstats
path: root/scripts/lib/devtool
Commit message (Collapse)AuthorAgeFilesLines
* devtool: also load plugins from BBPATHChristopher Larson2015-07-271-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | This makes it easier to extend, as a layer can add its own sub-commands. Argument parsing is also separated into two steps, the same way it's done in recipetool, as we need access to the global command-line arguments early, before plugins are loaded, both for debugging arguments and for the bitbake path (we need to load the bitbake module to get tinfoil, which is now needed to load the plugins). Rather than constructing tinfoil once and passing it through into sub-commands for their use, we have to construct it for configuration metadata, use it, and then shut it down, as some sub-commands call out to recipetool, which needs its own tinfoil instance, and therefore needs to acquire the bitbake lock. If we're still holding the lock at that point, that's clearly a problem. [YOCTO #7625] (From OE-Core rev: f9bc3b27244a141ec7273445d3ea139a047e0ddf) Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/devtool/standard: Fix patch cleanupRichard Purdie2015-06-261-1/+2
| | | | | | | | | | | | | | | | If patches fail to apply with git, quilt it used as a fallback. If that happens, the code in this class is meant to handle cleanup of these patch files. In the case where ${S} is a subdir of the git tree, the code doesn't correctly set the patches directory. This change correctly sets the patches directory (which is different to the location of the git repository). [YOCTO #7911] (From OE-Core rev: de6e0f3af5e858960676ea291036e59105fd806f) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: deploy: fix preservation of symlinks and permissions/ownershipPaul Eggleton2015-06-182-3/+23
| | | | | | | | | | | | | | | | | | | | | | | It turns out that scp can't be used to copy symlinks because it follows them instead of copying them, and this is by design (since it emulates rcp which also behaved this way); the unfortunate result is that symlinks that point to valid files on the host translate into the host file being copied to the target (yuck). The simplest alternative that does not have this undesirable behaviour is to use tar and pipe it over ssh. At the same time, it would be even better if we properly reflect file permissions and ownership on the target that have been established within the pseudo environment. We can do this by executing the copy process under pseudo, which turns out to be quite easy with access to the pseudo environment set up by the build system. Fixes [YOCTO #7868]. (From OE-Core rev: 69adaed0e982d627ebfa57b360b0ee049ea7a276) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: use DevtoolError for error handlingMarkus Lehtonen2015-06-183-99/+92
| | | | | | | | | | | | | Use DevtoolError exception more widely for handling error cases. This exception is now caught in the main script and raising it can be used to exit with an error. This hopefully simplifies error handling. The change also makes exit codes more consistent, always returning '1' when an error occurs. (From OE-Core rev: 2e4f1dcade7ccb581c7a390c32163ea3deeac6d5) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: remove some unused return valuesMarkus Lehtonen2015-06-181-3/+0
| | | | | | | (From OE-Core rev: 30fd41bd06a61e9df47263d49119fb8e193cdf68) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: split out 'patch' update mode into a separate functionMarkus Lehtonen2015-06-181-114/+122
| | | | | | | | | | Continue refactoring of update_recipe() by splitting out the 'patch' mode into a separate function. (From OE-Core rev: cdcfedec5489a5d8d0df56bbe100e5fc2cca03af) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: split out 'srcrev' update mode into a separate functionMarkus Lehtonen2015-06-181-77/+111
| | | | | | | | | | Refactor update_recipe() (i.e. the implementation of the update-recipe command) by splitting out the 'srcrev' into a distinct function. (From OE-Core rev: 5da26bfd8b34af9075b9b900d353df555d8f2ef0) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: slight simplification of path splitting logicMarkus Lehtonen2015-06-181-6/+5
| | | | | | | (From OE-Core rev: 762ca3e8d78d4dd22f7be045082052ad20b71e50) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: simplify few conditionals a bitMarkus Lehtonen2015-06-181-8/+6
| | | | | | | | | Just refactor the code. (From OE-Core rev: 06f6b20f040d2e4eee577bb2111351523ee97af2) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: simplify the logic of determining patches to be removedMarkus Lehtonen2015-06-181-14/+11
| | | | | | | | | A slight simplification of the code. (From OE-Core rev: aff88bcebe335b0277df660ac22eeed28d65da44) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: update-recipe: do rev parsing in a separate functionMarkus Lehtonen2015-06-181-24/+31
| | | | | | | | | | Split out the logic of determining "initial rev" and "update rev" into a separate function. (From OE-Core rev: 17206934822aab31d93318bffea8099bf9965112) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: refactor bb task execution into a separate classMarkus Lehtonen2015-06-181-20/+30
| | | | | | | (From OE-Core rev: bd93a75ec0537fc82ac84ccc5701473d76877bcb) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: fix wrong indentationMarkus Lehtonen2015-06-181-2/+2
| | | | | | | (From OE-Core rev: 551638c44215a35238f22aba575d571572046cd0) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: update-recipe: add option to write changes to bbappendPaul Eggleton2015-05-201-41/+107
| | | | | | | | | | | | | | | | | | | | Quite often what you want to do having made customisations to a piece of software is to apply those customisations in your own layer rather than in the original recipe. Thus, add a -a/--append option to the update-recipe subcommand which allows you to specify the layer to write a bbappend into. The bbappend will be created at the appropriate path within the specified layer directory (which may or may not be in your bblayers.conf) or if one already exists it will be updated appropriately. (This re-uses code written for recipetool appendfile.) Implements [YOCTO #7587]. (From OE-Core rev: 87d487ea4fdfb6cd30e3b3fad47732db12e86f23) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool / recipetool: ensure bb.note() gets printedPaul Eggleton2015-05-202-1/+8
| | | | | | | | | | | | Most of the time when bb.note() gets called we want to see the output, so ensure the level is set appropriately depending on the command line options instead of being fixed at warning. (We don't want to see the notes for fetch/unpack/patch though as they are too verbose). (From OE-Core rev: 69f426a2d966a2228cbdc708b9ddab31005c6d96) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: deploy-target: use tinfoil instead of bitbake -ePaul Eggleton2015-05-161-3/+9
| | | | | | | | | | Using tinfoil here is quicker and tidier than shelling out to bitbake -e and interpreting its output. (From OE-Core rev: 986ad99aee98dd5b7f30d59098dd9275097b8276) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: fix build env command execution error handlingPaul Eggleton2015-05-162-7/+24
| | | | | | | | | | | | | | | If we execute an external command, we ought to prepare for the possibility that it can fail and handle the failure appropriately. We can especially expect this to happen when running bitbake in this scenario. Ensure we return the appropriate exit code to the calling process. Fixes [YOCTO #7757]. (From OE-Core rev: 98a716d79bfc5434a5b42d3ca683eab3eea30a41) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: deploy plugin: fix bad indentationMarkus Lehtonen2015-05-161-2/+2
| | | | | | | (From OE-Core rev: 6866b3027babcc390130f0cba4990c0f769cdb6a) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: add missing docstringsMarkus Lehtonen2015-05-163-3/+28
| | | | | | | (From OE-Core rev: 07b2e731a378c56852e2715f6c001097b81abe46) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: rename unused variablesMarkus Lehtonen2015-05-162-3/+3
| | | | | | | (From OE-Core rev: 92b84d54292518a387460ee1ec5a994023eb26fc) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: remove unused imports / re-importsMarkus Lehtonen2015-05-163-3/+0
| | | | | | | (From OE-Core rev: e3de8aca33f612f2dd124ff712fb6758bf32a573) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: extract: remove patches when S=WORKDIRMarkus Lehtonen2015-05-161-1/+26
| | | | | | | | | | | | | | | | | Before this change, all files from the recipe (SRC_URI), including patches, were added to to srctree repository when S==WORKDIR. The patch files are useless as they are automatically applied on top of the srctree by devtool. This change causes devtool extract to not commit these unnecessary (and possibly confusing) patch file(s) into srctree repository. [YOCTO #7602] (From OE-Core rev: 3e0ffff619e49b1f0c13e5f6a663455be3ed26af) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: fix for rename of gcc-sourcePaul Eggleton2015-05-071-1/+1
| | | | | | | | | | | | | After OE-Core commit 67db7182faf6742b0d971d61d8c5ba34f69d2e12, PV is appended to the end of the gcc-source PN, thus we need to handle that in devtool and the corresponding test. Part of the fix for [YOCTO #7729]. (From OE-Core rev: 440029dc229a566b9bead1481215d5e5760c5fe6) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: add: use the appropriate file naming and versioning for SCM recipesPaul Eggleton2015-05-011-1/+13
| | | | | | | | | | | | | | | | * Recipes that fetch from git, svn or hg by OpenEmbedded convention should normally be named with this as a suffix, since PV is meant to be set appropriately within the recipe, so follow this. In order to make this work we need to be able to have the version independent from the file name, so add a -V option to recipetool create to allow this to be specified. * If -V is specified on the devtool add command line, ensure at PV gets set to include this version. (From OE-Core rev: 2b997c41c6476a13bf516586d56a9051aceb93ec) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: add: add an option to fetch remote sourcePaul Eggleton2015-05-011-3/+22
| | | | | | | | | | | | | Add a -f/--fetch option to fetch a remote URI (into the already specified source tree path) and set this as SRC_URI within the recipe. This simply wraps around the existing functionality in recipetool. Implements [YOCTO #7644]. (From OE-Core rev: f22fd77e735fc5f4a3434e3d1f567a9d7d191cf4) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* recipetool: ensure git clone is standalone when extractingPaul Eggleton2015-05-011-6/+2
| | | | | | | | | | | | | If -x is specified and the specified URI was a git repository, we need to ensure that the resulting clone is a sandalone and not one that has pointers into the temporary fetch location or DL_DIR (since the git fetcher does a local clone with -s). Split out the code from devtool that already does this for "devtool modify -x" and reuse that. (From OE-Core rev: fc47e8652ef32e7399f57c80593df90dc52d8b84) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: update-recipe: check if source tree is a git repositoryPaul Eggleton2015-04-271-5/+11
| | | | | | | | | | | If you've done "devtool add" (or "devtool modify" without -x) then it's possible that the external source tree is not a git repository, so we should handle that case here instead of printing a traceback. (From OE-Core rev: eb2147aa8facd4ef33a0749e9ae660ec686dad48) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: update-recipe: handle unversioned bbappendsPaul Eggleton2015-04-271-7/+7
| | | | | | | | | | | | Use the proper bbappend file name, don't just assume it will have a version suffix (because it won't if the original recipe doesn't). Fixes [YOCTO #7651]. (From OE-Core rev: 3332d68ef7b2a300ce8dcf5021497d98e5b17baa) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: reset: avoid errors in case file no longer existsPaul Eggleton2015-04-271-1/+8
| | | | | | | | | | | | | | If you manually delete files in the workspace layer (which you really shouldn't) it was possible to get yourself into the situation where you couldn't reset because we were attempting to check if the file had been modified and erroring out if it couldn't be opened. If the file's not there anymore there's not much point checking if it needs to be preserved, just skip it. (From OE-Core rev: d2d352f7b747a97a54df9d20eb1455d166aa1ee3) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: add: use correct bbappend file name with -V optionPaul Eggleton2015-04-271-1/+1
| | | | | | | | | | | | | | | We weren't adding the version into the bbappend file name when -V was specified which meant that building or resetting failed. Also adjust one of the tests so that we're testing devtool add both with and without this option. Fixes [YOCTO #7647]. (From OE-Core rev: bdbeff0cd342e31053d7203d78fc5dda611052b1) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: include bbappends in recipe parsingMarkus Lehtonen2015-04-271-13/+22
| | | | | | | | | | | In order to get correct metadata, SRCREV for example. Fixes [YOCTO #7648]. (From OE-Core rev: 8b1794559dd7fd956716179d628e61cffdce1686) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: modify: implement --no-same-dirMarkus Lehtonen2015-04-271-2/+7
| | | | | | | | | | | This option can be used to have a separate build directory, in order to keep the srctree directory clean for packages that do not need to be built in the source directory. (From OE-Core rev: 5cc348c0a3016e4ccc1e80d099e2e197b3b38bd2) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: modify: use B=S if that is the default for the recipeMarkus Lehtonen2015-04-271-5/+12
| | | | | | | | | | | | | | | Makes the build succeed for packages which do not support separate build directory, e.g. zlib. The same outcome could be achieved with the --same-dir option, but, it's generally hard to tell if a random package would need that option. The negative side effect of this patch is that dev srctree (of some packages that build fine without this modification) gets dirtied by build artefacts. (From OE-Core rev: 6ac5692426956e276ba2119f917b0f30791e6cd6) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Acked-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: force use of bash when running build within extensible SDKPaul Eggleton2015-04-241-0/+5
| | | | | | | | | | | | | | | | | | | Ubuntu's default dash shell causes oe-init-build-env to behave a bit differently - (a) it can't pick up the OE root directory and (b) it can't see any build directory specified as a command-line argument (since dash doesn't pass through any arguments specified to sourced scripts). We could work around these but doing so requires some internal knowledge of the script; a much simpler fix is just to force running the command under bash since it's expected to be installed on every distro. Thanks to Chen Qi <Qi.Chen@windriver.com> for this fix. Fixes [YOCTO #7614]. (From OE-Core rev: 27942f546e6b08cdf9f2dbda2e24d237cde7f5f5) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: call parse_recipe with correct argumentsMarkus Lehtonen2015-04-191-2/+3
| | | | | | | | | | | | Give the correct data object ("config data" instead of "recipe data") as an argument to oe.recipeutils.patch_recipe() Fixes [YOCTO #7595] (From OE-Core rev: 7d2b918019b0afe215a6489dad697afac34f73e9) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: deploy-target: add dry-run optionPaul Eggleton2015-03-201-0/+16
| | | | | | | | | | | | Add a dry-run option to the deploy-target and undeploy-target subcommands so you can see the list of files to be deployed or un-deployed before actually carrying out the operation. (From OE-Core rev: b9625581f3fe72fc402632be2d87cf889301c6a2) 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: deploy-target: add an option to disable quiet modePaul Eggleton2015-03-201-3/+12
| | | | | | | | | | | | | | The -q option to scp does stop the progress being shown, which is mostly superfluous, however it also stops errors from ssh being shown - if there's a problem, you'll just get "lost connection" which really isn't that helpful. As a compromise, add a -s/--show-status option and advertise this when the command fails. (From OE-Core rev: 5cbb026212b4c8f5206a07d70b94f57edeee0839) 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: deploy-target: detect and error if D is emptyPaul Eggleton2015-03-201-2/+6
| | | | | | | | | | | If you haven't built the recipe yet or if the output directory (${D}) is empty, then we should tell the user rather than have scp error out. (From OE-Core rev: 3fd9ac277393bef5c646f16b9d8f30c277881d70) 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: deploy-target: allow disabling host key checkingPaul Eggleton2015-03-201-4/+13
| | | | | | | | | | | | | | | | | | | | | | If you're testing with multiple images/devices that have the same IP address / hostname then it can be annoying to deal with host key mismatches all of the time. As a MITM attack is unlikely in the local test environment, provide a command line option to pass the appropriate options to scp/ssh to disable the host key checking. Note: if you wish to apply this permanently, the best way is to do it through your ssh configuration e.g. by adding the following to your ~/.ssh/config: Host 192.168.7.2 UserKnownHostsFile=/dev/null StrictHostKeyChecking no (From OE-Core rev: 81dd1319112a99bc38b7a7ced0663918ac5b09a4) 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: modify/extract: prevent usage with incompatible recipesPaul Eggleton2015-03-201-13/+35
| | | | | | | | | | | | Consolidate code for checking compatible recipes and consider meta and packagegroup recipes as well as package-index and gcc-source to be incompatible. (From OE-Core rev: 4be9bf637583b341a89af1b9924752abc7d49c94) 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: modify: get correct initial revision from previously extracted ↵Paul Eggleton2015-03-201-2/+13
| | | | | | | | | | | | | | | source tree If you point devtool modify to a source tree previously created by devtool modify or devtool extract, then we need to try to pick up the correct initial revision so that devtool update-recipe knows where to start looking for commits that match up with patches in the recipe. (From OE-Core rev: c20e10543e268ebb43074a3f8d6e7ed991e54ec8) 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: reset: add ability to reset entire workspacePaul Eggleton2015-03-201-19/+33
| | | | | | | | | | | Add a -a/--all option to allow you to quickly reset all recipes in your workspace. (From OE-Core rev: 0c83788b111a761f6f500b86780cc51aed255402) 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: name command line parsers appropriatelyPaul Eggleton2015-03-201-22/+22
| | | | | | | | | | No functional changes, just use a unique name for each parser. (From OE-Core rev: 5fabc59d6221c3fe7137b70e31ec2761a4276a6c) 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: deploy-target: fix deploying to previously deployed machinePaul Eggleton2015-03-201-1/+3
| | | | | | | | | | | * Pass correct arguments to undeploy() function * If an error occurs during undeploy(), exit instead of continuing (From OE-Core rev: c938dee4b28af7e6296c86347dfa533f85605033) 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: fix broken clones of git recipesPaul Eggleton2015-02-231-0/+7
| | | | | | | | | | | | | | | | | | | | Because we move the workdir when extracting source, then move the source and delete the temporary workdir, you lose the indirection symlink pointed to by the alternates file (which is created when the fetcher clones it from DL_DIR with -s) and the resulting repository is broken. In any case, for a source repo that the user may put their own changes into, we can't really rely on a clone made with -s in case the original goes away - because of cleanall, DL_DIR disappearing, etc. So repack the repository so that it is a complete, non-shared clone after unpacking. (While I'm at it, add a test for devtool modify with a git recipe which verifies that this works.) (From OE-Core rev: dccdde4321c48a571677995a4e1dfc583e899cbe) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: support source extraction for recipes that use a shared workdirPaul Eggleton2015-02-231-5/+14
| | | | | | | | | | Enable source extraction used by devtool extract / devtool modify -x for recipes that use a shared workdir (e.g. the kernel and gcc). (From OE-Core rev: 73a5bdc7921791b954ca717293e76c7e3091a19e) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: modify: handle recipes that use a shared workdirPaul Eggleton2015-02-231-4/+6
| | | | | | | | | | | If S is outside of WORKDIR then we shouldn't try to get the relative path in order to work out where the source subdirectory is as we do by default. (From OE-Core rev: 7392ecd559ef71241405c704a65da171ee216ca1) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: prevent extract/modify use with image recipesPaul Eggleton2015-02-231-0/+8
| | | | | | | | | | There wouldn't be any point to using these with an image recipe, so disallow it. (From OE-Core rev: 611c27182a6e52e159a1ce1b5bac054405c611d2) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: update-recipe: add handling for git recipesPaul Eggleton2015-02-231-86/+144
| | | | | | | | | | | | | When updating git-based recipes, in a lot of cases what you want is to push the changes to the repository and update SRCREV rather than to apply patches within the recipe. Updating SRCREV is now the default behaviour for recipes that fetch from git, but this can be overridden in both directions using a new -m/--mode option. (From OE-Core rev: 654792bb87610ee3569d02a85fa9ec071bf8ab6d) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: build: run do_populate_sysroot instead of do_installPaul Eggleton2015-02-231-2/+3
| | | | | | | | | | | | If you want to be able to make use of libraries in conjunction with devtool then we need to install them into the sysroot for other recipes to use. Make it a configuration option in case it needs to be changed at runtime. (From OE-Core rev: 94f517ad8e55edfbe6f06afd963bcfeb849626ff) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>