summaryrefslogtreecommitdiffstats
path: root/meta/classes
Commit message (Collapse)AuthorAgeFilesLines
* testimage.bbclass: Add package manager dependencyMariano Lopez2016-09-231-0/+4
| | | | | | | | | | | | | | | | The feature to install packages in the target requires to build the package manager. It would fail, with very obtuse errors, if a test requires to install something and the package manager hasn't been build. This will add the package manager as dependency for testimage. [YOCTO #10260] (From OE-Core rev: cf548fd85297585cc5688eda45ee332200bbd4b7) 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>
* toolchain-scripts-base: add base class for toolchain_create_sdk_versionJoshua Lock2016-09-232-13/+12
| | | | | | | | | | | | We use toolchain_create_sdk_version() in buildtools-tarball but don't want the extra classes toolchain-scripts pulls in, therefore split out a separate base class for this function which both toolchain-scripts and the buildtools-tarball can inherit. (From OE-Core rev: a398dfa654dc035c404fc12279fac9edf6403e11) Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* base.bbclass: Drop unnecessary dirs settingRichard Purdie2016-09-221-1/+1
| | | | | | | | | | | | ${D} is listed in cleandirs so no need to list it in dirs as well. The default directory is ${B} so this is a cleanup which should have no changes to the execution. [YOCTO #10017] (From OE-Core rev: 7e0f95bf359bc3b5bb1578024a993e184de155cd) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* autotools/siteinfo: Tweak CONFIG_SITE handling for determism/racesRichard Purdie2016-09-223-10/+16
| | | | | | | | | | | | | | | | | | | | | | As things stand there are multiple races in the CONFIG_SITE handling where checksums can change depending on whether site directories exist or not when parsing happens. This is bad. Secondly, there is a build race that occurs if you build virtuals in parallel with the "main" recipe, since the main recipe is parsed when the virtual is (since it sets variables like BBCLASSEXTEND) and with the current code, it may look for files and directories which could be created/destroyed which the loop is executing. This is also bad. The aclocal-copy directory should only ever be accessed by the call from autotools.bbclass. This changes the parameter name to make it clear and ensures all callers have the right usage, neatly avoiding all the problems above. Also added better comments. (From OE-Core rev: 3207244004c612c1a0e13921251003e5e635d1b1) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel.bbclass: Add kernel_version_sanity_check functionCalifornia Sullivan2016-09-211-0/+30
| | | | | | | | | | | | | | | | | | The kernel being built should match what the recipe claims it is building. This function ensures that happens by comparing the version information in the kernel's Makefile to the PV the recipe is using. v2 changes: * Match against PV instead of LINUX_VERSION * Match against EXTRAVERSION as well (e.g., -rc4) * Cleaned up version string building Fixes [YOCTO #6767]. (From OE-Core rev: ec467cfaea5c8cf22c61daa8845c2e4e96449512) Signed-off-by: California Sullivan <california.l.sullivan@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* populate_sdk_base: fix support for changing SDKMACHINE settingsJoshua Lock2016-09-211-2/+2
| | | | | | | | | | | | | | | | | Include SDKMACHINE in the tasks stamp information and the name of the sstate-inputdirs so that changing SDKMACHINE doesn't result in valid output of the task being deleted when SDKMACHINE is changed. Without this patch changing SDKMACHINE and building an SDK resulted in toolchain installers for other SDKMACHINE's being deleted from the deploy directoy. [YOCTO #10275] (From OE-Core rev: d7a06b53af0066bd12f5f42e10e82b307fd069ce) Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image_types: add parted-native to do_image_wic dependsEd Bartosh2016-09-201-0/+1
| | | | | | | | | | | | As parted is always used by wic it makes sense to make do_image_wic dependent on parted-native:do_populate_sysroot. This should help to avoid adding it to all wic image recipes. (From OE-Core rev: c687c9fcc010947f52e1cd153ea74ae5f6343ca4) 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>
* qemuboot.bbclass: don't fail on very first buildAndré Draszik2016-09-201-0/+1
| | | | | | | | | | | | | | | | | | During the very first build, the DEPLOY_DIR_IMAGE directory might not have been created yet, causing the creation of the qemuboot.conf config file to fail. This is because write_qemuboot_conf() runs at rootfs creation time, i.e. before deploy. So let's create the directory if necessary before trying to write the config file. (From OE-Core rev: ee4697350a553a36ca17b9376911e56eee43a465) Signed-off-by: André Draszik <git@andred.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* externalsrc.bbclass: Make reparsing work for BBCLASSEXTENDed recipesPeter Kjellerstedt2016-09-201-3/+17
| | | | | | | | | | | | | | | | | To make sure changes to any source files are detected when externalsrc is used, it sets BB_DONT_CACHE to force the recipe to be reparsed every time. Previously, this was done conditionally based on whether EXTERNALSRC was set. This worked fine for building the base recipe. But if one tried to build, e.g., a native version of it (provided via BBCLASSEXTEND), the recipe would not be reparsed as expected. To solve the above problem, BB_DONT_CACHE is now set for the base recipe if EXTERNALSRC is set for it or any of it derivatives. (From OE-Core rev: 449a0b21255d895e8620383ce76a9d7ea41b5cc6) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel.bbclass: assign INITRAMFS_BASE_NAME using ?=Andre McCurdy2016-09-201-1/+1
| | | | | | | | | | | | Default values for KERNEL_IMAGE_BASE_NAME and MODULE_IMAGE_BASE_NAME are already assigned using ?= and anyone wanting to over-ride one is likely to want to over-ride them all. Make the three consistent with each other. (From OE-Core rev: e30c6c93bb70d17244c90c2be12229148f8f6314) Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemuboot: also write the kernel link name to the conf fileJoshua Lock2016-09-201-2/+3
| | | | | | | | | | This will allow runqemu to fall back to trying the link name when a file matching the full name can't be found. (From OE-Core rev: 3ccbaaad75f0a53d8bcf6a5c748ec80c96a383bd) Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemuboot: write the full kernel filename, not the link nameJoshua Lock2016-09-201-0/+8
| | | | | | | | | | | | | | | | | | | KERNEL_IMAGETYPE gives the filename of a symlink to the kernel, which may not be available i.e. if the user downloads some build artefacts to run on a local machine. It's also possible that the link will point to a newer kernel than was intended for use with the rootfs in the qemuboot.conf. It's much more reliable to read the name of the file KERNEL_IMAGETYPE is linking to and assign the full filename to QB_DEFAULT_KERNEL. [YOCTO #10285] (From OE-Core rev: d57bdacab13605ada4cd9e9159c18fdcd6eeacbc) Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sanity.bbclass: split out config re-parse checkMarkus Lehtonen2016-09-161-15/+12
| | | | | | | | | | | | | | | | | Split out the functionality doing configuration re-parse check into a separate event handler that is hooked into ConfigParsed event. This will make config re-parsing actually work. Re-parsing in bitbake is triggered by setting BB_INVALIDCONF whose value is checked after configuration has been parsed (after ConfigParsed event). However, previously BB_INVALIDCONF was set in SanityCheck event handler which caused re-parsing never to happen. [YOCTO #10188] (From OE-Core rev: 8fda70bb74f7c63d393d5424436d034d2cc6c05e) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* useradd_base.bbclass: Do not mess with the gshadow file in the sysrootPeter Kjellerstedt2016-09-161-12/+0
| | | | | | | | | | | | | | | | | | | | | | Previously, if the gshadow file did not exist in the sysroot when perform_groupmems() was run, it would be temporarily created and removed again afterwards. This was supposedly due to groupmems failing if it does not exist. However, based on empirical testing and examination of the source code for groupmems, it should not fail if the gshadow file does not exist when groupmems is started. But it WILL fail if the file is removed sometime after its existence has been check at the beginning of the execution, but before it needs to be modified. And this is exactly what the previous code in perform_groupmems() could cause if multiple tasks simultaneously modified users or groups. It could cause any of the useradd, groupadd and groupmems commands to fail as long as at least one other recipe invoked perform_groupmems(). (From OE-Core rev: 4fcaa484a2e8046cf3277b5d14933cdaa94a4c3f) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cve-check.bbclass: Add classMariano Lopez2016-09-161-0/+267
| | | | | | | | | | | | | | | | | | | | | | This class adds a new task for all the recipes to use cve-check-tool in order to look for public CVEs affecting the packages generated. It is possible to use this class when building an image, building a recipe, or using the "world" or "universe" cases. In order to use this class it must be inherited and it will add the task automatically to every recipe. [YOCTO #7515] Co-authored by Ross Burton & Mariano Lopez (From OE-Core rev: d98338075ec3a66acb8828e74711550d53b4d91b) 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>
* sanity: make license QA failures fatal againRoss Burton2016-09-161-6/+8
| | | | | | | | | | | | | | | | Previous work to clean up the license QA code (oe-core fbdf977) had the side effect that failing the license sanity check (bad or missing LIC_FILES_CHKSUM) would emit an error message but wouldn't actually abort the build. Solve this by changing populate_lic_qa_checksum() so that it tracks if the message class was in ERROR_QA and if so, aborts the function. [ YOCTO #10280 ] (From OE-Core rev: 5ba1a7505b904a4aa2118fa9614d76df97597af8) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Add postrm command supportRichard Purdie2016-09-161-0/+11
| | | | | | | | | | | | | | There are some issues in sstate which can't be handled by file removal alone. Currently there is no way to execute a command against sstate and doing so is potentially problematic for things like dependencies. This patch adds a mechanism where any "postrm" script is executed if its present allowing some openjade/sgml issues to be resolved. [YOCTO #8273] (From OE-Core rev: 2268efd0cd3ddb40870c4c424d10444ba86d2849) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image.bbclass: add IMAGE_DEVICE_TABLE to rootfs[vardeps]Andre McCurdy2016-09-151-1/+1
| | | | | | | | | | | IMAGE_DEVICE_TABLE and IMAGE_DEVICE_TABLES are both referenced by _create_devfs, therefore ensure that rootfs is rebuilt if changes are made to either variable. (From OE-Core rev: 06092cee0dc8c7cd2408ddfa9e9dc43fd9dfea2e) Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/populate_sdk_ext: ensure we clean the right temporary TMPDIR pathPaul Eggleton2016-09-141-3/+4
| | | | | | | | | | | | | | | | | | | | | After we run the build system within the eSDK internally as part of the sstate filtering that happens during do_populate_sdk_ext, we need to ensure that the TMPDIR created during that process gets deleted. However we were using the TMPDIR path for the build producing the eSDK which may not be the same (since that value would typically be filtered out) thus if the user had set TMPDIR to something other than the default, the temporary TMPDIR would not be deleted which not only led to extraneous junk entering the SDK but also failures during install because the TMPDIR path was different. In order to fix this, force TMPDIR to a known value during the sstate filtering run so we know what to delete afterwards. Fixes [YOCTO #10210]. (From OE-Core rev: 038d9db66e69c9de12eb8581acb28a8facd726b6) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* autotools: Correctly filter m4 files view to setscene dependenciesRichard Purdie2016-09-141-19/+48
| | | | | | | | | | | | | | | | | | | | | | | Currently when you run builds from sstate, you can see warnings like: WARNING: systemd-1_230+gitAUTOINC+3a74d4fc90-r0 do_configure: /data/poky-master/tmp-glibc/sstate-control/manifest-intel-corei7-64-glibc-initial.populate_sysroot not found WARNING: systemd-1_230+gitAUTOINC+3a74d4fc90-r0 do_configure: /data/poky-master/tmp-glibc/sstate-control/manifest-intel-corei7-64-libgcc-initial.populate_sysroot not found This is due to co_configure wanting to copy a limited number of m4 macros, only listed in a recipes DEPENDS but that set is still larger than the set of recipes which get restored from sstate. For build determinism and to avoid these warnings, we need to make this function match what the sstate code does. We really don't want to duplicate the functionality since keeping things in sync would be hard so we create a data structure which can be passed into the same underlying function, setscene_depvalid(). [YOCTO #10030] (From OE-Core rev: 37ffb1f7d812e40d6fa23b44782eaa8436d9ab76) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel-yocto: remove do_shared_workdir from SRCTREECOVEREDTASKSAndré Draszik2016-09-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Various recipes depend on the kernel's do_shared_workdir task, a quick grep suggests all external kernel modules (via module.bbclass), but also perf, and potentially any additional headers as outlined in linux-libc-headers.inc are affected. Having do_shared_workdir in SRCTREECOVEREDTASKS means this task is removed when externalsrc is enabled, making all those recipes fail as the task they depend on, virtual/kernel:do_shared_workdir, doesn't exist. Remove do_shared_workdir from SRCTREECOVEREDTASKS so that all those recipes work even if externalsrc is activated. According to the comment in here, the reason for do_shared_workdir to be removed as a task is because it modifies the source tree, but that doesn't seem to be case. (From OE-Core rev: 29e99d7a57803e450920600b5d35c5b4e58a0ede) Signed-off-by: Andre Draszik <git@andred.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image.bbclass: also mask debugfs versions of masked imagesAndré Draszik2016-09-141-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When IMAGE_GEN_DEBUGFS is enabled, and IMAGE_FSTYPES_DEBUGFS is left at its default (as suggested by local.conf.sample.extended), recipe parsing fails: bitbake kern-tools-native # or anything else for that matter ERROR: <poky.git>/meta/recipes-core/images/build-appliance-image_15.0.0.bb: No IMAGE_CMD defined for IMAGE_FSTYPES entry 'debugfs_vmdk' - possibly invalid type name or missing support class ERROR: Failed to parse recipe: <poky.git>/meta/recipes-core/images/build-appliance-image_15.0.0.bb Summary: There was 1 WARNING message shown. Summary: There were 2 ERROR messages shown, returning a non-zero exit code. i.e. bitbake doesn't even finish parsing... Since IMAGE_FSTYPES_DEBUGFS is based on IMAGE_FSTYPES, and since the build-appliance-image is setting IMAGE_FSTYPES to vmdk, image.bbclass/image_types.bbclass will be trying to build a debugfs_vmdk, causing the error, as this is not implemented. One solution to solving this problem could be as simple as adding a line IMAGE_FSTYPES_DEBUGFS_remove = "vmdk" to the build-appliance-image recipe, but that is very specific to the error encountered and carries the risk of the error being reintroduced in another recipe. Another solution could be to add 'debugfs_vmdk' to IMAGE_TYPES_MASKED in image-vm.bbclass, but again, this approach doesn't seem generic enough. None of the live and vm type images have an implementation for building a debugfs version, it doesn't seem to make sense to build debugfs versions of any of them anyway, and given IMAGE_TYPES_MASKED appears to be intended for those image types exclusively, it seems the right approach is to unconditionally also mask all debugfs_ flavours from IMAGE_TYPES_MASKED to achieve a generic solution. Do that so. (From OE-Core rev: 9bd682c4f1c19d68c573c11822888ee799809272) Signed-off-by: André Draszik <git@andred.net> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image.bbclass: do not check size of the debugfs imageAndré Draszik2016-09-141-0/+6
| | | | | | | | | | | | The debugfs is supposed to be used in addition to the normal image for debugging purposes, it doesn't make sense to artificially limit its maximum size. (From OE-Core rev: 7cdf3b2444df8cd322d9eff1bdbdc5adddcaf22a) Signed-off-by: André Draszik <git@andred.net> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate.bbclass: normalize whitelisted pathsMax Krummenacher2016-09-141-0/+1
| | | | | | | | | | | | | | | | | | | | 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' (From OE-Core rev: d82acf20541463b14a811788d28fb1db3539885b) Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/populate_sdk_ext: exclude image tasks from locked signaturesAmarnath Valluri2016-09-141-1/+1
| | | | | | | | | | | | 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. (From OE-Core rev: 46401034f017d234833997d2fb3122190f9029bf) Signed-off-by: Amarnath Valluri <amarnath.valluri@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/gobject-introspecton-data: lazy assign GI_DATA_ENABLEDRoss Burton2016-09-141-3/+1
| | | | | | | | | | By letting a recipe assign GI_DATA_ENABLED trivially there is a simple and clear way to disable gobject-introspection for specific build configurations. (From OE-Core rev: 75a5297369c7b04cef098e2a76f7f8f4781764aa) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/gtk-doc: lazy assign GTKDOC_ENABLEDRoss Burton2016-09-141-1/+1
| | | | | | | | | | By letting a recipe assign GTKDOC_ENABLED trivially there is a simple and clear way to disable gtk-doc for specific build configurations. (From OE-Core rev: 201e069625e3623ff71864f969664c6d5d3b1801) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: cleanup d.getVar(var, 0)Robert Yang2016-09-144-14/+14
| | | | | | | | (From OE-Core rev: 33b0d940b09a5ce1462476614213a58d3d62e80d) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: cleanup d.getVar(var, 1)Robert Yang2016-09-142-5/+5
| | | | | | | | (From OE-Core rev: 79fe476be233015c1c90e9c3fb4572267b5551d1) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* testimage: add createrepo-native to testimage dependsbavery2016-09-141-0/+1
| | | | | | | | | | | The smart tests need createrepo to be in the native sysroot. It needs to be one of the depends for testimage. (From OE-Core rev: 2f1a44d33d9ecceef69d11ef92c5369314cb3bf5) Signed-off-by: bavery <brian.avery@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sanity: fix hardcoded references to gccJérémy Rosen2016-09-141-7/+7
| | | | | | | | (From OE-Core rev: 89f55bf8e9d633cfb508a0885a462afb561c7cee) Signed-off-by: Jérémy Rosen <jeremy.rosen@smile.fr> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* linux-yocto: allow overriding compiler name in KConfigJérémy Rosen2016-09-141-0/+1
| | | | | | | | | | | | 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 (From OE-Core rev: c710401a2af6488b38565e8ef32b48ed1cd0aa69) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cross: export CC family from BUILD_* for cross compilersJérémy Rosen2016-09-141-0/+12
| | | | | | | | | | | | | | | 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. (From OE-Core rev: 110cc22614f92e848bbba9ecaa5e6f089f9a2749) Signed-off-by: Jérémy Rosen <jeremy.rosen@smile.fr> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* useradd: do not delete users and groups during configureJoe Slater2016-09-141-1/+1
| | | | | | | | | | | | 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. (From OE-Core rev: 936150306cb13022edcadf862947c357932e80ee) Signed-off-by: Joe Slater <jslater@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gtk-doc: only depend on native gtk-doc for documentation generationRoss Burton2016-09-091-1/+1
| | | | | | | | | | Now that gtk-doc-native works correctly, the gtk-doc class doesn't need to depend on target gtk-doc. (From OE-Core rev: 8dc4a45cc06fda29618f9f2379ed743dc0c536e3) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gtk-doc.bbclass: enable building gtk-doc based documentationAlexander Kanavin2016-09-091-14/+58
| | | | | | | | | | This is done similarly to gobject-introspection, but with much less delicate hacking around the upstream way of working. (From OE-Core rev: 1b5b429f63c323fcd46b7419a531689717a73b91) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemuboot.bbclass: add it for runqemuRobert Yang2016-09-091-0/+75
| | | | | | | | | | | | 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. (From OE-Core rev: 1675e9b89e00b875d0da13411a2a939aa4ba5298) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* utils.bbclass: Added error checking for oe_soinstallHenry Bruce2016-09-091-6/+9
| | | | | | | | | Fixes [YOCTO #10146] (From OE-Core rev: cd5d532bd2a3f409b9470591c8d6f6b21e5995dd) Signed-off-by: Henry Bruce <henry.bruce@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* utils.bbclass: Remove trailing whitespaceHenry Bruce2016-09-091-2/+2
| | | | | | | (From OE-Core rev: 1868db95819b45961cd7e8499ecace403e6bc91d) Signed-off-by: Henry Bruce <henry.bruce@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel-module-split.bbclass: no need for running depmodAndré Draszik2016-09-091-72/+1
| | | | | | | | | | | | With the recent changes, executing depmod is not needed anymore. This simplifies and removes a lot of unnecessary code. (From OE-Core rev: 8296e258b36a6238605e068e13c1982b1d12fe53) Signed-off-by: André Draszik <git@andred.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel-module-split.bbclass: generate dependencies across recipesAndré Draszik2016-09-091-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | 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. (From OE-Core rev: e4af1fa3aee7f1cf00ca27944b10b886f41f2fda) Signed-off-by: André Draszik <git@andred.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* module.bbclass: use Module.symvers for dependantsAndré Draszik2016-09-091-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. (From OE-Core rev: 88f1bc77c22091fccb00e80839adfdf34534187f) Signed-off-by: André Draszik <git@andred.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel-yocto: allow --allnoconfig and --alldefconfig as KCONFIG_MODESBruce Ashfield2016-09-081-2/+2
| | | | | | | | | | | | | | | | | | 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. (From OE-Core rev: 614227f28a023fe148307e0d85a5e9b8d9b74372) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel-yocto: restore kernel-meta data detection for SRC_URI elementsBruce Ashfield2016-09-081-3/+8
| | | | | | | | | | | | | | | | | | | | 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. (From OE-Core rev: 7ef7af5c03bad28faf380986f792f7f3d4d5944d) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* recipetool: create: support node.js code outside of npmPaul Eggleton2016-09-081-0/+4
| | | | | | | | | | | | | | | | | | | | | | | 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]. (From OE-Core rev: 4fb8b399c05a1b66986fc76e13525f6c5e0d9b58) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cmake.bbclass: avoid treating imports as system includesAndreas Müller2016-09-081-0/+1
| | | | | | | | | | | | | | | | | 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 (From OE-Core rev: a5bf690e27a32c5470a4e110ab58ed0a92b9d039) Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel-yocto: do_kernel_configme: Fix silent sysroot poisoning errorIoan-Adrian Ratiu2016-09-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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 (From OE-Core rev: 4b770d62472d1b1a26366de0a1742db240aa5239) 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>
* kernel-yocto: test for empty artifactsBruce Ashfield2016-09-051-2/+8
| | | | | | | | | | | | | | | | | 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. (From OE-Core rev: 58715183493de1deb90f2ab075048462b4bf6c73) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* toaster: fire TaskArtifacts eventEd Bartosh2016-09-041-0/+17
| | | | | | | | | | | | | | | | | 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] (From OE-Core rev: 9b08503eabf78bc1b114416523b41dcce3449f58) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* populate_sdk_ext: Put populate_sdk_ext under sstate controlRichard Purdie2016-09-041-1/+10
| | | | | | | | | | | | 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. (From OE-Core rev: ea3587e626a184c53dc0f484d1a0299b2b00641d) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>