summaryrefslogtreecommitdiff
path: root/meta/classes
AgeCommit message (Collapse)AuthorFiles
2016-09-14sstate.bbclass: normalize whitelisted pathsMax Krummenacher1
Without this a whitelisted path containing /../ breaks the test for a file allowed to be provided by more than one recipe. Noticed when local.conf contains: DEPLOY_DIR = "${TOPDIR}/../deploy" |ERROR: core-image-minimal-1.0-r0 do_image_complete: The recipe | core-image-minimal is trying to install files into a shared area when those | files already exist. Those files and their manifest location are: | .../poky/deploy/images/qemux86/README_-_DO_NOT_DELETE_FILES_IN_THIS_DIRECTORY.txt | Matched in b'manifest-qemux86-linux-yocto.deploy' Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-09-14classes/populate_sdk_ext: exclude image tasks from locked signaturesAmarnath Valluri1
Tasks for image recipes cannot be locked and should be excluded from eSDK generated locked-sigs.inc. get_sdk_install_targets() was not returning right image targets to be excluded incase of 'minimal' sdk. This change fixes the issue. Signed-off-by: Amarnath Valluri <amarnath.valluri@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-09-14classes/gobject-introspecton-data: lazy assign GI_DATA_ENABLEDRoss Burton1
By letting a recipe assign GI_DATA_ENABLED trivially there is a simple and clear way to disable gobject-introspection for specific build configurations. Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-09-14classes/gtk-doc: lazy assign GTKDOC_ENABLEDRoss Burton1
By letting a recipe assign GTKDOC_ENABLED trivially there is a simple and clear way to disable gtk-doc for specific build configurations. Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-09-14meta: cleanup d.getVar(var, 0)Robert Yang4
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-09-14meta: cleanup d.getVar(var, 1)Robert Yang2
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-09-13testimage: add createrepo-native to testimage dependsbavery1
The smart tests need createrepo to be in the native sysroot. It needs to be one of the depends for testimage. Signed-off-by: bavery <brian.avery@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-09-13sanity: fix hardcoded references to gccJérémy Rosen1
Signed-off-by: Jérémy Rosen <jeremy.rosen@smile.fr> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-09-13linux-yocto: allow overriding compiler name in KConfigJérémy Rosen1
The KConfig infrastructure needs to build HOST binaries in order to provide its infratstructure. Yocto needs to force the HOSTCC and HOSTCPP variables to BUILD_CC and BUILD_CPP to make sure that the proper compiler is used when compiling host binaries Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-09-13cross: export CC family from BUILD_* for cross compilersJérémy Rosen1
cross-compilers are native recipes that need to be compiled by the host's compiler. However they do not use native.bbclass As a consequence, the various CC, CXX etc environment variables are not correctly set and they will not honor the host compiler name provided by the BUILD_* variables. Signed-off-by: Jérémy Rosen <jeremy.rosen@smile.fr> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-09-13useradd: do not delete users and groups during configureJoe Slater1
If two recipes both create the same users and groups, the second recipe can delete items created by the first causing things like "chown" to fail for the first recipe. Signed-off-by: Joe Slater <jslater@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-09-09gtk-doc: only depend on native gtk-doc for documentation generationRoss Burton1
Now that gtk-doc-native works correctly, the gtk-doc class doesn't need to depend on target gtk-doc. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-09gtk-doc.bbclass: enable building gtk-doc based documentationAlexander Kanavin1
This is done similarly to gobject-introspection, but with much less delicate hacking around the upstream way of working. Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
2016-09-09qemuboot.bbclass: add it for runqemuRobert Yang1
It saves vars in ${DEPLOY_DIR_IMAGE}/<image>.qemuboot.conf, and runqemu will read it. The bsp which can be boot by runqemu will inherit it. Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-09utils.bbclass: Added error checking for oe_soinstallHenry Bruce1
Fixes [YOCTO #10146] Signed-off-by: Henry Bruce <henry.bruce@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-09utils.bbclass: Remove trailing whitespaceHenry Bruce1
Signed-off-by: Henry Bruce <henry.bruce@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-08kernel-module-split.bbclass: no need for running depmodAndré Draszik1
With the recent changes, executing depmod is not needed anymore. This simplifies and removes a lot of unnecessary code. Signed-off-by: André Draszik <git@andred.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-08kernel-module-split.bbclass: generate dependencies across recipesAndré Draszik1
The information retrieved via depmod is incomplete with regards to kernel modules that are dependencies, in particular where two kernel modules are built from different source trees / recipes, which leads to incomplete dependency information for packages created. So far, our packages created didn't contain dependencies on packages created by other recipes, as we solely use depmod for that, and depmod can only work well after *all* kernel modules have been copied into one place - it doesn't work well in a staged approach. Now that all .ko have correct dependency information at packaging time, we can use that information to properly track dependencies across recipies, and can combine the information from the .modinfo elf section with the information from depmod. Signed-off-by: André Draszik <git@andred.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-08module.bbclass: use Module.symvers for dependantsAndré Draszik1
When compiling multiple external kernel modules, where one depends on the other, there are two problems at the moment: 1) we get compile time warnings from the kernel build system due to missing symbols (from modpost). 2) Any modules generated are missing dependency information (in the .modinfo elf section) for any dependencies outside the current source tree and outside the kernel itself. This is expected, but the kernel build system has a way to deal with this - the dependent module is expected to specify KBUILD_EXTRA_SYMBOLS (as a space-separated list) to point to any and all Module.symvers of kernel modules that are dependencies. While 1) by itself is not really a big issue, 2) prevents the packaging process from generating cross-source tree package dependencies. As a first step to solve the missing dependencies in packages created, we: 1) install Module.symvers of all external kernel module builds (into a location that is automatically packaged into the -dev package) 2) make use of KBUILD_EXTRA_SYMBOLS and pass the location of all Module.symvers of all kernel-module-* packages we depend on This solves both problems mentioned above. Signed-off-by: André Draszik <git@andred.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-08kernel-yocto: allow --allnoconfig and --alldefconfig as KCONFIG_MODESBruce Ashfield1
Previously merge_config.sh was wrapped by the configme script, configme took the different KCONFIG_MODES as options, and used --allnoconfig or --alldefconfig. With the switch to merge_config.sh no longer being wrapped, the new processing wasn't matching the existing values and only supported allnoconfig or alldefconfig. To avoid breaking existing layers, and also keep any working that have already switched, we can make the case statement match both. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-08kernel-yocto: restore kernel-meta data detection for SRC_URI elementsBruce Ashfield1
Before the kernel tools were simplified and streamlined, there was code which not only migrated a patch/cfg/scc to the kernel build tree, it also migrated any subdirectories of those patches. The effect of this data migration was that any other meta data in a patch's directory structure would be available for processing. While we don't want to do this migration anymore, it is possible to check the path of any SRC_URI patches, and if they include a "kernel-meta" subdirectory add it to the search path. This restores the functionality without the old complexity. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-08recipetool: create: support node.js code outside of npmPaul Eggleton1
If you have your own node.js application you may not publish it (or at least not immediately) in an npm registry - it might just be in a repository on github or on your local machine. Add support to recipetool create for creating recipes to build such applications - extract their dependencies, fetch them, and add corresponding npm:// URLs to SRC_URI, and ensure that LICENSE / LIC_FILES_CHKSUM are updated to match. For example, you can now run: recipetool create https://github.com/diversario/node-ssdp (I had to borrow some code from bitbake/lib/bb/fetch2/npm.py to implement this functionality; this should be refactored out but now isn't the time to do that refactoring.) Part of the fix for [YOCTO #9537]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2016-09-08cmake.bbclass: avoid treating imports as system includesAndreas Müller1
CMake sets all imported headers as system headers. This causes trouble for c++ projects [1]. Thanks to Jack Mitchell for pointing to the setting [2]. Build tested upon meta-qt5-extra-world which had lots of fallout before. [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70129 [2] http://lists.openembedded.org/pipermail/openembedded-core/2016-September/126067.html Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-09-05kernel-yocto: do_kernel_configme: Fix silent sysroot poisoning errorIoan-Adrian Ratiu1
do_kernel_configme calls merge_config.sh (installed in the sysroot by the kern-tools-native recipe) which may invoke the compiler to complete the configuration process. Depending on the build (and dependencies), this may error due to sysroot poisoning [1]. The errors are similar to: make[1]: Entering directory '4.1+gitAUTOINC+a7e53ecc27-r0/linux-x64-standard-build' HOSTCC scripts/basic/fixdep work-shared/x64/kernel-source/scripts/basic/fixdep.c:106:23: fatal error: sys/types.h: No such file or directory compilation terminated. make[2]: *** [work-shared/x64/kernel-source/scripts/basic/Makefile:22: scripts/basic/x86_64-nilrt-linux-fixdep] Error 1 Adding $TOOLCHAIN_OPTIONS to $CFLAGS before calling merge_configs.sh fixes the error because $TOOLCHAIN_OPTIONS defines the sysroot and make uses it to correctly compile & fill all missing kernel config options. [1] http://lists.openembedded.org/pipermail/openembedded-core/2014-October/098253.html Signed-off-by: Ioan-Adrian Ratiu <adrian.ratiu@ni.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-05kernel-yocto: test for empty artifactsBruce Ashfield1
With the updated kernel tools, we generate a list of sccs, patches, configs and BSP definitions as part of the meta data generation. It is valid if there aren't any of these artifacts found (i.e. you are just building a branch and a default config), but invoking the tools with no inputs isn't a good idea. To avoid this issue, we generate a string based on the artifacts and skip calling the tools if there's nothing to do. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-04toaster: fire TaskArtifacts eventEd Bartosh1
Fire TaskArtifact MetaData event for deployment tasks when task either completed or skipped. Event contains full task id (recipe+task) and list of deployment artifacts from sstate manifest. This should allow Toaster to always get notified about deployment artifacts produced by the build. [YOCTO #9869] Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-04populate_sdk_ext: Put populate_sdk_ext under sstate controlRichard Purdie1
Adding populate_sdk task to SSTATE_TASKS should make sstate machinery to generate manifest for deployed ext sdk artifacts and do final deployment to SDK_DEPLOY. This is done in a similar way to do_populate_sdk in a previous patch. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-04populate_sdk_base: Put populate_sdk under sstate controlEd Bartosh2
Adding populate_sdk task to SSTATE_TASKS should make sstate machinery to generate manifest for deployed sdk artifacts and do final deployment to SDK_DEPLOY. Set stamp-extra-info flag for do_populate_sdk task. This flag is used in the name of sstate manifest. Setting it to predetermined value for populate_sdk task should help to get correct manifest filenames when processing runQueueTask events. The do_populate_sdk function is also executed by do_populate_sdk_ext so in order to avoid conflicts with the sstate postfuncs, split the main code into a separate function. We also need to set SDKDEPLOYDIR as do_populate_sdk_ext expects it in order not to break ESDK generation. Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-04sstate: Avoid duplicate README file errors for sdk under sstate controlRichard Purdie1
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-04image.bbclass: Put image_complete under sstate controlEd Bartosh1
Adding image_complete task should make sstate machinery to generate manifest for deployed images and do final deployment to DEPLOY_DIR_IMAGE. Made sure IMGDEPLOYDIR doesn't contain images from past deployments to prevent them to be included into sstate manifests. Set stamp-extra-info flag for do_image_complete task. This flag is used in the name of sstate manifest. Setting it to predetermined value for image_complete should help to get correct manifest filenames when processing runQueueTask events. Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-04populate_sdk_base: Deploy images to SDKDEPLOYDIRRichard Purdie1
Changed deployment directory from DEPLOY_DIR_IMAGE to SDKDEPLOYDIR to make sstate machinery to do final deployment and generate manifest. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-04image: Deploy images to IMGDEPLOYDIREd Bartosh7
Changed deployment directory from DEPLOY_DIR_IMAGE to IMGDEPLOYDIR to make sstate machinery to do final deployment and generate manifest. Renamed variable deploy_dir to deploy_dir_image in selftest code to avoid confusion with DEPLOYDIR variable. Updated the code of rootfs.py:Rootfs class to use IMGDEPLOYDIR variable as it's now used as a new deployment destination. Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-04image/populate_sdk_base: Add *DEPLOYDIR variablesEd Bartosh2
This is a preparation for changing deployment directory for image and populate_sdk targets. Introduced new variables, IMGDEPLOYDIR and SDKDEPLOYDIR. Set it to current image/sdk deployment locations. Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-03kernel.bbclass: include signing keys when copying files required for module ↵Mattias Waldo1
builds The absence of signing_key.* in $kerneldir made signing of out-of-tree kernel modules fail (silently). Add copying of these files during the shared_workdir task. Signed-off-by: Mattias Waldo <mattias.waldo@saabgroup.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-03kernel.bbclass: add user output to savedefconfigStefan Müller-Klieser1
In a similar manner to diffconfig, tell the bitbake user where the defconfig will be saved to. Signed-off-by: Stefan Müller-Klieser <s.mueller-klieser@phytec.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-03sstate.bbclass: skip packaging if SSTATE_SKIP_CREATION is setEd Bartosh1
SSTATE_SKIP_CREATION variable will be used to skip creation of sstate .tgz files. It makes sense for image creation tasks as tarring images and keeping them in sstate would consume a lot of disk space. Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-03lib/oe/patch: commit with a dummy user/email when PATCHTOOL=gitPaul Eggleton1
When using PATCHTOOL = "git", the user of the system is not really the committer - it's the build system itself. Thus, specify "dummy" values for username and email instead of using the user's configured values. Various parts of the devtool code that need to make commits have also been updated to use the same logic. This allows PATCHTOOL = "git" and devtool to be used on systems where git user.name / user.email has not been set (on versions of git where it doesn't default a value under this circumstance). If you want to return to the old behaviour where the externally configured user name / email are used, set the following in your local.conf: PATCH_GIT_USER_NAME = "" PATCH_GIT_USER_EMAIL = "" Fixes [YOCTO #8703]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-03kernel.bbclass: remove EXTRA_OEMAKE workaroundStefan Müller-Klieser1
The default of EXTRA_OEMAKE is already empty since commit: OE-Core rev: aeb653861a0ec39ea7a014c0622980edcbf653fa bitbake.conf: Remove unhelpful default value for EXTRA_OEMAKE Signed-off-by: Stefan Müller-Klieser <s.mueller-klieser@phytec.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-03distutils-common-base.bbclass: remove EXTRA_OEMAKE workaroundStefan Müller-Klieser1
The default of EXTRA_OEMAKE is already empty since commit: OE-Core rev: aeb653861a0ec39ea7a014c0622980edcbf653fa bitbake.conf: Remove unhelpful default value for EXTRA_OEMAKE Signed-off-by: Stefan Müller-Klieser <s.mueller-klieser@phytec.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-03autotools.bbclass: remove EXTRA_OEMAKE workaroundStefan Müller-Klieser1
The default of EXTRA_OEMAKE is already empty since commit: OE-Core rev: aeb653861a0ec39ea7a014c0622980edcbf653fa bitbake.conf: Remove unhelpful default value for EXTRA_OEMAKE Signed-off-by: Stefan Müller-Klieser <s.mueller-klieser@phytec.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-03base, autotools: Append PACKAGECONFIG_CONFARGS to EXTRA_OECONF only in ↵Martin Jansa2
autotools.bbclass * recipes which don't inherit autotools or cmake bbclass and want to use the configure options from PACKAGECONFIG need to handle PACKAGECONFIG_CONFARGS themselves. Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-30image_types: check COMPRESS_DEPENDS for backwards compatibilityMikko Ylinen1
To complete the transition/renaming to chained image type CONVERSION while maintaining bacwards compatibility to COMPRESS(ION), make sure also COMPRESS_DEPENDS is checked. Without this, the dependencies for legacy COMPRESSIONTYPES do not get built. Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-25useradd.bblass: Simplify target overridesUlf Magnusson1
The current style might be a leftover from when _class-target did not exist. Also change the assignment to SSTATECLEANFUNCS to an append, which makes more sense. useradd.bbclass is the only user of SSTATECLEANFUNCS as of writing, so it won't make any functional difference. Signed-off-by: Ulf Magnusson <ulfalizer@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-08-25bash-completion: add bash-completion to DEPENDS for target packagesRoss Burton1
Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-08-25utils: check_app_exists: strip whitespace from binary when searchingRoss Burton1
It's possible that the binary to be searched for contains whitespace which will cause the search to fail, so strip any whitespace before looking. Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-08-25image_types: use COMPRESSIONTYPES variable for backward compatibilityEd Bartosh1
Recent renaming of COMPRESSIONTYPES variable can break recipes that still use it. Including value of COMPRESSIONTYPES variable into CONVERSIONTYPES should prevent this. Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-25license: simple verification of LICENSE_<pkg> valuesMarkus Lehtonen1
LICENSE should be a superset of all LICENSE_<pkg> values. That is, LICENSE should contain all licenses and LICENSE_<pkg> can be used to "filter" this on a per-package basis. LICENSE_<pkg> shouldn't contain anything that isn't specified in LICENSE. This patch implements simple checking of LICENSE_<pkg> values. It does do not do advanced parsing/matching of license expressions, but, checks that all licenses mentioned in LICENSE_<pkg> are also specified in LICENSE. A warning is printed if problems are found. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-08-25license.bbclass: do not process LICENSE_pn variablesMarkus Lehtonen1
The loop iterating over LICENSE_pn variables has never worked. In addition, the LICENSE variable is supposed to contain all licenses defined in LICENSE_pn variables. Thus, it is simpler just to use LICENSE as the data we get is essentially the same. [YOCTO #9499] Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-08-23cmake.bbclass: call cmake with a relative pathThomas Witt1
CMake wants a relative path for CMAKE_INSTALL_*DIR, an absolute path breaks cross-compilation. This fact is documented in the following ticket: https://cmake.org/Bug/view.php?id=14367 $sysconfdir and $localstatedir are not relative to $prefix, so they are still set as absolute paths. With his change ${PROJECT}Targets.cmake that are generated by cmakes "export" function will contain relative paths instead of absolute ones. Signed-off-by: Thomas Witt <Thomas.Witt@bmw.de> Signed-off-by: Clemens Lang <clemens.lang@bmw-carit.de> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-08-23rm_work: don't remove timestamps of image tasksEd Bartosh1
Excluded removal of do_bootimg, do_bootdirectdisk and do_vmimg timestamps to prevent unneeded rootfs rebuilds. [YOCTO #10159] Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>