aboutsummaryrefslogtreecommitdiffstats
path: root/meta/classes
AgeCommit message (Collapse)Author
2018-02-24kernel.bbclass: explicitly depend on bison-native for deterministic buildsDenys Dmytriyenko
Explicitly depend on bison-native for deterministic builds, as it is required for the build: | HOSTCC scripts/basic/fixdep | GEN ./Makefile | HOSTCC scripts/kconfig/conf.o | YACC scripts/kconfig/zconf.tab.c | /bin/sh: bison: command not found | scripts/Makefile.lib:217: recipe for target 'scripts/kconfig/zconf.tab.c' failed In most cases, this dependency comes indirectly via toolchain dependencies, specifically binutils-cross, which pulls bison-native. Different setups, such as with external toolchain, would expose this problem, since correct dependency is not marked explicitly. Signed-off-by: Denys Dmytriyenko <denys@ti.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-02-24icecc.bbclass: Remove icecream from uninativeJoshua Watt
The icecream native tools should not be included in uninative tarballs even though it is nativesdk Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-02-24icecc.bbclass: Add environment versionJoshua Watt
Adds a version to the environment which can be used to invalidate any previous environments on the remote compile nodes Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-02-24icecc.bbclass: Fix combining with ccacheJoshua Watt
Fixes the case where ccache is enabled along with Icecream. In these cases, there is the danger that Icecream will accidentally add the ccache executable to the toolchain, which prevents it from working. In particular, Fedora enables ccache by default via symbolic links in PATH. Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-02-24cve-check-tool: correctly exported web proxiesKonstantin Shemyak
The binary 'cve-check-update' downloads the CVE database from the Internet. If the system is behind a web proxy, the download fails, as proxy-related variables are not exported. In turn, 'cve-check-tool' does not connect to the network and correspondingly does not need exported proxies. Exported all proxy-related environment variables to 'cve-check-update' and removed the unneeded export from 'cve-check-tool'. Signed-off-by: Konstantin Shemyak <konstantin.shemyak@ge.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-02-24siteinfo: add aarch64_illp32 decodeArmin Kuster
Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-02-24update-rc.d: QA regression.Armin Kuster
I noticed many new QA warning with arm64 mulitlib suspicious values 'initd-functions-dev' in RRECOMMENDS [multilib] I believe this is a regression via commit http://cgit.openembedded.org/openembedded-core/commit/meta/classes/update-rc.d.bbclass?id=cdcebd81c872cb7386c658998e27cf24e1d0447c Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-02-24image-live.bbclass: drop support for compressed ISO imagesAlexander Kanavin
While modern Linux kernels still support it, the userspace tools haven't been updated in over a decade. Also, squashfs provides both better performance, and better compression ratio: https://elinux.org/Squash_Fs_Comparisons Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-02-24make-mod-scripts: change how some kernel module tools are builtJoe Slater
Remove do_make_scripts() from module-base.bbclass and put functionality in a recipe. This will build the scripts only once instead of each time an external module is built. [YOCTO #12228] Signed-off-by: Joe Slater <jslater@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-16package.bbclass: fix typosRandy MacLeod
All typos were in comments but some of these comments end up in run/log files. The typos can be annoying when searching the log files so they're worth fixing with ispell. Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-16externalsrc.bbclass: Suppress git errorsJoshua Watt
Suppress any warnings git might generate when searching for a valid git directory, as there are use cases where the directory is expected to not exist and the warning is superfluous Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-16utils.py: add parallel make helpersJoshua Watt
The code to extract the integer number of parallel build threads and construct a new argument from them has started to be copied in multiple locations, so create two new helper utilities to aid recipes. The first helper (parallel_make()) extracts the integer number of parallel build threads from PARALLEL_MAKE. The second (parallel_make_argument()) does the same and then puts the result back into a format string, optionally clamping it to some maximum value. Additionally, rework the oe-core recipes that were manually doing this to use the new helper utilities. Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-16classes: don't scan for CVEs in images or packagegroupsRoss Burton
There's no point even looking in the database for these, so unset CVE_PRODUCT. Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-02-16cve-check: short-circuit checking if CVE_PRODUCT isn't setRoss Burton
For some recipes is is meaningless to do a CVE check, for example packagegroups or images. Check that CVE_PRODUCT is set and short-circuit the scan if it isn't. Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-02-16cve-check: allow recipes to override their versionRoss Burton
For reasons which I don't understand, the Berkeley DB tarball is version 5.3.28 but in CVE reports the version is 11.2.5.3.28. To handle this allow recipes to override their version as well as their name. Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-02-16cve-check: put log in T so it doesn't get deleted by rm_workRoss Burton
This is where the other task logs go, so it's a sensible place to put it. Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-02-16distrodata: remove redudant *all tasks now that --runall works correctlyRoss Burton
Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-02-16archiver: remove deploy_all_archives task as --runall replaces itRoss Burton
2018-02-16kernel: Fix QA buildpaths warning for kernel modulesHe Zhe
CFLAGS is unset during kernel_do_compile and thus the default build path substitutions in DEBUG_PREFIX_MAP are missing. To enhance reproducible build for kernel modules, such as lttng-modules and cryptodev-module, this patch appends them, plus substitution of STAGING_KERNEL_DIR, to KERNEL_CC. Signed-off-by: He Zhe <zhe.he@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-02-15icecc.bbclass: Disable caret workaround by defaultJoshua Watt
Icecream has a behavior that causes it to recompile files locally if gcc generates any warnings or errors. The reason for this is that GCC tries to re-read the input file in order to display the offending line with a caret below it, which doesn't work in the remote chroot. Default to disabling this this workaround and add -fno-diagnostics-show-caret to the GCC flags so that errors and warnings generated by GCC do not show erroneous results. Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-15icecc.bbclass: Add Icecream support to SDKJoshua Watt
If icecc is inherited, generated SDKs will automatically have optional support for compiling using the Icecream distributed compiler Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-15toolchain-shar-extract: Add post-relocate scriptsJoshua Watt
Recipes can now install post-relocation scripts which will be run when the SDK is installed. Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-15icecc.bbclass: Skip canadian-cross compilesJoshua Watt
icecc.bbclass will no longer attempt to distribute cross-canadian compiles. While it is technically possible to generate a toolchain that runs on the build system and generates executables for the host system, this is not the normal way that icecc operates. There are so few of these recipes that it is probably not worth maintaining a distinct code path for them. Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-15icecc.bbclass: Fix STAGING_BINDIR_TOOLCHAIN usageJoshua Watt
STAGING_BINDIR_TOOLCHAIN is actually a path list, not a single path. Fix icecc.bbclass to try all the paths in the variable instead of treating it as a single path. Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-15icecc.bbclass: Move to shared work directoryJoshua Watt
Generate the icecc toolchains in a shared work directory. This class was already setup to correctly synchronize creating the toolchains in a shared location before the RSS changes, so return to that behavior instead of generated the toolchains in each recipe's sysroot. Additionally, it makes no sense for each recipe to generate a toolchain, only to find it was already generated and uploaded to the compile server by another recipe. Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-14package: Add INHIBIT_PACKAGE_STRIP_FILES to allow files to remain unstrippedRichard Purdie
There are cases where its useful to allow only a select few files to be excluded from the package stripping mechanism. Currently this isn't possible so add a variable to allow this. This is to be used sparingly as in general the core code should be doing the right thing. This is better than the alternative of leaving the whole package unstripped. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-09kernel-fitimage.bbclass: Fix 64 bit ENTRYPOINTVineeth Chowdary Karumanchi
64 bit entry point should be passed in 2 literals ( "0x1 0x00008000" ).ENTRYPOINT is assigned with first half only and erroring out as 'command not found' for the second half. Adding quotes while assignment fixes the issue. Signed-off-by: Vineeth Chowdary Karumanchi <vineethchowz.chowdary@xilinx.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-09utility-tasks: Drop fetchall and checkuriall tasksRichard Purdie
The same thing can now be done with "bitbake <target> --runall=fetch" or "bitbake <target> --runall=checkuri". Dropping the tasks takes "bitbake core-image-sato -g" from 22s to 8s since it no longer has to resolve the recursive dependencies (it doesn't know if any given target will touch them or not until it computes them). That is a significant enough win that its worth any impact this may have on the small number of users using the tasks. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-06npm.bbclass: Node module name and recipe name can be differentBöszörményi Zoltán
Some NPM modules have the same name as their low level dependencies. To prevent recipe naming conflicts, allow node module recipe names to start with the "node-" prefix. Signed-off-by: Zoltán Böszörményi <zboszor@pr.hu> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-02-06npm.bbclass: Fix building node modules with npm@5Böszörményi Zoltán
npm cache clear throws an error with npm@5 and suggests to use npm cache verify instead. But our cache is actually empty, so use npm cache clear --force. npm install in the source directory creates symlinks with npm@5. Use a combination of npm pack and npm install module-version.tgz that works the same way with older and new npm versions and is guaranteed to create actual copies instead of directory symlinks. This change allows using nodejs 8.x LTS, tested with 8.9.4. Signed-off-by: Zoltán Böszörményi <zboszor@pr.hu> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-02-06waf.bbclass: cd to ${S} before checking versionJoshua Watt
waf requires that the current working directory be the project root (in this case ${S} when it is invoked. The check to get the waf version was being executed as a prefunc for do_configure, which meant it was executed before the current working directory was switched to ${S}, and thus would fail with some recipes. Fix this by changing to ${S} before executing "waf --version" Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-02-06image_types: tar with --numeric-ownerMax Krummenacher
If --numeric-owner is neither used when creating or extracting the archive containing the rootfs then tar tries to change the numeric uid/gid of the files based on user/group names of the host used to extract the archive. Create the archive with --numeric-owner to remove the burden of having to use --numeric-owner when extracting. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-02-06sanity.bbclass: modified error messageJuro Bystricky
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-01-29package_rpm.bbclass: run pre/post installation scriptlets using sh -eAlexander Kanavin
This allows catching errors in the scriptlets which would otherwise go unnoticed, e.g. this sequence: ==== bogus_command proper_command ==== would work just fine. Note that this patch needs all of the preceding patches, as otherwise running failing scriptlets with -e would defer them to first boot, instead of properly reporting failure and aborting the package installation. Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-29package.bbclass: add support for pkg_postinst_ontarget()Alexander Kanavin
This function is a convenient and more readable shortcut for situations when the postinst code always needs to run on target. All commands that cannot be executed during cross-install and can only be run on target should go into this function. They will only be executed on first boot (if package was cross-installed) or immediately during package installation on target. Plain pkg_postinst() works as before: it is run during cross-install time, it can contain a request to defer to first boot, and it is also run during package installation on target. Also fix the oeqa test for this functionality to use the new function where appropriate. Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-29classes/utils: remove compatibility functionsRoss Burton
These base_* functions were moved into meta/lib/oe back in 2010 and wrappers left in utils.bbclass for compatibility. It's been eight years, so I think it's time to remove them. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-29meta: don't use deprecated functions from utils.bbclassRoss Burton
These functions were moved to meta/lib/oe in 2010 and the base_* functions in utils.bbclass were intended to be a short-term compatibility layer. They're still used in a few places, so update the callers to use the new functions. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-29testimage: enable gi test suiteRoss Burton
(From OE-Core rev: d8243c4588d4f1bb057fd917bfea130c4907e24c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-29meson: Adjust for clang compilerKhem Raj
Remove hardcoding c/c++ compiler to be gcc alone, its possible to use clang as replacement for cross compilers from meta-clang, therefore set clang/clang++ if TOOLCHAIN = "clang" Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-29package_rpm.bbclass: improve reproducibility of RPM packagesJuro Bystricky
The RPM packages contain BUILDHOST based on the current build host. This breaks reproducibility if the same package is build on two different hosts. To improve reproducible builds, we always set BUILDHOST as "reproducible". Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-01-29archiver: don't require that images are built using RPM to build SRPMsRoss Burton
The requirement for images being built using RPM is too strict to have access to the RPM functions, simply checking that package_rpm is in PACKAGE_CLASSES is sufficient. Also fail if SRPMs are requested but package_rpm isn't enabled, instead of silently not doing what we were asked. Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-01-29package_rpm.bbclass: Fix matching of architecture independent packagesOtavio Salvador
OE-Core changes the architecture independent RPM packages to use "noarch" instead of "all". This change has been included in the commit below: ,---- | commit 341810aff923ace6b1cc1e15e19383c4f8773b51 | Author: Alexander Kanavin <alexander.kanavin@linux.intel.com> | Date: Mon Jan 9 16:37:28 2017 +0200 | | package_rpm.bbclass: make architecture-independent .rpm packages | "noarch" instead of "all" | | Too many places in dnf/rpm4 stack make that assumption; let's not | fight against it. | | Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> `---- This is causing problems with machines that has "all" inside the machine name. Reported-by: Alexandru Palalau <ioan-alexandru.palalau@nxp.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-01-26kernel-yocto: make SRC_URI defconfig removal more specificBruce Ashfield
commit 7e98c295c1bb511e [kernel-yocto: ensure that only a single defconfig is processed] has an overly broad replacement strategy for 'defconfig' and hence will chop up any fragment name that happens to contain that string. If we change the processing to split on whitespace and drop any full work 'defconfig' fragments, we'll get the behaviour we want (no duplicate defconfigs, but fragments with defconfig in their name are fine). [YOCTO #12487] Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2018-01-26package_rpm: correctly handle LICENSE_${PN}Ross Burton
RPM spec files don't distinguish between spec-level license and the primary package license, so always output the License for every package (defaulting to the recipe-wide license) and use LICENSE_${PN} if set for the primary package. As the primary use of package_rpm is to generate built packages, this fixes the license fields in the generated packages. [ YOCTO #12057 ] (From OE-Core rev: 8c333e592fa7a3a887c792ac14e5cde2141b5d35) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-25classes/recipes: Convert SkipPackage -> SkipRecipeRichard Purdie
The new name is much more consistent with what this actually means. We put the pieces in place to rename everything a while back but looks like we forgot to actually do it! Fix that now. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-23image_types: add support for modern f2fs flash filesystemSaul Wold
The f2fs filesystem is a newer flash filesystem that is available in meta-filesystems. This needs a minimum sized blank space to operate in correctly. The f2fs has overprovision functionality and when building smaller filesystems, you actually need more space, therefore under 500M (or so) double the amount of space needed in order to handle the overprovision functions in f2fs. Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-23package_ipg: use xz when building packagesRoss Burton
Add a dependency on xz-native and pass '-Z xz' to opkg-build to use xz instead of gzip when building packages. Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-01-22kernel-uboot: support Image kernel type for arm64Zumeng Chen
Image will be generated for arm64, and no compression for Image in u-boot as well. So we just put the file into the right place for the rest of the build to find it. Signed-off-by: Zumeng Chen <zumeng.chen@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-01-22lib/oe/package_manager/sdk: Ensure do_populate_sdk_ext and do_populate_sdk ↵Richard Purdie
repos don't conflict The repository indexes updated during do_populate_sdk_ext and do_populate_sdk can conflcit. Add the missing lockfile calls for deb/ipk and in the rpm case, ensure different directories are used for the index for the two sdk cases. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-21populate_sdk_ext: Set cleandirs correctlyRichard Purdie
The current conflicting use of SDKDEPLOYDIR causes a race between do_populate_sdk and do_populate_sdk_ext potentially causing the SDK to either go missing or the build to fail. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>