summaryrefslogtreecommitdiffstats
path: root/meta/classes
Commit message (Collapse)AuthorAgeFilesLines
* sstate: Ensure mkdir happens before mktempRichard Purdie2020-01-111-3/+2
| | | | | | | | | | | | | This avoids a directory not present error. Fix a comment typo whilst here. (From OE-Core rev: c5f285f83ea1e322d5124847904adf488d3e790a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 1360d8d7d99b70a80c8cdbc1fc6d9e6752483139) Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Ensure target sstate directory exists if unihash changesRichard Purdie2020-01-111-2/+2
| | | | | | | | | | | | The previous patches meant the mkdir might no longer match the final target directory. Fix this. (From OE-Core rev: 7ce42a30a7508e8fcb496ba05cf6967dc04a988e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 0af4dae84099e8632a9ea6a4afdbea2f232bb170) Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Ensure SSTATE_PKG is reloaded when handling siginfoRichard Purdie2020-01-111-1/+2
| | | | | | | | | | | | STATE_PKG may have been changed by sstate_report_unihash so don't cache the variable's value. (From OE-Core rev: bfed8be91525478ecdf6b64e6308958b3271c8cc) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit be29a25400c4ea285ab3f588c5831f00ba5d4f63) Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Stop overwriting SSTATE_PKGRichard Purdie2020-01-111-4/+4
| | | | | | | | | | | | | | | Its rather antisocial to overwrite SSTATE_PKG with an expanded form for the variable and it stops the value of BB_UNIHASH being changed when the package is written out. Instead of expanding the variable, append to it instead to avoid this rather hard to figure out behaviour and allow the siggen code to behave as expected. (From OE-Core rev: fe454e9c7837a903ffcff4c6f8a25070a0f0af82) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 62eca02024b4c44d618ab9bcf87a3166c886dadb) Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Add ability to hide summary output for sstateRichard Purdie2020-01-111-11/+12
| | | | | | | | | | | | | Its confusing to keep seeing sstate summary messages when hash equivalency is active. This adds an option to control it. A default value is given which maintains compatibility with different bitbake versions. (From OE-Core rev: a67bd96de2b253c1d4c3bd82120f28dee06a4bf6) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 038004866ff6650bcff7bb1bde36de6c0f451d29) Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu-helper-native/systemtap-native: Ensure sysroots are populated with ↵Richard Purdie2019-12-312-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | dependencies As Alex Kanavin found, dependencies aren't always populated, particularly with the hash equivalence server enabled locally: 'bitbake core-image-minimal' with gtk+ disabled. can confirm with: $ tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin/qemu-system-x86_64 -display gtk qemu-system-x86_64: Display 'gtk' is not available. Enable gtk in local.conf with: PACKAGECONFIG_append_pn-qemu-system-native = " gtk+" 'bitbake core-image-minimal', without deleting tmp/ $ tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin/qemu-system-x86_64 -display gtk qemu-system-x86_64: Display 'gtk' is not available. This change ensures the dependencies are correctly handled as the full sysroot is always depended upon even if things come from sstate. (From OE-Core rev: d40853b10dd9f01d6a8dd4edcb941cfa8a544922) (From OE-Core rev: 309424458c73b14a4a4020cd508c2bf37bf2bcbe) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cve-check: Switch to NVD CVE JSON feed version 1.1Niko Mauno2019-12-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Switch to recently released version 1.1 of NVD CVE JSON feed, as in https://nvd.nist.gov/General/News/JSON-1-1-Vulnerability-Feed-Release it is mentioned that Due to changes required to support CVSS v3.1 scoring, the JSON vulnerability feeds must be modified. This will require the consumers of this data to update their internal processes. We will be providing the JSON 1.1 schema on the data feeds page and the information below to prepare for this transition. ... The JSON 1.1 data feeds will be available on September 9th, 2019. At that time the current JSON 1.0 data feeds will no longer available. This change was tested briefly by issuing 'bitbake core-image-minimal' with 'cve-check.bbclass' inherited via local.conf, and then comparing the content between the resulting two 'DEPLOY_DIR_IMAGE/core-image-minimal-qemux86.cve' files, which did not seem to contain any other change, except total of 167 entries like CVSS v3 BASE SCORE: 0.0 were replaced with similar 'CVSS v3 BASE SCORE:' entries which had scores that were greater than '0.0' (up to '9.8'). (From OE-Core rev: cc20e4d8ff2f3aa52a2658404af9a0ff358cc323) (From OE-Core rev: c92b8804d6e59b2707332859957f0e6a46db0a73) Signed-off-by: Niko Mauno <niko.mauno@iki.fi> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meson.bbclass: Prevent meson from downloading wrapped projectsPeter Kjellerstedt2019-12-161-1/+2
| | | | | | | | | | | | | | | | | Meson has support for downloading subprojects using something called wraps. This interferes with bitbake's expectations of all downloads being done by the fetch task. To avoid this, tell meson to not download any wraps. Suggested-by: Mattias Jernberg <mattias.jernberg@axis.com> (From OE-Core rev: b547637ad84bad8f7fe27193bf636541f8588ae8) (From OE-Core rev: 4170718196ca734e5dd7635fc98b55ea47a74e88) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* base.bbclass: add dependency on pseudo from do_prepare_recipe_sysrootMattias Hansson2019-12-161-0/+1
| | | | | | | | | | | | | | | | | | do_prepare_recipe_sysroot may perform groupadd, which requires pseudo. However, do_prepare_recipe_sysroot does not depend on pseudo explicitly, which sometimes causes a build error when building a recipe that adds groups. This issue only occurs when executing do_prepare_recipe_sysroot for a recipe that adds groups before finishing a task that depends on pseudo for a recipe that doesn't add groups. (From OE-Core rev: e20a67fe9cc7de042f39f3c39b74de61dc5c6dfe) Signed-off-by: Mattias Hansson <mattihn@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cve-check: fetch CVE data once at a time instead of in a single callRoss Burton2019-11-251-10/+10
| | | | | | | | | | | | | | | | | | | | | This code used to construct a single SQL statement that fetched the NVD data for every CVE requested. For recipes such as the kernel where there are over 2000 CVEs to report this can hit the variable count limit and the query fails with "sqlite3.OperationalError: too many SQL variables". The default limit is 999 variables, but some distributions such as Debian set the default to 250000. As the NVD table has an index on the ID column, whilst requesting the data CVE-by-CVE is five times slower when working with 2000 CVEs the absolute time different is insignificant: 0.05s verses 0.01s on my machine. (From OE-Core rev: 53d0cc1e9b7190fa66d7ff1c59518f91b0128d99) (From OE-Core rev: 3ded9a64c95ae02df7562fc69e2af08c150d2452) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cve-check: neaten get_cve_infoRoss Burton2019-11-251-13/+5
| | | | | | | | | | | | | Remove obsolete Python 2 code, and use convenience methods for neatness. (From OE-Core rev: f19253cc9e70c974a8e21a142086c13d7cde04ff) (From OE-Core rev: 98162c04c877925c737674a1635b08cf998b92f5) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cve-check: rewrite look to fix false negativesRoss Burton2019-11-251-29/+34
| | | | | | | | | | | | | | | | | | | A previous optimisation was premature and resulted in false-negatives in the report. Rewrite the checking algorithm to first get the list of potential CVEs by vendor:product, then iterate through every matching CPE for that CVE to determine if the bounds match or not. By doing this in two stages we can know if we've checked every CPE, instead of accidentally breaking out of the scan too early. (From OE-Core rev: d61aff9e22704ad69df1f7ab0f8784f4e7cc0c69) (From OE-Core rev: 0f42a1d4dbb74ab39e81449cf222302bcc04f7db) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cve-check: we don't actually need to unpack to checkRoss Burton2019-11-251-2/+1
| | | | | | | | | | | | | | The patch scanner works with patch files in the layer, not in the workdir, so it doesn't need to unpack. (From OE-Core rev: 2cba6ada970deb5156e1ba0182f4f372851e3c17) (From OE-Core rev: 02e6b727bf62858be7dba061879a6d57bd5a725d) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sanity: Add check for tar older than 1.28Richard Purdie2019-11-251-1/+4
| | | | | | | | | | | | Older versions break opkg-build when reproducible builds are enabled. Rather than trying to be selective based on which features are enabled, lets just make this a minimum version. (From OE-Core rev: 96f5c7c2f8dda7d47af5398b3463aa25921f5301) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rm_work: Promote do_image_qa stamps to setscene versionsJacob Kroon2019-11-131-0/+9
| | | | | | | | | | | | [ YOCTO #13212 ] Suggested-by: Romuald Jeanne <romuald.jeanne@st.com> (From OE-Core rev: 624897ee788fe026a04951baaf770daca43e892c) Signed-off-by: Jacob Kroon <jacob.kroon@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cve-check: failure to parse versions should be more visibleRoss Burton2019-11-131-2/+2
| | | | | | | (From OE-Core rev: 6b5cadd1a5822641285946f7e2ad56e294658621) Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cve-check: ensure all known CVEs are in the reportRoss Burton2019-11-131-2/+7
| | | | | | | | | | | | CVEs that are whitelisted or were not vulnerable when there are version comparisons were not included in the report, so alter the logic to ensure that all relevant CVEs are in the report for completeness. (From OE-Core rev: 29d926802e7f8b4614a2dafa0af4c923912e1811) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* icecc: Export ICECC_CC and friends via wrapper-scriptDouglas Royds via Openembedded-core2019-10-291-12/+20
| | | | | | | | | | | | | | | | | | | By exporting ICECC_CC, ICECC_CXX, and ICECC_VERSION in a wrapper-script, and putting this wrapper-script in the PATH, the Makefiles generated by CMake or the autotools are able to function correctly outside of bitbake. This provides a convenient developer workflow in which the modify-compile-unittest cycle can happen directly in the ${B} directory. The `rm -f $ICE_PATH/$compiler` line is transitional, and can go at some later date (October 2020 or later, perhaps). (From OE-Core rev: 0f47d4ef50d6b0732ac40f7ede31f554a757864c) Signed-off-by: Douglas Royds <douglas.royds@taitradio.com> Signed-off-by: Ross Burton <ross.burton@intel.com> (cherry picked from commit 40d74cb1d0ddce930267e49764cacb263b244091) Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* uninative: check .done file instead of tarballStefan Agner2019-10-291-1/+1
| | | | | | | | | | | | | | | | In case multiple builds share UNINATIVE_DLDIR's location, one build might be in the process of downloading the tarball while another is just checking whether the tarball exists. Check for the done file instead and rely on the fetchers lockfile mechanism in case two builds are running. (From OE-Core rev: 956ae2c2a72914c7e9a1d59e5906c7fc75670a39) Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit a1c95580549cb4f77601e62c7f026b19c752d853) Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sanity: check the format of SDK_VENDORRoss Burton2019-10-291-0/+5
| | | | | | | | | | | | | | | | | | If SDK_VENDOR isn't formatted as -foosdk and is instead for example -foo-sdk then the triple that are constructed are not in fact triples, which results in mysterious compile errors. Check in sanity.bbclass so this failure is detected early. [ YOCTO #13573 ] (From OE-Core rev: 95d3ca54453cdb0662fae2a2cf7e8173611c86f4) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit b0efd8d4d0dbc30e6505b42f5603f18fa764d732) Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd.bbclass: add RMINITDIR for nativesdk buildsTrevor Gamblin2019-10-091-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | nativesdk builds such as nativesdk-dnf are installing systemd service files, leading bitbake to throw installed-vs-shipped warnings, but these are not needed in nativesdk: WARNING: nativesdk-dnf-4.2.2-r0 do_package: QA Issue: nativesdk-dnf: Files/directories were installed but not shipped in any package: /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/systemd /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/systemd/system /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/systemd/system/dnf-automatic.timer /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/systemd/system/dnf-makecache.timer /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/systemd/system/dnf-automatic.service /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/systemd/system/dnf-makecache.service /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/systemd/system/dnf-automatic-notifyonly.timer /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/systemd/system/dnf-automatic-download.service /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/systemd/system/dnf-automatic-download.timer /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/systemd/system/dnf-automatic-notifyonly.service /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/systemd/system/dnf-automatic-install.timer /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/systemd/system/dnf-automatic-install.service Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install. nativesdk-dnf: 13 installed and not shipped files. [installed-vs-shipped] Rather than have each recipe remove the files, an RMINITDIR case for nativesdk builds should be added to systemd.bbclass. (From OE-Core rev: 86092fdac2ed2935b25a6c05f16055df77a10575) Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* toolchain-scripts: export READELFRoss Burton2019-10-091-0/+1
| | | | | | | | | | | | | The readelf binary is prefixed, so export READELF in the SDKs so that the correct readelf binary can be used. This fixes problems with the symbol extractor in Meson with multilib SDKs where readelf can't be found correctly. (From OE-Core rev: 2795e3bfdefc9f48294802ea7301dae1910553dc) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane: add check for perllocal.podRoss Burton2019-10-081-1/+18
| | | | | | | | | | | | | | | | | | | perlocal.pod is an index file of locally installed modules and so shouldn't be installed by any distribution packages. cpan.bbclass already sets NO_PERLOCAL to stop this file being generated by most Perl recipes, but if a recipe is using MakeMaker directly (such as rrdtool) then they might not be doing this correctly. To avoid multiple packages shipping this file and then failing to install together, add a QA test to check if this file exists and by default emit an error if it does. [ YOCTO #13491 ] (From OE-Core rev: 5d16d265cc61c4e279fe3bf66016a00d9daa4068) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel-devicetree.bbclass: add missing backslashMartin Jansa2019-10-081-1/+1
| | | | | | | | | | | * in oe-core commit 1860d9d3c62e2e94cd68a809385873ffd8270b6d I've accidentally removed the backshash here Reported-By: "Hilsdorf, Jan (LAWO)" <Jan.Hilsdorf@lawo.com> (From OE-Core rev: 44f0047c0268f3e9f9fdf78f93bdad9bfe491174) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rootfs-postcommands: Avoid use of an hard-coded valueAlessio Igor Bogani2019-10-021-1/+1
| | | | | | | (From OE-Core rev: 520c6f30cd571166a0d890d86b461f24f7a6998f) Signed-off-by: Alessio Igor Bogani <alessio.bogani@elettra.eu> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* base: Improve module import error messageRichard Purdie2019-10-021-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | Turn: ERROR: Unable to parse Var <OE_IMPORTED[:=]> Traceback (most recent call last): File "Var <OE_IMPORTED[:=]>", line 1, in <module> File "/media/build1/poky/meta/classes/base.bbclass", line 35, in oe_import(d=<bb.data_smart.DataSmart object at 0x7f1d941ad208>): for toimport in oe.data.typed_value("OE_IMPORTS", d): > imported = __import__(toimport) inject(toimport.split(".", 1)[0], imported) File "/media/build1/poky/meta/lib/oe/sstatesig.py", line 267, in <module>: >class SignatureGeneratorOEEquivHash(SignatureGeneratorOEBasicHashMixIn, bb.siggen.SignatureGeneratorUniHashMixIn, bb.siggen.SignatureGeneratorBasicHash): name = "OEEquivHash" bb.data_smart.ExpansionError: Failure expanding variable OE_IMPORTED[:=], expression was ${@oe_import(d)} which triggered exception AttributeError: module 'bb.siggen' has no attribute 'SignatureGeneratorUniHashMixIn' into: ERROR: Error importing OE modules: module 'bb.siggen' has no attribute 'SignatureGeneratorUniHashMixIn' which can then trigger a version mismatch error message. (From OE-Core rev: 5b01726d1cf478aba8d1acc73e29f6cab0c9371e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* packagegroup: fix a comment regarding PACKAGE_ARCHAndré Draszik2019-10-021-1/+1
| | | | | | | | | | | | | | | | packagegroups whose dependencies are affected by MACHINE_FEATURES need to be marked as MACHINE_ARCH *before* inheriting the packagegroup class, not after. This has changed in commit 9c826962ec8f ("packagegroup: Make allarch inherit conditional"), commit 4f3f34deafe4 in poky but the comment here wasn't updated at the time. (From OE-Core rev: 7eae2502936aa36401491cd1e0e5975db96529ae) Signed-off-by: André Draszik <andre.draszik@jci.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bash-completion: add image featureJoe Slater2019-10-022-0/+2
| | | | | | | | | | | Create bash-completion-pkgs image feature to load *-bash-completion packages into an image. The packages are created by the bash-completion bbclass but are currently never loaded. (From OE-Core rev: d47c5981877555a5a6b9aeb93ea6f3c1aa97fc44) Signed-off-by: Joe Slater <joe.slater@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* icecc: Don't use icecc when INHIBIT_DEFAULT_DEPS is setDouglas Royds2019-10-021-0/+4
| | | | | | | | | | | | We don't have a compiler, so no icecc. Silences a spew of warnings of the form: do_configure: Cannot use icecc: could not get ICECC_CC or ICECC_CXX (From OE-Core rev: 0315aabeff8e6483b737d0e23d6841f1394ad3c8) Signed-off-by: Douglas Royds <douglas.royds@taitradio.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/reproducible_build: Create SDE destinationJoshua Watt2019-10-021-0/+1
| | | | | | | | | Creates the source data epoch file destination directory when restoring from sstate (From OE-Core rev: f5259a62d444dfc221a9ba592dbca35564f794ac) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* populate_sdk_ext: Fix for hash equivRichard Purdie2019-09-301-0/+10
| | | | | | | | | Write out the hash equiv cache file into any eSDK so that it doesn't rely on having to call the hash server for the basic data requests. (From OE-Core rev: 05c6842e747261b3350d6325e238429cf8728ca0) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel.fitimage.bbclass: remove ramdisk_ctypeHeiko Schocher2019-09-271-20/+1
| | | | | | | | | | | | | | | | | | | | | | | set in the ramdisk node the compression property always to "none", as U-Boot nowadays since commit: b1307f884a91 ("fit: Support compression for non-kernel components (e.g. FDT)") decompress non kernel components. Setting compression to the used comression algorithm now, will end in fail of your kernel boot with the ramdisk. This issue is fixed since commit: bddd98573465 ("fit: Do not automatically decompress ramdisk images") which now prints a warning in U-Boot, instead of decompressing the ramdisk, but we should setup compression property correct. (From OE-Core rev: f963a51544a9a7b1abbaa87c95b3c0279847d697) Signed-off-by: Heiko Schocher <hs@denx.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/reproducible_build: Move SDE deploy to another directoryJoshua Watt2019-09-271-2/+10
| | | | | | | | | | | | | | | | | | | | | | | The deployment of the source date epoch file had a race condition where any task attempting to read from the file would race with creation of the sstate archive for the do_deploy_source_date_epoch task. The creation of the sstate archive requires moving the directory to a temporary location, then moving it back. This means that the file disappears for a short period of time, which will cause a failure if any other task is running and trying to open the file to get the current source date epoch. The solution is to copy the source date epoch file to a separate directory when deploying so the file never disappears. When the file is restored from sstate, it is moved to the correct location after being extracted. [YOCTO #13501] (From OE-Core rev: ac27d12fe5480e9b8cc93de6a32bf9631c52d7f4) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/image-live.bbclass: Don't hardcode cpio.gzBöszörményi Zoltán via Openembedded-core2019-09-271-1/+1
| | | | | | | | | There's INITRAMFS_FSTYPES that can be set differently. (From OE-Core rev: 141d02400696020e83df3edcf13021fde139d261) Signed-off-by: Böszörményi Zoltán <zboszor@pr.hu> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package: Multiple shlib_providers for the same file should errorJonathan Marler2019-09-271-10/+11
| | | | | | | | | | | | | | In the case where multiple packages provide the same file, we show an error. Otherwise, python will generate a different build depending on which provider appears first in the dictionary. On my system this order changes every time I run bitbake causing intermittent build differences. Add a sorted() to fix the determinism issue too. (From OE-Core rev: 61c41369003444bfbf1c45e7cfd2752a4b7bc22f) Signed-off-by: Jonathan Marler <johnnymarler@hp.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package_rpm.bbclass: Remove a misleading bb.note()Peter Kjellerstedt2019-09-191-3/+2
| | | | | | | | | | | | | It should have been removed in 3db9d865 (classes/package_rpm.bbclass: Enhance diagnostic messages) when it was split in two new notes. Also change the casing of two other notes to align them with the other notes. (From OE-Core rev: b40e245795cd19c7d36df096fa1f30c75490ce46) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meson.bbclass: Handle microblaze* mapping to cpu familyNathan Rossi2019-09-191-0/+2
| | | | | | | (From OE-Core rev: 01692856b8294109ac553c5c0cc23dbb5f1a8970) Signed-off-by: Nathan Rossi <nathan@nathanrossi.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* externalsrc: stop rebuilds of 2+ externalsrc recipes sharing the same git repoQuentin Schulz2019-09-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | externalsrc do_configure task watches oe-devtool-tree-sha1 file and its checksum. That file basically contains the result of `git add -A ${EXTERNALSRC} && git write-tree` which is the hash of temporary "commit" of the non committed changes. This file is stored in the .git directory of the git repo of the externalsrc recipe. do_configure then depends on the checksum of oe-devtool-tree-sha1 file. If 2+ recipes with different externalsrc paths but same git repo (e.g. one recipe at /some/path and the other at /some/path/subdir) are parsed, this oe-devtool-tree-sha1 will be overwritten by those recipes at parsing time since .git is shared between those recipes. If there is one non committed git change in /some/path but not in /some/path/subdir, the oe-devtool-tree-sha1 of both recipes will be different. What will happen is that recipe1 will watch over the oe-devtool-tree-sha1 with a specific checksum, fill in file-checksums for do_configure correctly, then recipe2 will watch over the identically named file with different content also fill in the file-checksums varflag. When do_configure of recipe1 will be evaluated for re-execution, oe-devtool-tree-sha1 will be of the value of what is watched over by recipe2, thus triggering a rebuild of recipe1. This behavior is not always reproducible which I'm guessing is due to a small window between recipe1 putting info into oe-devtool-tree-sha1 and calculating the checksum of that file and recipe2 putting its content into oe-devtool-tree-sha1. By appending the name of the recipe to oe-devtool-tree-sha1, we make sure that a recipe won't have its oe-devtool-tree-sha1 overwritten by another recipe sharing the same externalsrc git repo. (From OE-Core rev: 1b727dd7295a7a7fe17800f8038242efbf7fe2b7) Signed-off-by: Quentin Schulz <quentin.schulz@streamunlimited.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* populate_sdk_ext: Introduce mechanism to keep nativesdk* sstate in esdkJaewon Lee2019-09-191-1/+27
| | | | | | | | | | | | | | | | | | | | | | When doing a devtool build-sdk from within an esdk all nativesdk components would be rebuilt. This patch introduces SDK_INCLUDE_NATIVESDK flag to toggle the inclusion of nativesdk packages when creating the esdk sstate Currently locked-sigs.inc is generated during do_sdk_depends which doesn't pull in nativesdk packages. Generating another locked-sigs.inc in do_populate_sdk_ext and pruning it to only nativesdk* packages by using a modified version of the already existing function prune_locked_sigs and merging it with the current locked-sigs.inc Also adding SDK_INCLUDE_NATIVESDK tasklistfn to the logic surrounding setting tasklist file to not prune esdk sstate during creation [YOCTO #13261] (From OE-Core rev: d046afd12e1c209b29dca6ba402b9aa14680c5ce) Signed-off-by: Jaewon Lee <jaewon.lee@xilinx.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/archiver: Fix WORKDIR for shared sourceJoshua Watt2019-09-191-2/+3
| | | | | | | | | | | | | When archiving patched source, WORKDIR should only be changed to ${ARCHIVER_WORKDIR} if the recipe doesn't use a shared work directory. This matches the behavior of do_unpack_and_patch for these recipes. This fixes kernel recipes that set S = "${WORKDIR}/git" (From OE-Core rev: e3caee8f86f2cca1d052f1f1b233018a3d4baa97) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rootfs-postcommands: check /etc/gconf exists before working on itRoss Burton2019-09-191-2/+4
| | | | | | | | | | | | Check that /etc/gconf exists before trying to find files under it, to avoid writing find error messages to the rootfs log. Also use ${sysconfdir}/gconf instead of hardcoding /etc/gconf. (From OE-Core rev: 70a77b91031388ea29eff6b8885fd25cc35b1dae) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* report-error.bbclass: add local.conf/auto.conf into error reportChangqing Li2019-09-191-0/+15
| | | | | | | | | | | | | | | | sometimes, it is not enough to reproduce a failed build with current info on error reports web, add local.conf/auto.conf into error report to make it more easier to reproduce failed build Note: this need work together with change in repo error-report-web, which will display local.conf and auto.conf as Error Details [YOCTO #13252] (From OE-Core rev: 7adf9707c04d8ef6bcd8d8bda555687f705e6ee6) Signed-off-by: Changqing Li <changqing.li@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* live-vm-common.bbclass: provide efi population functions for live imagesDmitry Eremin-Solenikov2019-09-193-47/+36
| | | | | | | | | | Define common functions for populating EFI directories in live image by reusing common code from grub-efi and systemd-boot bbclasses. (From OE-Core rev: 3728899a0cd543793db258da0976362b4bde7133) Signed-off-by: Dmitry Eremin-Solenikov <dmitry_eremin-solenikov@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd-boot.bbclass: switch to image-uefi.confDmitry Eremin-Solenikov2019-09-191-11/+4
| | | | | | | | | Use variables from image-uefi.conf instead of hardcoding them in the class. (From OE-Core rev: 094c272a74b4963ea5c010b9701bb83fa799a558) Signed-off-by: Dmitry Eremin-Solenikov <dmitry_eremin-solenikov@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* grub-efi.bbclass: switch to image-uefi.confDmitry Eremin-Solenikov2019-09-192-17/+4
| | | | | | | | | | Use variables from image-uefi.conf instead of hardcoding them in the class. (From OE-Core rev: 8d15c015d2498d541a6e52fc4e7553e692ff3ac5) Signed-off-by: Dmitry Eremin-Solenikov <dmitry_eremin-solenikov@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Remove SSTATE_HASHEQUIV_SERVERJoshua Watt2019-09-181-5/+0
| | | | | | | | | | 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>
* classextend.py: don't extend file for file dependencyChangqing Li2019-09-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | Fix error like: lib32-e2fsprogs-1.45.3-r0 do_package_qa: QA Issue: /usr/sbin/e2scrub_all contained in package lib32-e2fsprogs-e2scrub requires /bin/bash, but no providers found in RDEPENDS_lib32-e2fsprogs-e2scrub For some lib32 packages(eg: lib32-bash, lib32-sed) which probvides files, extend is not needed Eg: RPROVIDES of lib32-bash expects to have /bin/bash, with original extend, it will become lib32-/bin/bash, then will cause above error Fix by don't extend file dependency, and skip multilib check for file dependency in do_package_qa to avoid error like: WARNING: lib32-bash-5.0-r0 do_package: QA Issue: lib32-bash package lib32-bash - suspicious values '/bin/bash /bin/sh' in RPROVIDES [multilib] (From OE-Core rev: a9163120ed52534e7dbf4db50dc2b03bbf69f06b) Signed-off-by: Changqing Li <changqing.li@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* nativesdk.bbclass: Clear out LIBCEXTENSION and ABIEXTENSIONKhem Raj2019-09-161-0/+2
| | | | | | | | | | | | These variables dont make sense for nativesdk targets which essentially are target only properties, this helps in avoiding recompile of nativesdk-libgcc-initial when switch libcs. nativesdk targets are glibc only for OE (From OE-Core rev: aff2d1264030a8061fc1b31dae0f369bfd76826b) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* icecc: blacklist pixmanTim Blechmann2019-09-161-0/+3
| | | | | | | | | | pixman declares prng_state as `omp threadprivate`, causing linker errors: prng_state: TLS reference mismatches non-TLS reference (From OE-Core rev: a95953fccc7c05650710e45103c3e9fa06d1ff4d) Signed-off-by: Tim Blechmann <tim@klingt.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* populate_sdk_base.bbclass: nativesdk-glibc-locale is required on musl tooKhem Raj2019-09-161-1/+1
| | | | | | | | | | | | | | | | | | | musl based extensible sdk fails to install ERROR: OE-core's config sanity checker detected a potential misconfiguration. Either fix the cause of this error or at your own risk disable the checker (see sanity.conf). Following is the list of potential problems / advisories: Your system needs to support the en_US.UTF-8 locale. The real reason is that its missing locale-archive in buildtools-tarball hence python3 from buildtools-tarball fails to run bitbake when installing esdk (From OE-Core rev: c6e8e13f910544b2a4435d8b9e6dbc65847ef182) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>