summaryrefslogtreecommitdiffstats
path: root/meta/classes
Commit message (Collapse)AuthorAgeFilesLines
* staging: Reduce the number of mkdirs callsRichard Purdie2017-02-011-10/+17
| | | | | | | | | | | | The number of mkdir calls was showing up high on the profile charts since it was getting called once per file which is excessive. Each call results in one or more syscalls which is bad for performance. Cache which directories we've seen to reduce the calls to a more reasonable number and speed up recipe specific sysroots. (From OE-Core rev: 680fb343be5d0a7f9abbe9c75ca232abe5871663) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate/staging: Batch log messages for performanceRichard Purdie2017-02-012-8/+17
| | | | | | | | | | | | | | | | | | | According to profile data, repeated calls to bb.debug and bb.note in the extend_recipe_sysroot() codepath were accounting for 75% of the time (1.5s) in calls from tasks like do_image_complete. This batches up the log messages into one call into the logging system which gives similar behaviour to disabling the logging but retains the debug information. Since setscene_depvalid is also called from bitbake's setscene code, we have to be a little creative with the function parameters and leave the other debug output mechanism in place. This should hopefully speed up recipe specific sysroots. (From OE-Core rev: 3b0af8dc0f796345d1f1ba77ea35bbd090a5feb3) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* relocatable: Make native .pc files relocatableRichard Purdie2017-01-311-1/+12
| | | | | | | | | | | | | The native .pc files currently have hardcoded paths in them meaning each has to be relocated at final install time. pkg-config has built in functionality to avoid this, namely the pcfiledir variable. This function translates .pc files to use the variable meaning further relocation later is unnecessary. (From OE-Core rev: a3f4e9ff55c7d9eba175e83eb6c99cf349a74432) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* utils: Avoid need to relocate wrapper scriptsRichard Purdie2017-01-311-2/+16
| | | | | | | | | | | | | Whilst the path to the executable is dynamically determined, the passed in environment variables or parameters are not relocatable and rely on the sstate remapping code. In the recipe specific sysroot case this has become more costly. This patch translates such paths into relocatable entries which means that a sed replacement at final installation isn't needed. (From OE-Core rev: 3e02a7cda0ba70e3f9886c5cce37d71361280b11) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/runtime/cases: Rename syslog module to oe_syslogAníbal Limón2017-01-311-1/+1
| | | | | | | | | | | | | | Debian based distros has a builtin syslog module so when try to load tests using unittest it references the builtin module instead of runtime/cases. [YOCTO #10964] (From OE-Core rev: 9923e3cdb58c2b3c54ec5fe99b2cec4cdc9fff92) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* testimage.bbclass: Fixes about suites and dependenciesMariano Lopez2017-01-311-4/+5
| | | | | | | | | | | | | | | | | There are some missing suites on sato-sdk and lsb-sdk images so add it. The createrepo-native needs to be built before run testimage in order to create a repository from install packages. The DL_DIR data also needs to be updated from the current bitbake environment instead of use the value from testdata file. [YOCTO #10964] (From OE-Core rev: 42f3026b39519ba98ae3153329622ce670d57c09) Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* populate_sdk_ext: fix == bashismPatrick Ohly2017-01-311-1/+1
| | | | | | | | | Found via verify-bashisms. (From OE-Core rev: b690b8dc634844b4f6672d524f0e6f1d86dc4e20) Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rootfs-postcommands.bbclass: drop insert_feed_uris functionMing Liu2017-01-311-18/+0
| | | | | | | | | | | The source makes no reference to insert_feed_uris any more, simply drop the unused reference, to avoid confusing the developers. (From OE-Core rev: 26dddb7d4a4945abaaefd460a342de6abd609594) Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: remove remaining True option to getVar callsMing Liu2017-01-315-8/+8
| | | | | | | | | | | | | | | | This is a complementary fix to commit 7c552996: [ meta: remove True option to getVar calls ] it intended to remove all True option to getVar calls, but there are still some remaining. Search made with the following regex: getVar ?\((.*), True\) (From OE-Core rev: 87d03ffe03d6f01e360bfd51714be96e62506e0a) Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* testimage.bbclass: Allow to run tests on autobuilder's imagesMariano Lopez2017-01-311-4/+7
| | | | | | | | | | | | | | | | | | | With the change to the new framework data store dependecy was removed, instead a new file is generated and used in testimage. When testing builds from the autobuilders the test data values are from the autobuilder, including the paths. Some tests require paths to current environment in order to run, this commit will update such paths and fix the error of running images donwloaded from autobuilders. [YOCTO #10964] (From OE-Core rev: 26ad5105fc2ce03b7ee8ecc6911fd40a52bd573a) Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* externalsrc: Hide created symlinks with .git/info/excludeOla x Nilsson2017-01-311-1/+16
| | | | | | | | | | | Add created symlinks to the exclude file. This will both make them less distracting and hide them from the srctree_hash_files function. (From OE-Core rev: c11fcd6fbde4a90913960b223451e0ce9e6b4b64) Signed-off-by: Ola x Nilsson <olani@axis.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Make SSTATE_SCAN_CMD vars configurable using weak defaults.Kristian Amlie2017-01-314-7/+14
| | | | | | | | | | | | | | | For this we move them out of the python section so they can be overridden on a per-recipe basis. The motivation for this change is that not all tool chains need the path modifications provided by the command, and these will provide alternative or empty commands. The Go compiler is such an example. (From OE-Core rev: 7d2a2160336413736dd4640f5b84ba4d74bb00f5) Signed-off-by: Kristian Amlie <kristian.amlie@mender.io> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* toolchain-shar-extract: compare SDK and host gcc versionsEd Bartosh2017-01-311-0/+1
| | | | | | | | | | | | | | | | | | | | If ext sdk is built by gcc version higher than host gcc version and host gcc version is 4.8 or 4.9 the installation is known to fail due to the way uninative sstate package is built. It's a known issue and we don't have a way to fix it for above mentioned combinations of build and host gcc versions. Detected non-installable combinations of gcc versions and print an installation error. [YOCTO #10881] (From OE-Core rev: bfb9ea2604557804bd8c16adb57ccdd868a4020f) 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>
* package_deb: handle allarch when mapping tune to dpkg architecturesRoss Burton2017-01-311-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | It was discovered that buildtools-tarball can't be built with Debian packaging: E: Unable to locate package nativesdk-buildtools-perl-dummy The package exists but dpkg doesn't see it because the Architecture field isn't valid: for this package the Architecture field is 'allarch' which isn't in the list of valid architectures we define. package_deb already has a mapping of OE architectures (PACKAGE_ARCH) to dpkg architectures (DPKG_ARCH), for example our x86_64 is amd64 in dpkg. However allarch.bbclass sets an invalid TARGET_ARCH of 'allarch' (to break anything which attempts to use the target architecture) and package_deb relied on the PACKAGE_ARCH check later turning the Architecture field into 'all'. This usually works, but nativesdk-buildtools-perl-dummy inherits allarch but then changes PACKAGE_ARCH to buildtools-dummy-nativesdk to isolate the packages in a separate feed. We can handle this by explictly checking for allarch in the TARGET_ARCH check, as that everything that inherits allarch will want to have Architecture: all in their packages. [ YOCTO #10700 ] (From OE-Core rev: 58a5771f20f7851816b5f39df0ada8f16438065c) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* distrodata: add DATETIME to vardepsexclude for do_distro_check.Ross Burton2017-01-311-2/+1
| | | | | | | | | | | | | This task uses DATETIME so add it to vardepsexclude so bitbake doesn't refuse to execute the task when the time changes between the controller and the worker calculating the hash. [ YOCTO #10960 ] (From OE-Core rev: e6784ef0d56a1b297001bc59c0da3aecebd1c656) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* grub-efi.bbclass: use 'grub-efi-' prefixEd Bartosh2017-01-311-4/+6
| | | | | | | | | | grub-efi recipe added 'grub-efi-' prefix to the file name of efi binary. Changed grub-efi.bbclass accordingly. (From OE-Core rev: 860c44435ea7cbbe3517d5ab9146213cc80fd0e7) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* isoimage-isohybrid: use TRANSLATED_TARGET_ARCH instead of MACHINE_ARCHEd Bartosh2017-01-311-2/+2
| | | | | | | | | | | | | | | | isoimage-sihybrid plugin uses MACHINE_ARCH to get the name of initrd image. It doesn't work for all machines, for example for quemux86-64 machine MACHINE_ARCH is quemux86_64 and initrd name is core-image-minimal-initramfs-qemux86-64.cpio.gz Used TRANSLATED_TARGET_ARCH variable to get the initrd image name. Replaced MACHINE_ARCH->TRANSLATED_TARGET_ARCH in WICVARS variable to make it available from <image>.env file. (From OE-Core rev: edf0830412de66eada9ef3f3947ca42e301c5377) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image-wic: remove HDDDIR from WICVARSEd Bartosh2017-01-311-1/+1
| | | | | | | | | | Removed HDDDIR as it's not used by wic anymore. Stopped usage of HDDDIR in wic test suite. (From OE-Core rev: b3ed3a79852f85651c8fa192a8118f9904e88ef8) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: use INITRD_LIVE in isoimage-isohybridEd Bartosh2017-01-311-2/+2
| | | | | | | | | | | | | | INITRD variable is not set if hddimg is disabled. isoimage-isohybrid can't get correct name for initrd if INITRD variable is not set. Added INITRD_LIVE to WICVARS and used it in isoimage-isohybrid code to get initrd artifact name. Used INITRD if INITRD_LIVE is not set. (From OE-Core rev: c672753be60550b15d5d593c251b61776d5b104d) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image-wic: move wic code to image-wic.bbclassEd Bartosh2017-01-313-118/+122
| | | | | | | | | | | There is a lot of wic code in image.bbclass and image_types.bbclass Having all code separated in one file should make it more readable and easier to maintain. (From OE-Core rev: 786368568a9525212e69f5cbf6da236f0a6be013) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: change location of .env filesEd Bartosh2017-01-312-2/+2
| | | | | | | | | | | | | | | Current location of .env files $STAGING_DIR/imagedata. It doesn't depend on machine and be rewritten by the builds for different machines. Changed location to $STAGING_DIR/$MACHINE/imagedata to avoid .env files to be rewritten. (From OE-Core rev: 94245144f5cef344d90bc2a7b3267cdae9d192e4) 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>
* image_types: use correct output directoryEd Bartosh2017-01-311-1/+1
| | | | | | | | | | | | | Wic put result images into <output dir>/build, which was confusing. Now it's fixed in wic code and images are put into output directory. Changed code in image_types to reflect this. [YOCTO #10783] (From OE-Core rev: 3983507bf859f6c3c29e9dea06ffe51f42c0759c) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* staging: Handle stale sysroot rebuild issueRichard Purdie2017-01-281-0/+2
| | | | | | | | | | If a stale sysroot object was found the complete stamp wasn't removed, meaning later code could fail when the new link creation was attempted. Ensure the stale complete stamp is also removed if present. (From OE-Core rev: d7d26488f252d60628862ee114a4404e8d6cb6f1) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* staging: Fix missing nativesdk do_populate_sysroot depends on binutilsRichard Purdie2017-01-281-0/+1
| | | | | | | | | Recent changes exposed the fact this dependency was missing in nativesdk cases, fix this. (From OE-Core rev: 46bd7e48cb5ae654d915fa493420534219682e85) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* staging: Allow removal of stale sysroot objectsRichard Purdie2017-01-281-2/+15
| | | | | | | | | | | | | | | | | The main sysroot components of unreachable build targets will be removed by the core code. This currently doesn't trigger a removal in the individual workdirs. This adds in symlinking between the complete stamps and the component sysroot meaning we can detect when someting was removed and hence remove it from the sysroot. This fixes cases where DISTRO_FEATURES like systemd are changed amongst other things and makes builds more robust against configuration changes. If a dependency is rebuild, that is caught by checksum comparision code elsewhere in this function as before. (From OE-Core rev: 7656347c556915dc9acc5a2311ec4e879de6f43d) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* staging: Drop common prefix WORKDIR from manifest filesRichard Purdie2017-01-281-2/+3
| | | | | | | | | | Manifest files containing the same duplicated prefix are wasteful on space and ultimately this costs build time. Drop the WORKDIR prefix from the manifest files since this small change mounts up a lot. (From OE-Core rev: 1cb245a99762e21a170b6a9beabb07e558424946) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Allow sstate_clean_manifest to take a prefixRichard Purdie2017-01-281-1/+3
| | | | | | | | | | Manifest files containing the same duplicated prefix are wasteful on space and ultimately this costs build time. Add support for manifest files with common prefixes removed and use the prefix if the path isn't absolute. (From OE-Core rev: 71e8c98238d627f9665faee9d7c226b9c07bd256) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gzip/pigz/expat/image: Simplify gzip-native/pigz-nativeRichard Purdie2017-01-283-8/+1
| | | | | | | | | With recipe specific sysroots, the gzip-replacement-native dance/class is obsolete, simplify the code accordingly. (From OE-Core rev: 39865fdf3698a130f792d41853f9c9ca1901e335) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* allarch: Drop STAGING_DIR_HOST expansionRichard Purdie2017-01-281-4/+0
| | | | | | | | | | Now that STAGINGDIR_HOST doesn't contain MACHINE, we no longer need to expand the value. Pre-expansion can mean components like PV can be expanded too early and cause problems for certain use cases. (From OE-Core rev: d04f0363a1e8ae641da3e80ffbd4c8803cb1c91a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image/kernelsrc/packagegroups/recipes: Remove uneeded noexec tasksRichard Purdie2017-01-283-10/+10
| | | | | | | | | | | | | | | | We used to have issues removing tasks like do_fetch due to implications for targets like world and universe. These have now been resolved. Removing uneeded tasks has advantages compared to noexec since it means that accidentally left in dependencies are no longer needed/processed (e.g. do_patch depends on quilt-native). This cleans up a number of cases which local analysis highlighted as being unneeded leading to slightly cleaner task graphs. (From OE-Core rev: 4e6ee37e09c60e83c0dfd844ba9cf8a07507f099) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image_types.bbclass: rebuild .wks file when .wks.in changesPatrick Ohly2017-01-281-0/+4
| | | | | | | | | | | | | | | | | | | WKS_FILE(S) can refer to .wks.in files which get expanded during the build by do_write_wks_template. The actual content of the .wks.in file gets added to the recipe meta data during parsing, and thus we need to ensure that the recipe gets re-parsed when the file changes. This fixes two related problems: - editing the .wks.in file and rebuilding an image did not recreate the image unless something else changed or "bitbake -c clean" was used explicitly - when forcing a rebuild, the cached meta data and the actual one do not match, leading to "ERROR: Taskhash mismatch ... for ....bb.do_write_wks_template" (From OE-Core rev: d00b95b18237b276c221b16dfc511a6da150ef06) Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* testimage.bbclass: Add systemd test automaticallyMariano Lopez2017-01-261-1/+2
| | | | | | | | | | | | This adds systemd test automatically when an image is build with systemd DISTRO_FEATURE [YOCTO #10935] (From OE-Core rev: 2e6ba167bee7c7b42b1e0e96eb5a7be2eb0fd2c0) Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* useradd_base: keep group if it still has usersIoan-Adrian Ratiu2017-01-261-4/+14
| | | | | | | | | | | | | | | | | | perform_groupdel() tries to delete a group irrespective if other users have it as their primary group, thus the call to groupdel will fail with the following error error: groupdel: cannot remove the primary group of user '<user>' Add a check to perform_groupdel() to determine if there are other users and keep the group, printing a warning. This is called right after a user is deleted to delete it's group. If the last user is deleted, only then the group is also deleted. (From OE-Core rev: bba1f02cb6d80279c6fed34bb18f010aa921fc1e) Signed-off-by: Ioan-Adrian Ratiu <adrian.ratiu@ni.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* useradd-staticids: Fix groupaddDavid Vincent2017-01-261-1/+3
| | | | | | | | | | | When a group name is duplicated between USERADD_PARAM and GROUPADD_PARAM, this class tries to add it twice which results in failure of the groupadd command. (From OE-Core rev: 5b84cc895500c28674d2a7b7c2dd618cf8fb30e9) Signed-off-by: David Vincent <freesilicon@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* toolchain-scripts: remove CCACHE_PATH from environment scriptJoshua Lock2017-01-261-2/+0
| | | | | | | | | | | | | | | | | | | | | CCACHE_PATH was added to the toolchain-scripts in commit 1d31ddb856a80ba9da1a64ed5d701dc0f7351ef7 without a detailed explanation as to why. This commit removes that environment variable as it's causing failures since the introduction of host_gcc_version() to oe.utils in d36f41e5658bbbb6080ee833027879c119edf3e0, as used by uninative to determine NATIVELSBSTRING. This causes errors when the host has ccache available in in PATH - host_gcc_version() fails because ccache has been told to only look for the compiler in CCACHE_PATH and can't find gcc in order to check its version. Toolchain compilers aren't detected due to the binaries being prefixed with the triplet of the target. (From OE-Core rev: e47fb403c2cb472d2666ed3ba4b10933467c8c7b) Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* autotools.bbclass: Change acpaths defaults to be a weak assignmentKhem Raj2017-01-261-1/+1
| | | | | | | | | | | We currently have to override the default setting using a particular assignment order in the recipe, setting it weakly helps to get rid of this problem. (From OE-Core rev: 57be81156f74666ff2ed2755f5faa48edf00e4dc) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* staging: Handle overlapping files for build-sysrootRichard Purdie2017-01-261-2/+7
| | | | | | | | | | | | | | | The use of bb.fatal means build-sysroots fails as soon as multiple gdb's are built with overlapping files, or multiple recipes with overlapping headers exist. Change the fatal call into an exception which we can then trap. Also avoid trying to call readlink on something with isn't a symlink. This allows build-sysroots to work better under various scenarios. (From OE-Core rev: e20343a90e401bc92167867729076d321081d120) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image/packagegroup/populate_sdk: Drop do_populate_sysroot task properlyRichard Purdie2017-01-263-7/+3
| | | | | | | | | | | | | Setting do_populate_sysroot as noexec means the code keeps thinking it can find a manifest file for it. It also complicates sstate installtion since the code would believe there is an sstate object there it should look for. Instead, delete the task. This causes sdk failures as the dependencies are wrong so fix those as well. (From OE-Core rev: bd7d0314038a4c1a8e8c9ebdb7194f8e17db3fef) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cross: Update MULTIMACH_TARGET_SYS to reflect modern recipesRichard Purdie2017-01-261-1/+1
| | | | | | | | | | | | | | | | | | | Mixing PACKAGE_ARCH with BUILD_* has always seemed somewhat odd. This comes into play when building different SDKMACHINES as the PN space for the recipes did once overlap. With the modern build process we use, this overlap is a thing of the past since PN has SDK_SYS appended to it. cross.bbclass sets PACKAGE_ARCH == BUILD_ARCH so this change only affects crosssdk.bbclass where PACKAGE_ARCH == SDK_ARCH. The current structure is quite confusing and this removes this artefact of history, allowing other gcc cleanups rather than meaning we futher complicate the code. (From OE-Core rev: 525bbfd08dacba84c92da0ab34310a85369526b7) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* staging/allarch: Remove hardcoded PACKAGE_ARCHS from the classRichard Purdie2017-01-262-7/+13
| | | | | | | | | | | | | | | | | The code was making an assumption that the only PACKAGE_ARCH in use was TUNE_PKGARCH. This is incorrect so iterate over the list from PACKAGE_EXTRA_ARCH instead. We also need to change allarch to preserve this variable, else the staging code doesn't function. We do this in a way which clears the variable history so that the task hashes remain unaffected. [Thanks to Andrew Goodbody <andrew.goodbody@cambrionix.com> for testing/fixing] (From OE-Core rev: b1bab7a6eff6b195824be7d754de58c6e9ee2bfb) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/oeqa: Replace subprocess.check_call() with check_output()Richard Purdie2017-01-233-6/+6
| | | | | | | | | | If you use subprocess.check_output() the traceback will contain the output when the command fails which is very useful for debugging. There is no good reason not to use this everywhere. (From OE-Core rev: ad750dd1cc9d789abe723daddd098ce41d8547f5) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sanity/abi-version: Force a clean TMPDIR after recipe specific sysroot changesRichard Purdie2017-01-231-0/+2
| | | | | | | | | | | | | | With the recipe specific sysroots, we need a clean tmpdir, else pseudo-native, openssl-native, subversion-native and serf-native need to be manually cleaned. After these there are probably more places where software doesn't rebuild correctly even if we pass in new parameters to it. The simplest solution is to force people to start from a clean TMPDIR since everything would rebuild anyway. (From OE-Core rev: da58e27a0f8fc8200f1953f05888834abd79c9f8) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel-fitimage: Use compressed ramdisks in FIT images if availableRick Altherr2017-01-231-4/+30
| | | | | | | | | | | | | kernel-fitimage:fitimage_assemble() was calling copy_initramfs from kernel.bbclass which decompresses the initramfs cpio. Assume that if INITRAMFS_FSTYPES includes a compressed cpio, that is what it desired in the FIT image. (From OE-Core rev: 842ad404b36e00c89f615a3f7db4a2d30062effa) Signed-off-by: Rick Altherr <raltherr@google.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemuboot.bbclass: add blank lines in commentsRobert Yang2017-01-231-0/+18
| | | | | | | | | Add blank lines in comments to make it easy for readind and updating. (From OE-Core rev: 3f3344d1c063b0013a9ae7203bac30ab8f4ea17c) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* runqemu: fixes for slirp, network device and hostfwdRobert Yang2017-01-231-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | Fixed: - Add QB_NETWORK_DEVICE to set network device, it will be used by both slirp and tap. - Set QB_NETWORK_DEVICE to "-device virtio-net-pci" in qemuboot.bbclass but runqemu will default to "-device e1000" when QB_NETWORK_DEVICE is not set, this is because oe-core's qemu targets support virtio-net-pci, but the one outside of oe-core may not, "-device e1000" is more common. - Set hostfwd by default: 2222 -> 22, 2323 -> 23, and it will choose a usable port when the one like 222 is being used. This can avoid conflicts when multilib slirp qemus are running. We can forward more ports by default if needed, and bsp.conf can custom it. - Use different mac sections for slirp and tap to fix conflicts when running both of them on the same host. [YOCTO #7887] CC: Nathan Rossi <nathan@nathanrossi.com> CC: Randy Witt <randy.e.witt@linux.intel.com> (From OE-Core rev: 7dddd090806914a62d977730440d803e48f44763) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* testexport.bbclass: Migrate testexport to use new frameworkMariano Lopez2017-01-231-124/+91
| | | | | | | | | | | | This migrates current testexport implmentation to use the new OEQA framework. [YOCTO #10686] (From OE-Core rev: 92cb884c989460563a063b29d2be8b7acd20577e) Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* testimage.bbclass: Add package install featureMariano Lopez2017-01-231-17/+10
| | | | | | | | | | | | This allows to use the package install feature with the new OEQA framework. [YOCTO #10234] (From OE-Core rev: 077dc19445574457769eb4f231de97e8059cb75e) Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* testimage.bbclass: Add support for package extractionMariano Lopez2017-01-231-0/+12
| | | | | | | | | | | | | testimage support the installation of packages without a package manager in the target. This adds support for package extraction required to support the installation feature. [YOCTO #10234] (From OE-Core rev: 8c7335290cb00ed0683241249297ca573ebd353a) Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* runtime/cases/smart.py: Migrate smart testsMariano Lopez2017-01-231-0/+53
| | | | | | | | | | | | | | | | | This migrates the smart test from the old framework to the new one. This has its own commit because smart test was using bb and oe libraries that are available when exporting the test cases to run in a different host. Because of the removal of bb and oe libraries index and packages feeds creation will be managed in testimage bbclass. [YOCTO #10234] (From OE-Core rev: 8d64ac4208e8dcb8a6fde6ea2959c9b3edfe2172) Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* testimage.bbclass: Migrate class to use new runtime frameworkMariano Lopez2017-01-231-42/+144
| | | | | | | | | | | | This migrates testimage class to use the new framework. Most of the code added here is to get rid off the data store dependency. [YOCTO #10234] (From OE-Core rev: 2aa5a4954d7610f31875ba7e655f25f8892517b6) Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>