summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2018-04-18cross-canadian: fix do_configure failure when switching machine and multilibChenQi/cross-canadian-mlprefixChen Qi
This patch fixes a corner case, where in the same build directory, we change MACHINE and MULTILIBS but the resulting TUNE_ARCH remains the same. This situation is encountered when we switch build from 'qemuarm' to 'lib32 qemuarm64'. And we have the following problem for cross-canadian recipes at do_configure. configure: error: C compiler cannot create executable. The problem could be reproduced by two steps. step1: MACHINE = "qemuarm" require conf/multilib.conf MULTILIBS = "" bitbake binutils-cross-canadian-arm step2: MACHINE = "qemuarm64" require conf/multilib.conf MULTILIBS = "multilib:lib32" DEFAULTTUNE_virtclass-multilib-lib32 = "armv7vethf" bitbake binutils-cross-canadian-arm The problem occured because its lib32-recipe-sysroot is not constructed correctly, reusulting in missing of necessary components like crt1.o. Why this happens? Because for such cross-canadian recipes, their dependency tasks are nativesdk recipes, whose MLPREFIX are set to 'nativesdk-'. Hence, even if RECIPE_SYSROOT has changed from 'recipe-sysroot' to 'lib32-recipe-sysroot', it's possible that the checksums of these dependency tasks remain the same. This happens when variables like TUNE_ARCH remain the same between the switch. e.g. TUNE_ARCH remain to be 'arm' when switching from qemuarm to lib32 qemuarm64. OE supports changing MACHINE and multilib in the same build directory. So when changing from 'qemuarm' to 'lib32 qemuarm64', things should build out correctly. So we need to ensure the do_prepare_recipe_sysroot task is rerun when switching multilib. Adding MLPREFIX to vardeps of do_prepare_recipe_sysroot could ensure the task to rerun in such case. Besides, when this task is rerun, which invokes extend_recipe_sysroot, we need to make sure the recipe sysroot is constructed correctly. So we need to set RECIPE_SYSROOT_NATIVE to contain MLPREFIX. Otherwise, as the checksums of the dependency tasks are the same and they are stored in recipe-sysroot-native/intalleddeps, no component would be installed. After this change, when switching from 'qemuarm' to 'lib32 qemuarm64', we could ensure that the two builds are not using the same native recipe sysroot, and they are not using the same recipe sysroot. Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
2018-04-13scripts/test-dependencies.sh: removeMartin Jansa
* with RSS used in pyro this script isn't very useful anymore * RSS makes sure that the dependencies are almost always deterministic the only case known to me where dependencies are different based on what was already built in TMPDIR are runtime dependencies resolved by shlibs code in package.bbclass (which is using global pkgdata, not specific to given recipe and its RSS) as described here: https://bugzilla.yoctoproject.org/show_bug.cgi?id=9217#c4 but for this case it's not worth running complete test-dependencies.sh runs (From OE-Core rev: ac582a8f856de8dde6a04d9c1da58618b80559b6) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-13xserver-nodm-init: Respawn service in case of failureRamon Fried
It appears that sometimes xserver-nodm.service is starting before display driver finished loading causing the following failure in Xorg log: (EE) open /dev/dri/card0: No such file or directory The introduced by this patch is to restart the service, hopefully the display driver will finish loading. (From OE-Core rev: c3935f11f2807ef73f224b6690886d863788310d) Signed-off-by: Ramon Fried <rfried@codeaurora.org> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-13valgrind: fix the shared object issue while prelink ptestZhixiong Chi
If valgrind-ptest is installed, we will get the some prelink error like below at do_image: .../usr/sbin/prelink: /usr/lib64/valgrind/ptest/memcheck/tests/wrap7:\ Could not find one of the dependencies: \ .../usr/sbin//prelink-rtld: error \ while loading shared libraries: wrap7so.so: cannot open shared \ object file: No such file or directory The wrap7 needs to link the shared object in the path /usr/lib64/valgrind/ptest/memcheck/tests, but it fails. So we correct the path for ptest. (From OE-Core rev: 1ec0c977c55ae2c38252e1807dc15c56007d30dc) Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com> Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-13distro: default: Change Go default version to 1.9Otavio Salvador
For the time being, there is a serious bug[1] in Go 1.10 when it comes to use the shared runtime support which cases problems in multiple projects. 1. https://github.com/golang/go/issues/24640 It is still unclear if the problem arises from a bug inside the compiler itself or it makes a real problem more visible. Either way, using 1.10 as default seems to be a risk so we are changing back to 1.9 for now. Refs: [YOCTO: #12631] (From OE-Core rev: c5b5055d2dc04317a7a64c150046a6435a6805c2) Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-13patch: fix CVE-2018-1000156Jackie Huang
* CVE detail: https://nvd.nist.gov/vuln/detail/CVE-2018-1000156 * upstream tracking: https://savannah.gnu.org/bugs/index.php?53566 * Fix arbitrary command execution in ed-style patches: - src/pch.c (do_ed_script): Write ed script to a temporary file instead of piping it to ed: this will cause ed to abort on invalid commands instead of rejecting them and carrying on. - tests/ed-style: New test case. - tests/Makefile.am (TESTS): Add test case. (From OE-Core rev: 6b6ae212837a07aaefd2b675b5b527fbce2a4270) Signed-off-by: Jackie Huang <jackie.huang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-13patch: fix CVE-2018-6951Jackie Huang
* CVE detail: https://nvd.nist.gov/vuln/detail/CVE-2018-6951 * upstream tracking: http://savannah.gnu.org/bugs/?53132 * Fix segfault with mangled rename patch - src/pch.c (intuit_diff_type): Ensure that two filenames are specified for renames and copies (fix the existing check). (From OE-Core rev: cdf74e1c67698b2d44a7460ff7d365d6da7b7b96) Signed-off-by: Jackie Huang <jackie.huang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-13icecc.bbclass: Bump version numberJoshua Watt
Bump the version number for force remotes to use a newly generated environment, since the old one potentially had a few bugs (From OE-Core rev: 6c3b2ac41f3412ebce8364df637d64e34daab8a6) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-13icecc.bbclass: Improve error reportingJoshua Watt
Improve reporting when the icecream environment cannot be created by assigning the flock call a specific error number when the lock fails so it can be distinguished from environment creation errors. (From OE-Core rev: 563448a7a3ca87cc07528c18f8047913e0468e7a) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-13icecc.bbclass: Add ICECC_ENV_DEBUG variableJoshua Watt
The ICECC_ENV_DEBUG variable can be set in local.conf to pass additional debugging options to the Icecream toolchain creation script. (From OE-Core rev: be913284bb34ebf4a71770646044603a2a27d01b) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-13icecc-create-env: Add extra tools optionJoshua Watt
It can often be useful to include additional debugging tools the toolchain such as strace. Add an option to include an arbitrary path. (From OE-Core rev: 1fc1e3d59afd292ff8f7c4e1f64324134b73b8f4) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-13icecc-create-env: Fix library interpreter usageJoshua Watt
Shared libraries sometimes (frequently?) don't have a program interpreter specified. The previous code would fail to find the library dependencies in these cases because no interpreter could be found. Commonly, this meant that if a library depends on another library, it might not be included toolchain because dependency scanning stops with the first one. Instead, capture the program interpreter from the program or library that starts the dependency chain and use that interpreter to get all of the dependencies in the chain, recursively. Additionally, if no interpreter can be found, fallback to using ldd (From OE-Core rev: 4f55e61e9e3dd921bd71a127580dc5fc71d7b339) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-13icecc-create-env: Fix RUNPATH filesJoshua Watt
Some newer libraries and programs use RUNPATH to specify the library search path. These executables were being skipped by the rpath fixup code because it was grepping the ELF header for RPATH only. A more correct solution is to ask patchelf to report the rpath, as that tool will properly report either RPATH or RUNPATH as appropriate. (From OE-Core rev: d1e88ad01df9b6419e02f632b1ba288d4cc3b2bf) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-13icecc-create-env: Allow logging to a fileJoshua Watt
Modifies the icecc-create-env script so that it can log output to a log file. In addition, a --debug flag is added that allows verbose logging. Finally, the silent flag was removed since it was never used in icecc.bbclass (From OE-Core rev: 3d0bd786fd79967cf8754d022044df311dd8ad3e) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-13dhcp: Security Advisory - CVE-2017-3144Yue Tao
Fix CVE-2017-3144 References: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3144 https://kb.isc.org/article/AA-01541 Patch from: https://source.isc.org/cgi-bin/gitweb.cgi?p=dhcp.git;a=commitdiff;h=5097bc0559f592683faac1f67bf350e1bddf6ed4 (From OE-Core rev: bcbe9025560dee658c0ead566384e1a8647cebf9) Signed-off-by: Yue Tao <Yue.Tao@windriver.com> Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com> Signed-off-by: Yi Zhao <yi.zhao@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-13gconf: fix saving of settings when config folder doesnt existJaewon Lee
In some circumstances, gconf isn't able to save configurations because ~/.config folder aka root_dir doesn't exist. For example when saving settings using matchbox-appearance, the following error is shown: GConf Error: Configuration server couldn't be contacted: D-BUS error: Can't overwrite existing read-only value: Value for `/desktop/poky/interface/font_name' set in a read-only source at the front of your configuration path This issue was not seen before because ~/.config directory is shared between several packages and one of those packages usually creates it by the time gconf wants to use it. This patch makes sure that gconf creates the .config directory if it doesn't exist, along with the gconf directory inside it. [YOCTO #12632] (From OE-Core rev: 4d16fa05e47ccc8425ebb085c295d7d8dca6b2e6) Signed-off-by: Alejandro Hernandez <alejandr@xilinx.com> Signed-off-by: Jaewon Lee <jaewon.lee@xilinx.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-13bootchart2: update canonical git URLRoss Burton
/mmeeks/bootchart.git is redirecting to /xrmx/bootchart.git so update SRC_URI to match. (From OE-Core rev: c4208f0ef0753a4615cf9dbcfb305f638b262f50) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-13python3: Add recommended modules to nativesdk installTom Hochstein
The python3 installation in the SDK did not include the minimum set of modules to be functional, particularly in the case where Python is brought in through dependencies. Rather than requiring the user to explicitly add the modules, it's better to pull in the modules through RRECOMMENDS. Note that the Python 2 recipe already does this. (From OE-Core rev: 5a88e59e488248b7ec53b072f934052b96c78a51) Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-13meta: add missing Signed-off-by and Upstream-Status tagsRoss Burton
(From OE-Core rev: 4612441b59fd8264fdd5bd4f3e5d195f6085c94c) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-13linux-yocto/4.14/4.15: deterministic srcversionBruce Ashfield
Author: Juro Bystricky <juro.bystricky@intel.com> Date: Fri Mar 30 10:14:05 2018 -0700 modpost: srcversion sometimes incorrect "srcversion" field inserted into module modinfo section contains a sum of the source files which made it. However, this field can be incorrect. Building the same module can end up having inconsistent srcversion field eventhough the sources remain the same. This can be reproduced by building modules in a deeply nested directory, but other factors contribute as well. The reason for incorrect srcversion is that some source files can be simply silently skipped from the checksum calculation due to limited buffer space for line parsing. This patch addresses two issues: 1. Allocates a larger line buffer (32k vs 4k). 2. Issues a warning if a line length exceeds the line buffer. Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> (From OE-Core rev: 7d92ed3dcd8c4b5f7cde2f521569c792d55fae65) Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-13linux-yocto-tiny/4.14: fix recipe nameBruce Ashfield
I guess not many people are building linux-yocto-tiny for v4.15, given that I managed to mangle the name of the recipe when I introduced it. [YOCTO #12640] (From OE-Core rev: 6c1ddbbb0eb9c86646fcb99520e4747cfcd2b418) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-13linux-yocto/4.14: add elfutils, util-linux and openssl dependenciesBruce Ashfield
4.15+ already has the following dependencies: DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" DEPENDS += "openssl-native util-linux-native" Updates to 4.14 via the -stable releases have also introduced the same dependencies to 4.14's "make scripts". As such, we bring the same lines into 4.14 to restore the ability to build scripts. (From OE-Core rev: 148fd7a5bfea5d18952355a294e6d36ca82291d2) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-13populate_sdk_base: use xz -T instead of pixzRoss Burton
xz has native support for threaded compression now and SDK creation was the only part of oe-core which is using pixz instead of xz. Not only does this remove pixz-native from the SDK dependencies, but in my limited testing xz -T0 is slightly faster and produces smaller archives than pixz for the same input. (From OE-Core rev: ce1cfa57d9828c0898f52e736f671ce8db534031) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-13image_types: use pigz to create .gz filesRoss Burton
Since pigz is no longer a drop-in replacement for gzip (oe-core 1624b7b) the image creation has been using gzip instead of pigz, despite still depending on pigz-native. Fix this by invoking pigz explicitly. (From OE-Core rev: 214fa7fe3b162162d2fa8b31eec28bedd86fcc7d) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-12bitbake: bitbake-user-manual: Updated "Task Checksums and Setscene" sectionScott Rifenbark
Fixes [#YOCTO 12030] Updated the "Task Checksums and Setscene" section to provide a bit of user information around the bitbake-dumpsigs use that lets a user examine signatures and inputs that determine if a do_compile task is indeed supposed to be run. Added more explanation of how a user can examine signatures used to determine if a do_compile task is indeed supposed to be run. (Bitbake rev: 103bbc6642261cd5da038ba2071621919ee01253) Signed-off-by: Scott Rifenbark <srifenbark@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-12bitbake: bitbake-user-manual: Updated "OpenEmbedded-Core" term.Scott Rifenbark
Made sure that the terms "OpenEmbedded-Core" and "OE-Core" are used as such throughout the manual. (Bitbake rev: 677e58f8616a4bf58772e54d2313af3885a3b110) Signed-off-by: Scott Rifenbark <srifenbark@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-10license.bbclass: be a bit more strict when searching ↵Martin Jansa
${PN}-${LICENSE_PACKAGE_SUFFIX} in packages * linux-firmware contains ${PN}-license package since this commit: commit 1ee083da0730408fffdbbf5f29abc299c0e61be9 Author: Jackie Huang <jackie.huang@windriver.com> Date: Mon Apr 13 10:17:21 2015 +0800 linux-firmware: fix the mess of licenses * LICENSE_CREATE_PACKAGE functionality in license.bbclass when enabled adds new package with suffix: LICENSE_PACKAGE_SUFFIX ??= "-lic" but then it checks if ${PN}-${LICENSE_PACKAGE_SUFFIX} is included in PACKAGES before adding it and when found it shows: WARNING: linux-firmware-1_0.0+gitAUTOINC+4c0bf113a5-r0 do_package: linux-firmware-lic package already existed in linux-firmware. and doesn't add the ${PN}-lic to PACKAGES and causes another warning: WARNING: linux-firmware-1_0.0+gitAUTOINC+4c0bf113a5-r0 do_package: QA Issue: linux-firmware: Files/directories were installed but not shipped in any package: /usr /usr/share /usr/share/licenses /usr/share/licenses/linux-firmware that's because it was searching ${PN}-lic in PACKAGES as a string so it found ${PN}-lic as a substring of ${PN}-license, add a split to search in an list (From OE-Core rev: 9b9897fc034819385a9d4ce591cc79dd458f3f24) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-10libxcrypt: add -std=gnu99 to BUILD_CPPFLAGSMartin Jansa
* add it to allow older distributions e.g. Ubuntu 14.04 with gcc 4.8 to build this, otherwise it fails with: ../git/gen-des-tables.c: In function 'write_table_u8': ../git/gen-des-tables.c:307:3: error: 'for' loop initial declarations are only allowed in C99 mode for (size_t i = 0; i < m; i++) ^ (From OE-Core rev: 2591741896a6a267ceca9519f21bd39b5b196559) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-10rpm: build without dbus for rpm-nativeChen Qi
Add option for dbus in configure.ac, and explicitly build without dbus for rpm-native. Previously, the rpm recipe tries to prevent rpm-native from attempting to inhibit shutdown via session dbus by appending '--disable-plugins' to EXTRA_OECONF in case of native. However, some layer may need some functionality via plugin support. And when it enables it, we would meet the following warning at rootfs time. Unable to get systemd shutdown inhibition lock: Socket name too long As plugins/systemd_inhibit.c is the only place that's related to this dependency, we can be sure that dbus is really not needed for rpm-native. (From OE-Core rev: 815ccef2d5bef1e46c51916e694d0974aee394a9) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-10yocto-check-layer: add a test for correct setting of ↵Alexander Kanavin
LAYERSERIES_COMPAT_collection [YOCTO #12661] (From OE-Core rev: 13a80b22f28b81a0082d181674295a0f96111f6b) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-10license.bbclass: Minor simplification of get_deployed_dependencies()Peter Kjellerstedt
Since ${SSTATE_ARCHS} now contains ${PACKAGE_EXTRA_ARCHS} there is no longer any need to add those extra architectures to the list of architectures handled in get_deployed_dependencies(). (From OE-Core rev: e55e6df4f1434458cdfa0e2d3610b48119e5a782) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-10sstate.bbclass: Add ${PACKAGE_EXTRA_ARCHS} to SSTATE_ARCHSPeter Kjellerstedt
This makes sure files provided by packages that use any of the extra architectures defined using ${PACKAGE_EXTRA_ARCHS} are cleaned from tmp/sysroot-components when sstate_eventhandler2() executes. Without this, changing a package from using one of the extra architectures to another architecture would lead to files being leftover in tmp/sysroot-components, which could later be picked up when creating the RSS for another package rather than the files that belonged to the updated package. (From OE-Core rev: b959b3bd92aa2939d407800fc4167b0535fd4674) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-10classes: Use ${MACHINE_ARCH} instead of ${MACHINE} for stamp-extra-info task ↵Peter Kjellerstedt
flag Without this change, there will be two sstate index files in tmp/sstate-control for any machine that contains a dash in the name. (From OE-Core rev: 29e7799bdb3773c40492e01448e0c614ed44583d) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-07nativesdk-glibc: Split glibc and libcrypt to use libxcrypt insteadRichard Purdie
Fedora28[1] has decided to go ahead and use libxcrypt to replace libcrypt from glibc despite the change not having merged into glibc upstream yet. This breaks the use of uninative in OE on fedora28 since binaries there are now using new symbols only found in libxcrypt. libxcrypt is meant to be backwards compatible with libcrypt but not the reverse. Since this will impact OE in the next release cycle, this changes nativesdk only to use this new model and adds libxcrypt to work in that case. This allows us to build a uninative which is compatible with fedora28 and previous other OSes. In order to work, recipes will now need to depend on virtual/crypt where they use libcrypt since its now a separate library and we can't depend on it from glibc to preseve backwards compatibility since glibc needs to build first. For now, only the problematic nativesdk recipes have been fixed up. For target use, the default provider remains glibc for now. Assuming this change is merged into upstream glibc, we will need to roll this change out for the target but we will do this in the next release cycle when we can better deal with the resulting bugs. [1] https://fedoraproject.org/wiki/Changes/Replace_glibc_libcrypt_with_libxcrypt Original patch from Charles-Antoine Couret <charles-antoine.couret@essensium.com>, tweaked by RP to add virtual provides, SkipRecipe for libxcrypt and other minor tweaks. (From OE-Core rev: c1573cb7faeb296fe7077a60d02443d5ed5bded0) Signed-off-by: Charles-Antoine Couret <charles-antoine.couret@essensium.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-07devtool: Ensure added layer sets LAYERSERIES_COMPATRichard Purdie
Now that we see warnings if LAYERSERIES_COMPAT is unset, the auto generated code from devtool needs to set this to avoid warnings which break various tests. (From OE-Core rev: f65ebfeda0bfbac78e4a2a6609ba654ca38a8b0e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-07devtool/oeqa: Ensure added layers set LAYERSERIES_COMPATRichard Purdie
Now that we see warnings if LAYERSERIES_COMPAT is unset, the auto generated code from devtool/oeqa needs to set this to avoid warnings which break various tests. (From OE-Core rev: 27568410ebb0d40db3428550704f35199df0e034) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-07Revert "python3: fix create_manifest to handle pycache folders"Richard Purdie
Alejandro asked this be reverted as the patch causes more problems than it solves. This reverts commit 5d288d286e0adb221649d896c132a607ecddc490. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-07perl: add patch to solve libcrypt incompatibilityCharles-Antoine Couret
Add Perl's patch submitted to upstream to be compiled along with glibc with libcrypt split. (From OE-Core rev: 79703d83790a2973fefdb0e12e125b5f17e98cdf) Signed-off-by: Charles-Antoine Couret <charles-antoine.couret@essensium.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-07hello-mod_0.1.bb: add RPROVIDESJuro Bystricky
Although the package will get an automatic prefix "kernel-module", so the package kernel-module-hello does exist, populating rootfs can generate an error: - nothing provides kernel-module-hello ... This is quite unfortunate, as this recipe is used as a sample. Adding RPROVIDES_${PN} += "kernel-module-hello" to the recipe fixes the problem. [YOCTO #12641] (From OE-Core rev: ca17a7bbea5f5454da43545d544ff7772d83ac19) Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-07crosstap: replace script with new python based implementationVictor Kamensky
New crosstap python implementation is total replacement for crosstap shell script, that has superseding capabilities. New script support cross compiling of SystemTap scripts for user-land, by using supplied image rootfs. Whereas old script could only deal with scripts against kernel. New script has more complex logic and additional capabilities. As invocation interface new script support old "legacy" mode and provides alternative new regular options interface to access additional functionality. (From OE-Core rev: 1cbbcf26e0a9ca6e0b34a89512bf75dbae8bfaf0) Signed-off-by: Victor Kamensky <kamensky@cisco.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-07systemtap: support --sysroot option in variety of situations in cross buildVictor Kamensky
For details on issues fixed please look at commit message of individual patches. Upstream-Status: Backport [systemtap@sourceware.org] (From OE-Core rev: 5aa93de3a79c8691e74e982d3d4b0099b04f5555) Signed-off-by: Victor Kamensky <kamensky@cisco.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-07systemtap: create translator packageconfigVictor Kamensky
For cases when systemap module compilation happens on host in cross-compilation mode, and it is desirable to minimize systemtap presense on target we need to have just smallest possible set of utilties that are required to run compiled modules. Introduce new "translator" PACKAGECONFIG, if it is not set it would mean that just minimal set of run-time utilities will be included in the package. For run-time only systemtap build variant use PACKAGECONFIG_pn-systemtap = "" or PACKAGECONFIG_pn-systemtap = "monitor" Suggested-by: Taras Kondratiuk <takondra@cisco.com> (From OE-Core rev: a22b8140c6924eb3b3cd7b5bea66a4d3ed413807) Signed-off-by: Victor Kamensky <kamensky@cisco.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-07image: add image-combined-dbg helper classVictor Kamensky
There is IMAGE_GEN_DEBUGFS="1" variable that enables build of additional rootfs-dbg and additional archive that contains complimentary symbols files for a given image. But the issue with this resulting directory and tarball that before use it has to be combined with original image content. It is required since all cross debugging tools like gdb, perf, and systemtap need file system that contains both target executables/libraries and their symbols. Those tools need to find executable/library first and through it debuglink note find corresponding symbols file. image-combined-dbg when added to USER_CLASSES just copies final resulting rootfs back into rootfs-dbg creating combined target and debug symbols rootfs that can be used for debugging directly. (From OE-Core rev: 7ccb077f51c9232de70e5c6f9897fd9986e3be9d) Signed-off-by: Victor Kamensky <kamensky@cisco.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-07Revert "systemtap: Cross compilation fix"Victor Kamensky
This reverts commit 787bed708676fc04aee2850825e803273152f657. (From OE-Core rev: 08ab022471eff48e6f43ec8cd47e695d575ee2e3) Signed-off-by: Victor Kamensky <kamensky@cisco.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-07curl: DEPENDS on libidn2 (not libidn)André Draszik
Since v7.51.0, libidn2 is the only available option, libidn support was dropped. The configure option was renamed as of v7.53.0 Therefore, curl unconditionally tries to build against libidn2, which in particular is a problem for curl-native, as that might or might not build against the build-machine's libidn2 now, which furthermore causes problems when trying to share sstate between multiple build machines. We therefore see the following in the config log: ... checking whether to build with libidn2... (assumed) yes ... checking for libidn2 options with pkg-config... no configure: IDN_LIBS: "-lidn2" configure: IDN_LDFLAGS: "" configure: IDN_CPPFLAGS: "" configure: IDN_DIR: "" checking if idn2_lookup_ul can be linked... yes checking idn2.h usability... yes checking idn2.h presence... yes checking for idn2.h... yes ... IDN support: enabled (libidn2) ... even though this recipe tries to disable that. While libidn2 isn't available in OE, this change at least: * prevents curl-native to silently build against libidn2 if that is installed on build machine, even if not requested * alerts people who use the PACKAGECONFIG option that it's not actually doing what they intend to do (From OE-Core rev: 705eaea991622bdbb2ee83eefa8df8e665e3efe4) Signed-off-by: André Draszik <andre.draszik@jci.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-07packagegroup-core-sdk: update sanitizer listsDan McGregor
aarch64 has been supported since GCC 5.1, sparc has been supported since 4.9, and S390 since 7.1. (From OE-Core rev: a2cbb5dc4c6191ca343dc4211abde693dc1a579a) Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-07gcc-sanitizers: Update supported architecturesDan McGregor
aarch64 has been supported since GCC 5.1, sparc has been supported since 4.9, and S390 since 7.1. Also mark as broken entirely with musl. (From OE-Core rev: 7d90d2a70f0184ad715e9917d3e7aa096cf98f79) Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-06layer.conf: Update LAYERSERIES rocko -> sumoRichard Purdie
(From meta-yocto rev: db28e5c97895d2a25098aaac7f0a65d4f2a01866) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-06bitbake: cookerdata: Issue warning if layer doesn't set LAYERSERIES_COMPAT_xRichard Purdie
We'd like layers to set this variable so that we know which layers are compatible with which others, even if the branch is a generic un-updated "master" branch. Start printing a warning to highlight this issue. (Bitbake rev: cca81e33b58c390dcf5cc3a31555a43b79177166) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-06layer.conf: Update LAYERSERIES rocko -> sumoRichard Purdie
Also set LAYERSERIES_COMPAT for core (we're compatible with ourself). (From OE-Core rev: 4aa43cd844781a07a2dbf17f21ed35c6a0100d02) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>