summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* wic: exec_native_cmd: improve debug messageEd Bartosh2017-03-041-1/+1
| | | | | | | | | | | | Added search paths to the debug message to make it easier to see where the native command is searched. [YOCTO #11017] (From OE-Core rev: 3e78aa91aa07510a75ec2eecdd2dd00b1c583c26) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: use image recipe sysroot as defaultEd Bartosh2017-03-041-1/+1
| | | | | | | | | | | | | Switched from using wic-tools recipe sysroot to using image sysroot in wic script. This way is more logical and consistent with the way wic uses other artifacts. [YOCTO #11017] (From OE-Core rev: fc94feda4f4785bc020413943c80050adea13dc0) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: use 2 sysroots to find native executableEd Bartosh2017-03-041-2/+6
| | | | | | | | | | | | | | | | | Currently there is no way to specify a dependency on native tools for wic without modifying wic-tools recipe. Obvious way to make it more flexible is to use image sysroot and wic-tools together to find an executable. Modified run_native_cmd to use image and wic-tools sysroots to find native executable. [YOCTO #11017] (From OE-Core rev: 06f976cb7c593ab14ee221365d9afbaf9de94a91) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: pluginbase: use global dictionaryEd Bartosh2017-03-041-17/+15
| | | | | | | | | | | | Made PluginMeta to populate global PLUGINS dictionary that is accessed by PluginMgr. This should make the code more understandable as PluginMgr don't need to get data directly from PlugnMeta attribute. (From OE-Core rev: 68df14eb43103537279824c5f627cc5914b5282c) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: move PluginMgr class to pluginbaseEd Bartosh2017-03-046-74/+48
| | | | | | | | | | | As PluginMgr class contains only one method it's better to move it to pluginbase to have all plugin related APIs in one module. (From OE-Core rev: 244585b369ecc0019002ca51bf7f8fd506234462) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: plugin: cache results in get_pluginsEd Bartosh2017-03-041-10/+12
| | | | | | | | | | | | Store results of PluginMgr.get_plugins to avoid loading plugins more than once. This should speed up finding plugins. (From OE-Core rev: 95ba37b394d01a6ed81f32ffa03813a070d682dc) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: remove PluginMgr.get_plugin_methodsEd Bartosh2017-03-044-41/+13
| | | | | | | | | | Call methods directly instead of getting them with get_plugin_methods and then calling. (From OE-Core rev: efcd07fe17bf55441059b00a5becc3952e0a4075) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: throw exception if required API is not implementedEd Bartosh2017-03-041-0/+6
| | | | | | | | | | Throw WicError if do_create method of imager plugin is not implemented. (From OE-Core rev: 87031c933047a37ddc26be3d04ea17b6e60ea10a) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: pluginbase: use python 3 metaclass syntaxEd Bartosh2017-03-041-2/+2
| | | | | | | | | | Used more readable syntax to specify metaclass for the base plugin classes. (From OE-Core rev: 808451f154867caef73e00af04f56f051b7d5f6b) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: reimplement PluginMgr.get_pluginsEd Bartosh2017-03-041-72/+27
| | | | | | | | | | Removed all private methods and complicated logic. Put all code to get plugins into get_plugins method. (From OE-Core rev: 9b8c69cdc8500ce065dbe607ba07ee95c1016659) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: reimplement PluginMgr.get_plugin_methodsEd Bartosh2017-03-044-27/+20
| | | | | | | | | | | Simplified the implementation of get_plugin_methods: - get rid of looping over the dicrtionary, used access by key instead - get rid of filling a dictionary that passed as a parameter (From OE-Core rev: 875d4eede61b548d64f426c2ef077cc17e50cd45) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: remove PluginMgr.get_source_pluginsEd Bartosh2017-03-043-14/+2
| | | | | | | | | | Used get_plugins('source') instead of get_source_plugins to unify and simplify API to get plugins. (From OE-Core rev: aaab003e472416124d7342fc8c4a17c252b83f4d) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: use PluginMgr directlyEd Bartosh2017-03-045-56/+47
| | | | | | | | | | | Instead of making a singleton object of PluginMgr class it's simpler to use PluginMgr class directly as any class is a singleton. (From OE-Core rev: cbe7dbd31f2292416d8e801e142679c69d9a44bc) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: move WicError to lib/wic/__init__.pyEd Bartosh2017-03-0417-45/+35
| | | | | | | | | | Removed unused exceptions from error.py Moved definition of WicError to lib/wic/__init__.py (From OE-Core rev: 15442d072bb6d93bd9b941726f93262503053da5) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: raise WicError instead of ImageError and CreatorErrorEd Bartosh2017-03-044-9/+9
| | | | | | | | | | There is no need to raise special exceptions. Raising WicError should be enough. (From OE-Core rev: b952076cc9f458c3d5eb03e12dc3ec316a44804c) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: raise WicError in wic pluginsEd Bartosh2017-03-049-124/+75
| | | | | | | | | Replaced sys.exit with raising WicError in wic plugins. (From OE-Core rev: 92e8c81c941597eb2b4b61d5c28833e4826888f8) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: raise WicError in core modulesEd Bartosh2017-03-044-43/+36
| | | | | | | | | Replaced sys.exit with raising WicError in the core wic modules. (From OE-Core rev: 1b11437fb25ece5b3eede52344b071e875fa738f) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: raise WicError in main moduleEd Bartosh2017-03-041-33/+23
| | | | | | | | | Replaced sys.exit with raising WicError in main module. (From OE-Core rev: b7c19f1ee8b850806c73ccd6f99c42d94a725fc9) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: move errors moduleEd Bartosh2017-03-046-7/+6
| | | | | | | | | Moved from lib/wic/utils/ to lib/wic as this is a core module. (From OE-Core rev: 808c70b81de5c3cfc3dcb01f08213e2ea33b7252) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: remove msger moduleEd Bartosh2017-03-042-213/+0
| | | | | | | | | | Removed custom logger module msger as it's replaced by wic logger. (From OE-Core rev: 8fdceeee99c3fc60649414b39933ec295c810e6b) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: use wic logger in wic source pluginsEd Bartosh2017-03-048-135/+200
| | | | | | | | | Replaced msger with wic logger in wic source plugins. (From OE-Core rev: 19a868e9ad12fb27a7f713685d12f3d310fd6961) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: use wic logger in imager direct pluginEd Bartosh2017-03-041-40/+43
| | | | | | | | | Replaced msger with wic logger in the direct plugin. (From OE-Core rev: adeacb4e600b8438bd9db7e83a5cb4a118d186f3) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: use wic logger in core modulesEd Bartosh2017-03-048-77/+104
| | | | | | | | | Replaced msger with wic logger in the core wic modules. (From OE-Core rev: cdd6675951b74075c9b9159f7465a88f83775bac) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: setup logging in the main wic moduleEd Bartosh2017-03-041-33/+44
| | | | | | | | | | Set up wic logger using standerd logging module. This is going to replace custom msger module. (From OE-Core rev: f7d9e33aa129d8ab98dd1971154c29c275d103b0) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cryptodev: update to handle 4.10 kernel APIRoss Burton2017-03-042-1/+59
| | | | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-runtime: Add libmpx supprt for x86Richard Purdie2017-03-041-1/+20
| | | | | | | | | | Enabling building the Intel Memory Protection Extension library for x86. Leave this disabled in musl builds as it doesn't build there yet. (From OE-Core rev: 4b144b55acbd43b38d92d29829d8ec68ff372e9d) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* linux-yocto-dev: add virtio fragment for virtio targetsBruce Ashfield2017-03-041-0/+1
| | | | | | | | | | | Other linux-yocto recipes have the virtio fragment added to qemu* targets. If you plan on booting a kernel with qemu, we need these options .. or things like the virtual disk won't be present. (From OE-Core rev: 7e30a0db7b587a72a50d6d981ba8cf275ca61b23) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libc-headers: introduce 4.10 and set as defaultBruce Ashfield2017-03-042-3/+3
| | | | | | | | | | | | | | | The 4.10 kernel has been released, so we can bump our libc-headers to match. We also drop the 4.9 headers, since we only want one variant in the tree. Tested against glibc and muslc core-image* variants. (From OE-Core rev: 4e50f18401b0c4bbb6923b88302411cad7917930) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* linux-yocto: introduce 4.10 recipesBruce Ashfield2017-03-043-0/+107
| | | | | | | | | | | | | | | | | The 4.10 kernel has been released, so we introduce the linux-yocto variant. This version supercedes the 4.4 and 4.8 versions in the tree, leaving us with 4.1 (LTSI), 4.9 (LTS) and 4.10 (most recent) as the three active versions. Build tested against all qemu variants, core-image-kernel-dev + sato, with musl and glibc as the C libraries. (From OE-Core rev: e8f07d2966a3fc6cfc6466020dc6603a84fe33da) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* testsdk: Fix lockfile patchRichard Purdie2017-03-031-3/+0
| | | | | | | | | In the previous lock removal patch I mixed up the two tasks and broke sdk testing. Fix this by removing locks for both sdk and extsdk. (From OE-Core rev: 20c6e876ed6b8c8ac007848e2b36e9a8a56bb703) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* populate_ext_sdk: Merge auto.conf into local.confRichard Purdie2017-03-031-17/+7
| | | | | | | | | | | | | | auto.conf is included before local.conf. Instead of keeping them separate, merge them into the extsdk local.conf. As it happens we can do this quite neatly, more neatly than the current code IMO and it makes the configuration easier for the end user to understand too. This means auto.conf is then available for the testsdk code to use for testing purposes. (From OE-Core rev: fb625e555707478d5b4931c6bc83ab06b17a8ca9) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* populate_ext_sdk: Append to SSTATE_MIRRORSRichard Purdie2017-03-031-1/+1
| | | | | | | | | We need to appent to SSTATE_MIRRORS in case other areas of code are also setting the variable. (From OE-Core rev: 9cab832b1e85822fa9be5ea9fa0415f48fba86f2) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* testsdk: Drop lockfile usageRichard Purdie2017-03-031-3/+1
| | | | | | | | | | | | We should be able to test sdks in parallel. As far as I can tell, this restriction crept in for no good reason, based on locks that testimage used for the non-qemu case. Therefore remove the lock and allow sdks to test in parallel. (From OE-Core rev: 54477664dc13c6aa15b3246f328b66591a340659) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/sdkext/devtool: Ensure dependencies for ↵Richard Purdie2017-03-031-0/+1
| | | | | | | | | | | test_extend_autotools_recipe_creation are present test_extend_autotools_recipe_creation needs libxml2 so ensure this is installed/present as it may not be in the minimal eSDK case. (From OE-Core rev: fb274c7fe588c556936a0df1ae583907875c2a76) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: add initial Amazon AWS S3 fetcherAndre McCurdy2017-03-032-2/+100
| | | | | | | | | | | | | | Class for fetching files from Amazon S3 using the AWS Command Line Interface. The aws tool must be correctly installed and configured prior to use. The class supports both download() and checkstatus(), which therefore allows S3 mirrors to be used for SSTATE_MIRRORS. (Bitbake rev: 6fe07ed25457dd7952b60f4b2153d56b15d5eea6) Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: Allow whitespace only mirror entriesRichard Purdie2017-03-031-1/+5
| | | | | | | | | Forcing the use of "\n" in mirror variables is pointless, we can just require that there are pairs of values. (Bitbake rev: 044fb04dbe69313ee6908bf4d3cee7f797d0c41c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sanity: Allow whitespace only mirror entriesRichard Purdie2017-03-031-11/+9
| | | | | | | | | | Forcing the use of "\n" in mirror variables is pointless, we can just require that there are pairs of values. With the bitbake restriction relaxed, we can relax the sanity check too. (From OE-Core rev: 7313b10e242da9225211ca9fd53d14a121c5fa42) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* testsdk: Use auto.conf instead of local.conf to set SSTATE_MIRRORRichard Purdie2017-03-021-2/+3
| | | | | | | | | | | | The local.conf file can get overritten and changed by the SDK so (ab)use auto.conf instead to ensure our configuration tweaks get applied. Also ensure we append to any other configured SSTATE_MIRROR variable that already exists. (From OE-Core rev: 444a71b1c2d8f86fc4c35c8ff8e92bcbbe646b75) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta-estsdk-toolchain: use WORKDIR instead of D to hold locked-sigsRoss Burton2017-03-021-1/+1
| | | | | | | | | | | | | | do_locked_sigs() uses ${D} to hold a file as input to the sstate staging code. Generally this isn't a problem as it happens after packaging, but sometimes (if the recipe is rebuild, perhaps) do_package() will see the file inside ${D} and fail because there is an uninstalled file. Solve this by using a directory under ${WORKDIR} so it can't be packaged. (From OE-Core rev: 97056011c17f343e697aa9f0d418f6487b9f7465) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* core-image-lsb-sdk: Lower IMAGE_OVERHEAD_FACTORRichard Purdie2017-03-011-0/+3
| | | | | | | | | | | We're on the margin of the 4GB size limit for certain image types with this configuration. This is a temporary workaround to avoid total failures whilst we figure out better ways to save space. On such a large image, the standard 1.3 is large and 1.2 is reasonable. (From OE-Core rev: 0116e4814aa55feb0f8944deb98e39b4534bab0c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/sdkext: don't skip tests if there isn't a toolchainRoss Burton2017-03-011-7/+0
| | | | | | | | | | | Skipping the tests if a toolchain wasn't installed out of the box (for example, a minimal eSDK) doesn't make sense as the first thing the tests should do is install a toolchain. (From OE-Core rev: 1e776c1a7f4827f5a14c00dbffae0bdfb027e21e) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/sdkext/devtool: use finally instead of repeating cleanupRoss Burton2017-03-012-26/+13
| | | | | | | | | | | | | Use the finally: block to always to cleanup. Now that the test harness in testsdk.bbclass has monkey-patched CalledProcessException to display the output we don't need to do that in the test case. (From OE-Core rev: 9f0f6326083ee76b72b431fbfcbe12c1ab2793b2) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa: add output to subprocess exceptionsRoss Burton2017-03-012-9/+19
| | | | | | | | | | | | | Out of the box subprocess.CalledProcessError.__str__() just displays the command and exit code, which isn't very useful for debugging. Add a function to oeqa.utils.subprocesstweak to monkey-patch __str__() so that it can also display the value of stdout and stderr. (From OE-Core rev: c55401ba1646202fa36e4973b05dbacaa146cb16) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/esdk/devtool: clean setUpClass/tearDownClassRoss Burton2017-03-011-12/+12
| | | | | | | | | | | | These methods are class not instance methods, so the argument should be cls not self. Also don't put variables into cls that we don't need there. (From OE-Core rev: 6ecd671fb09486b5852c47f06b5db372a2eb082b) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest: Drop http sstate sharingRichard Purdie2017-03-011-39/+16
| | | | | | | | | | | | | | | | | | | | Using httpServer from python for sharing sstate is known to be buggy, it can't cope with the number/type of requests coming from bitbake and quietly fails to share files. This causes intermittent build failures which are hard to debug. We can use a file:// url for the sstate mirror instead, removing the need for the http server. The sdk-update test is simply dropped since the SDK is never published to this location and hence it would never have any update. Its equiavalent to pointing at an empty web server. There is a better eSDK update test in testsdk so rather than improve this one, lets drop it and concentrate on the one there. (From OE-Core rev: 7606f05e48ad2e31650e3a56bfcd04b4fbfad1e3) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* populate_sdk_ext: Allow generation of meta-extsdk-toolchain even for minimal ↵Richard Purdie2017-03-011-1/+1
| | | | | | | | | | | | | | | | SDKs If you build a minimal eSDK currently, you don't build meta-extesdk-toolchain even if you will have built most of its dependencies. This means when you try and install a toolchain into the eSDK, it fails, breaking our automated testing of the eSDK. Therefore add the dependency unconditionally even when a minimal eSDK is being built and allow the automated testing to work. (From OE-Core rev: 6e4ae81d76c5a61e7603ff4ca94452a6e724c244) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/sdkext/context: Work around broken dependency checks to get sdk tests ↵Richard Purdie2017-03-011-0/+8
| | | | | | | | | | | | | | | running This is admitted a bit of a hack but it does allow a number of significant sdk tests to run successfully and hence improves testing of eSDK which is good. I'm therefore proposing we do this until we come up with a better solution since the current lack of testing is worrying and would have caught other issues had it been present. (From OE-Core rev: 633b95ea32bbccf59b341a9d37b0b11027b48a63) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqs/sdk*/case: Use universal_newlines for subprocess callsRichard Purdie2017-03-012-2/+2
| | | | | | | | | This removes the need for some of the ugly decode calls with hardcoded locales. (From OE-Core rev: a14dddc77e553d2fa90d12576503dd3fc2e52bbc) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/sdkext: Ensure we run a deterministic set of testsRichard Purdie2017-03-011-2/+2
| | | | | | | | | | The directory list of sdk tests to run can vary so this code effectively selects a random set of SDK tests to run in the eSDK. We want to attemp all the SDK tests so remove the element selection. (From OE-Core rev: 11365d869c03cb0e476ea43e75ce27090a33dfa7) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool/sdk: Run build-sysroots after installing new thingsRichard Purdie2017-03-011-0/+6
| | | | | | | | | | | After running sdk-install we need to ensure that the standalone sysroots are updated as done when the eSDK is originally built. Add such a call so this happens automatically and the envrionment scripts in the SDK work correctly after updates. (From OE-Core rev: 4f422071d6f9a074986f399d9e648977bd2e0a68) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>