summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2017-03-04wic: use image recipe sysroot as defaultEd Bartosh
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>
2017-03-04wic: use 2 sysroots to find native executableEd Bartosh
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>
2017-03-04wic: pluginbase: use global dictionaryEd Bartosh
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>
2017-03-04wic: move PluginMgr class to pluginbaseEd Bartosh
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>
2017-03-04wic: plugin: cache results in get_pluginsEd Bartosh
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>
2017-03-04wic: remove PluginMgr.get_plugin_methodsEd Bartosh
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>
2017-03-04wic: throw exception if required API is not implementedEd Bartosh
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>
2017-03-04wic: pluginbase: use python 3 metaclass syntaxEd Bartosh
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>
2017-03-04wic: reimplement PluginMgr.get_pluginsEd Bartosh
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>
2017-03-04wic: reimplement PluginMgr.get_plugin_methodsEd Bartosh
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>
2017-03-04wic: remove PluginMgr.get_source_pluginsEd Bartosh
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>
2017-03-04wic: use PluginMgr directlyEd Bartosh
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>
2017-03-04wic: move WicError to lib/wic/__init__.pyEd Bartosh
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>
2017-03-04wic: raise WicError instead of ImageError and CreatorErrorEd Bartosh
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>
2017-03-04wic: raise WicError in wic pluginsEd Bartosh
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>
2017-03-04wic: raise WicError in core modulesEd Bartosh
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>
2017-03-04wic: raise WicError in main moduleEd Bartosh
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>
2017-03-04wic: move errors moduleEd Bartosh
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>
2017-03-04wic: remove msger moduleEd Bartosh
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>
2017-03-04wic: use wic logger in wic source pluginsEd Bartosh
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>
2017-03-04wic: use wic logger in imager direct pluginEd Bartosh
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>
2017-03-04wic: use wic logger in core modulesEd Bartosh
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>
2017-03-04wic: setup logging in the main wic moduleEd Bartosh
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>
2017-03-04cryptodev: update to handle 4.10 kernel APIRoss Burton
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-04gcc-runtime: Add libmpx supprt for x86Richard Purdie
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>
2017-03-04linux-yocto-dev: add virtio fragment for virtio targetsBruce Ashfield
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>
2017-03-04libc-headers: introduce 4.10 and set as defaultBruce Ashfield
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>
2017-03-04linux-yocto: introduce 4.10 recipesBruce Ashfield
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>
2017-03-03testsdk: Fix lockfile patchRichard Purdie
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>
2017-03-03populate_ext_sdk: Merge auto.conf into local.confRichard Purdie
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>
2017-03-03populate_ext_sdk: Append to SSTATE_MIRRORSRichard Purdie
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>
2017-03-03testsdk: Drop lockfile usageRichard Purdie
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>
2017-03-03oeqa/sdkext/devtool: Ensure dependencies for ↵Richard Purdie
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>
2017-03-03bitbake: fetch2: add initial Amazon AWS S3 fetcherAndre McCurdy
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>
2017-03-03bitbake: fetch2: Allow whitespace only mirror entriesRichard Purdie
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>
2017-03-03sanity: Allow whitespace only mirror entriesRichard Purdie
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>
2017-03-02testsdk: Use auto.conf instead of local.conf to set SSTATE_MIRRORRichard Purdie
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>
2017-03-02meta-estsdk-toolchain: use WORKDIR instead of D to hold locked-sigsRoss Burton
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>
2017-03-01core-image-lsb-sdk: Lower IMAGE_OVERHEAD_FACTORRichard Purdie
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>
2017-03-01oeqa/sdkext: don't skip tests if there isn't a toolchainRoss Burton
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>
2017-03-01oeqa/sdkext/devtool: use finally instead of repeating cleanupRoss Burton
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>
2017-03-01oeqa: add output to subprocess exceptionsRoss Burton
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>
2017-03-01oeqa/esdk/devtool: clean setUpClass/tearDownClassRoss Burton
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>
2017-03-01oeqa/selftest: Drop http sstate sharingRichard Purdie
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>
2017-03-01populate_sdk_ext: Allow generation of meta-extsdk-toolchain even for minimal ↵Richard Purdie
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>
2017-03-01oeqa/sdkext/context: Work around broken dependency checks to get sdk tests ↵Richard Purdie
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>
2017-03-01oeqs/sdk*/case: Use universal_newlines for subprocess callsRichard Purdie
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>
2017-03-01oeqa/sdkext: Ensure we run a deterministic set of testsRichard Purdie
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>
2017-03-01devtool/sdk: Run build-sysroots after installing new thingsRichard Purdie
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>
2017-03-01testsdk: Handle minimal eSDK and avoid download costsRichard Purdie
When using a minimal eSDK, testing currently fails as the sdk isn't populated. We therefore setup the eSDK under test to point at local sstate and execute a command to ensure the toolchain is populated since most of the tests depend on this being present. At the same time, add in a link to DL_DIR through own-mirrors so that tests which fetch source (e.g. the kernel module one) can use the local stash. This cuts test execution of the kernel module test from 2000s to 120s. We did try using DL_DIR directly but that causes uninative issues requiring other workarounds so own-mirrors is neater. Together these fixes unbreak eSDK testing on the autobuilder. (From OE-Core rev: 866b55905eabf93f45c10a08d5b53c459ac4c056) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>