summaryrefslogtreecommitdiffstats
path: root/meta/conf/bitbake.conf
Commit message (Collapse)AuthorAgeFilesLines
* bitbake.conf: Prevent git from detecting parent repo in recipeJoshua Watt2020-05-221-1/+5
| | | | | | | | | | | | | | | Prevents git commands run in a recipe from moving up past ${WORKDIR} when searching for a .git directory, and thus prevents them from detecting the parent OE-core .git directory. Fixes several reproducibility issues where recipes would use the OE-core version as the recipe version due to git walking up the tree. (From OE-Core rev: 02ecf3e2a98a614805f6f2574c2bf14162192d01) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake.conf: omit XZ threads and RAM from sstate signaturesAndré Draszik2020-03-061-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The number of threads used, and the amount of memory allowed to be used, should not affect sstate signatures, as they don't affect the outcome of the compression if xz operates in multi-threaded mode [1]. Otherwise, it becomes impossible to re-use sstate from automated builders on developer's machines (as the former might execute bitbake with certain constraints different compared to developer's machines). This is in particular a problem with the opkg package writing backend, as the OPKGBUILDCMD depends on XZ_DEFAULTS. Without the vardepexclude, there is no re-use possible of the package_write_ipk sstate. Whitelist the maximum number of threads and the memory limit given assumptions outlined in [2] below. (From OE-Core rev: 7927d5f6eaab48578b23db9a4c38e2f87f011353) Signed-off-by: André Draszik <git@andred.net> [1] When starting out in multi-threaded mode, the output is always deterministic, as even if xz scales down to single-threaded later, the archives are still split into blocks and size information is still added, thus keeping them compatible with multi-threaded mode. Also, when starting out in multi-threaded mode, xz never scales down the compression level to accomodate memory usage restrictions, it just scales down the number of threads and errors out if it can not accomodate the memory limit. [2] Assumptions * We only support multi-threaded mode (threads >= 2), builds should not try to use xz in single-threaded mode * The thread limit should be set via XZ_THREADS, not via modifying XZ_DEFAULTS or XZ_OPTS, or any other way * The thread limit should not be set to xz's magic value zero (0), as that will lead to single-threaded mode on single-core systems. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake.conf: more deterministic xz compression (threads)André Draszik2020-03-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | xz archives can be non-deterministic / non-reproducible: a) archives are created differently in single- vs multi-threaded modes b) xz will scale down the compression level so as to be try to work within any memory limit given to it when operating in single-threaded mode This means that due to bitbake's default of using as many threads as there are cores in the system, files compressed with xz will be different if built on a multi-core system compared to single-core systems. They will also potentially be different if built on single-core systems with different amounts of physical memory, due to bitbake's default of limiting xz's memory consumption. Force multi-threaded operation by default, even on single-core systems, so as to ensure archives are created in the same way in all cases. (From OE-Core rev: d96aa8594c8d7531da34645cadbac4f7549d8ae6) Signed-off-by: André Draszik <git@andred.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* hosttools: add utilities for all supported checksumsBartosz Golaszewski2020-02-281-1/+2
| | | | | | | | | | | Only md5sum and sha256sum are currently provided by HOSTTOOLS. Trying to use any other checksum conversion will result in a build failure. Fix it by adding other supported checksum utilities to HOSTTOOLS. (From OE-Core rev: 78155e5fcff9362049b576d20e31c3519c48485b) Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Support stripping and debug copy of static librariesMark Hatle2020-02-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By default, we won't copy and strip static libraries. However, this functionality can be useful in some cases where people are doing development on the target, and don't generally want the larger debug capable static libraries. To enable the new functionality set: PACKAGE_DEBUG_STATIC_SPLIT = '1' Add a new function splitstaticdebuginfo. Thus function will copy the unmodified static library into the specific debug directory location. By keeping an unmodified version, it is possible for a user trying to debug something to use -L /usr/lib/.debug-static and their existing build commands to switch from stripped to full debug versions. The PACKAGE_DEBUG_SPLIT_STYLE will select between two different approaches, /usr/lib/debug-static or <path>/.debug-static. Additionally you can now choose to strip static libraries to conserve space. If either 'PACKAGE_DEBUG_STATIC_SPLIT' or 'PACKAGE_STRIP_STATIC' is set to 1, the static library will be stripped. (This is not on by default, as it could make diagnosing static library usage difficult in some cases.) Add to insane.bbclass a skip to the staticdev warning for the specific -dbg package versions. (From OE-Core rev: 17fa66c8199d73f0b59b2b3e609075933bf1e74b) Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake.conf/sanity: Drop makeinfo as being required on buildhostRichard Purdie2020-02-031-1/+1
| | | | | | | | | | | | | | | | | This is a long standing 'odd' dependency which we've meant to resolve. We shouldn't need it and it introduces reproducability issues. We already have texinfo-dummy-native and texinfo-native which can provide it but the work to remove the hosttool was never completed. After cleaning up texinfo.bbclass, this can now be removed with minimal impact on build time. [YOCTO #13753] (From OE-Core rev: 0c58c479af151969dfb84d8763696da657f7248d) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake.conf: drop pod2man from hosttoolsAlexander Kanavin2020-02-031-1/+1
| | | | | | | | | | | | | | | | | pod2man writes the current date into manpages, and while later versions of it respect SOURCE_DATE_EPOCH and use that instead, earlier versions do not. This was found to cause reproducibility issues. This patch replaces host version of pod2man with one from perl-native. [YOCTO #13755] (From OE-Core rev: deda455b3c1829003a4cc14520f30e616be93dfb) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* riscv32: Bump oldest kernel to 5.4Khem Raj2020-01-271-1/+1
| | | | | | | | | | | rv32 port has bumped its minimum kernel requirement to 5.4 as the userspace ABI is still in flux until glibc port is not upstreamed. (From OE-Core rev: 1a7287369e554159914cd9a40c2e023c167fd82a) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: Enable ppc64le support for qemu-usermodeKhem Raj2020-01-221-0/+1
| | | | | | | | | glibc defines minimum kernel needed to be 3.10.0 for LE ppc64 (From OE-Core rev: c1c296a42920af6725706bdea8e61b8c4f5f14a8) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes, conf, lib: Add support for powerpc64leKhem Raj2020-01-191-0/+1
| | | | | | | | | | | | | | LE is default for modern powerpc64, power8+ PowerPC64 Little Endian Linux ABI specifies Power8 as the minimum ISA. The basic ABI can run on earlier versions of the 64 bit PowerPC ISA, but it was helpful to define a new, minimum instruction set for Linux distribution releases during the switch to Little Endian. (From OE-Core rev: b9c73fb6d1afb3367d871a3d6bf7d0d6a53968a9) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* mips: Enable gnu-hash-style on glibcKhem Raj2020-01-191-2/+2
| | | | | | | | | | | | | | | latest glibc 2.31 [1] and binutils [2] has finally added the needed support for gnu hash-style, which brings mips into same fold as other architectures Fix check for MIPS specific section for gnu hash information [1] https://sourceware.org/ml/libc-alpha/2019-06/msg00456.html [2] https://sourceware.org/ml/binutils/2019-07/msg00098.html (From OE-Core rev: 9ff90bf04a4c422feaea25180155e4954648f68c) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake.conf: Simplify TARGET_SYS/SDK_SYSRichard Purdie2020-01-011-2/+2
| | | | | | | | | | | | | As pointed out by Masahiro Yamada <masahiroy@kernel.org>, ('' or 'custom') equates to "custom" and this code seems unecesaarily complicated and unused. It was likely intended to supress the value if XXX_OS was set to '' but the code doesn't actually do that. Simplify it as we shouldn't have this indirection if we don't need it, its horrible. (From OE-Core rev: 66e4c638b942c9832da9e1d578aa03eeafae28db) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake.conf: add number_threads to BB_SIGNATURE_EXCLUDE_FLAGSChris Laplante via Openembedded-core2019-12-281-1/+1
| | | | | | | | | | Just as BB_NUMBER_THREADS is in BB_HASHCONFIG_WHITELIST. (From OE-Core rev: cc67c559a272415f511072ca1eeab96efc5a3885) Signed-off-by: Chris Laplante <chris.laplante@agilent.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* hosttools: no longer check for or provide host python 2 to buildsAlexander Kanavin2019-12-091-3/+2
| | | | | | | (From OE-Core rev: 5f8f16b17f66966ae91aeabc23e97de5ecd17447) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Remove SSTATE_HASHEQUIV_SERVERJoshua Watt2019-09-181-1/+1
| | | | | | | | | | Removes all references to the SSTATE_HASHEQUIV_SERVER variable. This variable is redundant now that BB_HASHSERVE is present. (From OE-Core rev: 54b3adb6bc90a8e4b9e92952688772ee074d36e5) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake.conf: drop FETCHCMD, GITDIR, etc fetcher over-ridesAndre McCurdy2019-08-281-12/+0
| | | | | | | | | | | | | | This completes cleanup originally proposed in 2012: http://lists.openembedded.org/pipermail/openembedded-core/2012-July/064224.html Current versions of bitbake have "sane" default fetcher commands so it's no longer necessary for bitbake.conf to over-ride them. (From OE-Core rev: 4ff058226cfc3e7d5bf9a873d1de4475f65ef2f2) Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake.conf: fix XORG_MIRROR URLOleksandr Kravchuk2019-08-211-1/+1
| | | | | | | | (From OE-Core rev: d69f67f5d8b90d7846425f0569e5c121e3bdd062) Signed-off-by: Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstatesig: Update to handle BB_HASHSERVERichard Purdie2019-08-061-1/+1
| | | | | | | | | Update the code to handle BB_HASHSERV, an autostarted bitbake internal hash equivalency server suited to local developer usage. (From OE-Core rev: 9b3d7b0b0ff27281391c2b8f2511d312d6995ed6) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: Remove remnants of bluez4 supportAdrian Bunk2019-07-151-1/+1
| | | | | | | | | | | | | | bluez4 was removed from meta-oe 2 years ago. Simplfy the setup of the two level bluetooth and bluez4/bluez5 distro features by removing the bluez4/bluez5 distro features. This also removes the no longer required bluetooth class. (From OE-Core rev: dcf889e93401f7c4de0055d53271eacc3882eccc) Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake.conf: Stop exporting TARGET_ flags variablesMike Crowe2019-06-271-4/+4
| | | | | | | | | | | | | | | | | | | | Way back in http://lists.openembedded.org/pipermail/openembedded-core/2014-April/210138.html a few of us discussed not exporting TARGET_LDFLAGS. There seemed to be support for this idea, and I modified our tree to not do so. I then seem to have dropped the ball. :( We've been running like that for over five years, and not observed any problems. It seems sensible to stop exporting TARGET_CPPFLAGS, TARGET_CFLAGS and TARGET_CXXFLAGS too. I've successfully compile-tested core-image-minimal and core-image-sato for x86_64 and qemuarm64 with these changes. (From OE-Core rev: 1b1ab93408c3ba72f855b2f4a028f1a917e9b551) Signed-off-by: Mike Crowe <mac@mcrowe.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: add iconv to HOSTTOOLSMingli Yu2019-06-211-1/+1
| | | | | | | | | | | | Some package such as vim depends on iconv. Without iconv, vim-common which is the sub-pakcage of vim may include different files as failed to use iconv to generate the *.po file. (From OE-Core rev: a7d3650e346e8a6c2c27c567c4c0bf6a47b47317) Signed-off-by: Mingli Yu <mingli.yu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake.conf: set NO_RECOMMENDATIONS with weak assignmentKai Kang2019-05-121-1/+1
| | | | | | | | | | Set NO_RECOMMENDATIONS with weak assignment then it could be set a default value somewhere else. (From OE-Core rev: f88da482d74e9f7d7c5bfc164cca52950ab6615d) Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake.conf: use https instead of httpOleksandr Kravchuk2019-05-081-10/+10
| | | | | | | | | Use HTTPS instead of HTTP whenever one is available. (From OE-Core rev: 686d0e1c6d5b9ccbcd80fcf727f18d5c2d5968f9) Signed-off-by: Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake.conf: Account for older versions of bitbakeJoshua Watt2019-05-021-0/+6
| | | | | | | | | | | | | | | Older versions of bitbake (prior to 1.42) don't expose the BB_UNIHASH variable which is being used by sstate. For compatibility with these older versions of bitbake, set BB_UNIHASH to BB_TASKHASH (which is the value it should be for non-hash equivalent aware signature generators). if bitbake hasn't already set it. [YOCTO #13314] (From OE-Core rev: de1782b23f8a98df3b42cb57bbcdff690bfa2343) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake.conf: add git-lfs to HOSTTOOLS_NONFATALNaveen Saini2019-04-291-0/+3
| | | | | | | | | | | | | | | This provides git large file storage (lfs) extension. Include git-lfs conditionally. If git-lfs is present on host and repo has lfs pointers, then git-lfs will be used. If git-lfs is not present on host, it will be ignored. [YOCTO #13198] (From OE-Core rev: 2968ad8514721ec06e67aaf3fd5ec7b247b3431d) Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: add readlink to HOSTTOOLSRoss Burton2019-03-061-1/+1
| | | | | | | | | If systemd has EFI enabled it uses readlink. (From OE-Core rev: ace3c0fff40604450ea8f0a669aaa37fbe730069) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Add source package to ${PACKAGES}Joshua Watt2019-03-061-1/+10
| | | | | | | | | | | | | | | | | | | | Permanently adds the -src source package to ${PACKAGES} instead of relying on creating it dynamically at packaging time. The source package is now defined in bitbake.conf, just like -dev and -dbg packages. For compatibility, the -src package is still added dynamically if it was missing, since some recipes have a tendency to completely override PACKAGES and do so without manually adding back the -src package. This allows RDEPENDS on the -src packages, which wasn't previously possible. [YOCTO #13203] (From OE-Core rev: b25e1edf0204fc2f64aa8d66e09b8e2d67b90e17) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake.conf: Drop -fno-omit-frame-pointerKhem Raj2019-03-021-2/+2
| | | | | | | | | Let -Og decide the best debugging experience (From OE-Core rev: e9a6f67e12864d59bb9178e87635eed2d2785a2a) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake.conf: Use -Og in DEBUG_OPTIMIZATIONKhem Raj2019-03-021-2/+2
| | | | | | | | | | | | -Og is for optimized debugging experience. this makes this consistent across different compilers especially gcc and clang, -O in clang is equal to -O2 where as in gcc its similar to -O1 so it was not giving consistent debugging experience across compilers (From OE-Core rev: 16643b03227466e2c80a24c2d079fe36e89553c1) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* default-distrovars: Drop DISTRO_FEATURES_LIBCKhem Raj2019-02-281-2/+2
| | | | | | | | | | | After eglibc was merged into glibc, Kconfig support was also dropped so these libc features therefore are not effective anymore and can be removed (From OE-Core rev: c62b1cc06613a4cdddf53290e6203559f43fc62d) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake.conf: update DEBUG_PREFIX_MAP with -fmacro-prefix-mapKai Kang2019-02-151-1/+2
| | | | | | | | | | | | | | | | | | | | | | Add option '-fmacro-prefix-map' to DEBUG_PREFIX_MAP. It could resolve buildpaths qa warnings which caused by macros '__FILE__' and '__BASE_FILE__'. Though option '-ffile-prefix-map' could cover '-fdebug-prefix-map' and '-fdebug-prefix-map' both, it is not supported by 'as' and causes buildpaths qa warnings of glibc: | QA Issue: File | /work/i586-poky-linux/glibc/2.29-r0/packages-split/glibc-dev/usr/lib/crti.o | in package contained reference to tmpdir So only add '-fmacro-prefix-map' to DEBUG_PREFIX_MAP rather than replace '-fdebug-prefix-map' with '-ffile-prefix-map'. (From OE-Core rev: c62ac539e58b028b7508385c2c9be3561261f2e8) Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image_types.bbclass: Set memory usage limit and CPU threads for xzKhem Raj2019-02-141-0/+3
| | | | | | | | | | | | | | | | | | | | when building with opkg backend and huge packages e.g. chromium/llvm all going in parallel, memory pressure causes xz to catapult with do_package_write_ipk: Failed to create package, opkg-build failed with: xz: (stdin): Cannot allocate memory since there are many tasks going on in parallel, xz adds to memory pressure and it wants it all, put an upper limit for memory xz can use We add a variable XZ_MAXRAM with 30% of RAM limit and can be customized if builders have more memory one can set it like XZ_DEFAULTS = "-M 0 -T 0" (From OE-Core rev: 28b277a93a34bba033d9d0d9f3227c9453efd384) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: use GCC ar and ranlib wrappersRoss Burton2019-02-141-2/+2
| | | | | | | | | | | | Instead of calling 'ar' and 'ranlib' directly, set AR=gcc-ar and RANLIB=gcc-ranlib. This fixes builds with link-time optimisation where more arguments would need to be passed to ranlib but gcc-ranlib will do that automatically. (From OE-Core rev: d9f37a25adba8d6638abbe7bc0503b09f696c2fc) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake.conf: Add seq to HOSTTOOLSJacob Kroon2019-01-311-1/+1
| | | | | | | | | | | | | | | This fixes detecting available signals when configuring perl. (cnf/configure_sigs.sh) Without this, running aclocal prints warnings about missing signals, which can be further demonstraded by running perl -le 'print for keys %SIG' (From OE-Core rev: ec638ae0775c79a00b364bc59e099edc8f1f201e) Signed-off-by: Jacob Kroon <jacob.kroon@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Change default debug split to make separate source packagesJoshua Watt2019-01-281-0/+2
| | | | | | | | | | | | | Changes the default PACKAGE_DEBUG_SPLIT_STYLE to generate separate source and debug packages. SDKIMAGE_FEATURES is updated to include the source packages so that there is not change for the SDK contents. [YOCTO #12931] (From OE-Core rev: 8df14b678e44cc749b361224af05ccbcfa9ae9b5) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake.conf: Add DEBUG_BUILD to vardepsRobert Yang2019-01-261-1/+2
| | | | | | | | | Otherwise the recipe would not be rebuilt when enable/disable DEBUG_BUILD. (From OE-Core rev: e9b21f586980f6d4fbb213845f5e788b6c8d3813) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake.conf: Add CCACHE_TOP_DIR to BB_HASHBASE_WHITELISTRobert Yang2019-01-241-1/+1
| | | | | | | | | As we did for SSTATE_DIR. (From OE-Core rev: 9c6ad57c539458a060b99545a71b595a5e9d9261) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake.conf: Enable -fdebug-prefix-map for nativesdkRobert Yang2019-01-141-1/+1
| | | | | | | | | | | Files like lib/.debug/libgcc_s.so.1 from nativesdk-libgcc-dbg contains buildpath without -fdebug-prefix-map, the root cause is object files (.o) contain buildpath, and then ccache can't use them correctly. (From OE-Core rev: b0b4d1b32203bb74fc3aec9b9a0d14bf7a52a0af) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ccache.bbclass: Refactor it to make it more reliableRobert Yang2019-01-141-5/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous ccache.bbclass has the following problems: - It uses host's ccache for native recipes, but this may not work on some hosts, for example, it nerver works on my Ubuntu 14.04.4, there are always build failures (m4-native failed at do_configure, and others will also be failed if I disable CCACHE for m4-native) - native/nativesdk/cross/crosssdk recipes use host's ccache, but target uses ccache-native, this may confuse user. - The target recipes may use both host's ccache and ccache-native, this may cause unexpected problems and be hard to debug. This is because ccache-native is in SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS, so ccache-native may not be present when rebuild target recipes, and then it would use hosttools/ccache, but the previous ccache files were generated by ccache-native. - Target recipes can't use ccache when no ccache is installed on the host: CCACHE = "${@bb.utils.which(d.getVar('PATH'), 'ccache') and 'ccache '}" After refactored: All types recipes (native, target and others) will use ccache-native except ccache-native itself, host's cache won't be used any more. It is more reliable now, which will work everywhere when ccache-native can be built. And now we need use "CCACHE_DISABLE = '1'" to disable ccache for the recipe rather than "CCACHE = ''" since we set CCACHE in anonymous function, and d.getVar('CCACHE') works after "CCACHE ??=" which is set in bitbake.conf, so we can't check whether CCACHE is set or not in anonymous function since it is always set. Use CCACHE_DISABLE to disable it would be more clear. (From OE-Core rev: b25271b65262f70d849a4861da216c9be6c54d53) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake.conf: add --enable-new-dtags to linkerAlexander Kanavin2019-01-111-0/+1
| | | | | | | | | | | | | | | | | | | Various versions of ld have different defaults for this (even between e.g. Ubuntu 16.04 and 18.04). This has the consequence of putting either RPATH or RUNPATH into the binary, depending on the linker, which have different priorities vs LD_LIBRARY_PATH env var. Also, I think, the original executable binary is looked up for the tags when resolving a dependency of a shared library when using RPATH, but not RUNPATH. Let's make this deterministic. (From OE-Core rev: 661d700ab7428b0ad982bfd2714cca134bad85a2) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Implement hash equivalence sstateJoshua Watt2019-01-081-1/+3
| | | | | | | | | | | | | | | | | | | | | Converts sstate so that it can use a hash equivalence server to determine if a task really needs to be rebuilt, or if it can be restored from a different (equivalent) sstate object. The unique hashes are cached persistently using persist_data. This has a number of advantages: 1) Unique hashes can be cached between invocations of bitbake to prevent needing to contact the server every time (which is slow) 2) The value of each tasks unique hash can easily be synchronized between different threads, which will be useful if bitbake is updated to do on the fly task re-hashing. [YOCTO #13030] (From OE-Core rev: d889acb4f8f06f09cece80fa12661725e6e5f037) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake.conf: Cleanup deprecated function usageRichard Purdie2018-12-081-3/+3
| | | | | | | | | This function was moved in bitbake a long time ago, use the preferred version to avoid a Deprecation warning. (From OE-Core rev: aeb189ac8bc6625ec936fd69f18974ebde758946) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-init-buildenv/base: Relax python version checks in favour of HOSTTOOLS ↵Richard Purdie2018-11-071-1/+2
| | | | | | | | | | | | | | manipulation Several distros are now shipping "python" as python v3 contra to the original python guidelines. This causes users confusion/pain in trying to use our tools. We can just force "python" to "python2" within HOSTTOOLS to avoid this issue and hide the complexity from the user. (From OE-Core rev: b06a6cde5c5503f456f260c773cf126085e18c8d) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake.conf: Make BUILD_OPTIMIZATION respect to DEBUG_BUILDRobert Yang2018-09-131-1/+1
| | | | | | | | | | | We may also need debug native tools, so make BUILD_OPTIMIZATION respect to DEBUG_BUILD, otherwise, we need set CFLAGS in the recipe which isn't convenient. (From OE-Core rev: 5db09f7ad007d1def009a60d7d9bf9c13c0faa4e) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe/utils.py: Add vartrue()Robert Yang2018-09-131-1/+1
| | | | | | | | | | It can be used to simplify code like: "${@['iffalse', 'iftrue'][var]}" (From OE-Core rev: fc5a5af7bc3619f575988a75efc0c4fe15478b2d) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* recipes: Update git.gnome.org addresses after upstream changesRichard Purdie2018-09-041-1/+1
| | | | | | | | | | | | | | | git.gnome.org is no more. It has ceased to be. It's an ex-git. Please see here: https://about.gitlab.com/2018/05/31/welcome-gnome-to-gitlab/ Note that gitlab does not support git://, only https:// (and ssh). [Commit message from Alexander Kanavin] (From OE-Core rev: 8382cdc0888ca645a44aacaac1155afb8dcde979) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake.conf, kernel-artifact-names.bbclass: introduce IMAGE_VERSION_SUFFIX ↵Martin Jansa2018-08-211-2/+3
| | | | | | | | | | | | instead of using DATETIME directly * this makes it easier to use different version string than DATETIME, e.g. set from jenkins job while keeping the suffix consistent across all artifacts stored in DEPLOYDIR (From OE-Core rev: 1245935b9bf32e0321d8ff12492983ba8506190a) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* multiconfig: Enable multiconfig dependencies on oe-coreAlejandro Enedino Hernandez Samaniego2018-08-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch enables multiconfig dependencies (mcdepends) to be used on recipes using the following format: task[mcdepends] = "multiconfig:FROM-MC:TO-MC:PN:task-to-depend-on" For the sake of simplicity consider the following example: Assuming we have set up multiconfig builds, one for qemux86 and one for qemuarm, named x86 and arm respectively. Adding the following line to an image recipe (core-image-sato): do_image[mcdepends] = "multiconfig:x86:arm:core-image-minimal:do_rootfs" Would state that core-image-sato:do_image from x86 will depend on core-image-minimal:do_rootfs from arm so it can be executed. This patch makes modifications to bitbake.conf to enable mcdepends, and to sstatesig and staging.bbclass to avoid conflicts between packages from different multiconfigs. [YOCTO #10681] (From OE-Core rev: f71bfe833c657244d2fd07b3b71e86081d7d1c04) Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate/bitbake.conf: Use pigz if availableRichard Purdie2018-07-241-1/+1
| | | | | | | | | | | | | | Currently the compression of sstate objects is single threaded. In the case of ltp, this takes around 33s. If we add pigz into the list of non-fatal HOSTTOOLS and then use if it available when building the sstate object, this time drops to around 6s. Since pigz is now widely available this is an optimisation we should utilise. (From OE-Core rev: 2de56aa0792ec93445130d801936a8ea643fad27) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake.conf: Allow BBINCLUDED to be unsetRichard Purdie2018-06-281-1/+1
| | | | | | | | | | For some reason the layer index is expanding HOSTTOOLS before BBINCLUDED is set so recent changes break it. This adds in a simple workaround to stop it b reaking allowing the index to function correctly again. (From OE-Core rev: 40a904bf8bc1279c3da0893c003f740f1d2066c2) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>