He Zhe [Tue, 9 Oct 2018 11:44:31 +0000 (19:44 +0800)]
lttng-modules: Fix build failure by syncing up with kernel 4.19
linux-yocto-dev has been upreved to v4.19. This patch backports a patch from
upstream to make lttng-modules sync up with linux-yocto-dev and later
linux-yocto, and fix the following do_compile error.
| tmp/work/qemux86_64-poky-linux/lttng-modules/2.10.7-r0/lttng-modules-2.10.7/probes/../probes/lttng-tracepoint-event-impl.h:143:6: error: conflict
ing types for 'trace_sock_exceed_buf_limit'
| void trace_##_name(_proto);
| ^~~~~~
Signed-off-by: He Zhe <zhe.he@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Anuj Mittal [Fri, 5 Oct 2018 11:24:01 +0000 (19:24 +0800)]
strace: fix ptests
* Let automake use parallel test harness which ensures that appropriate
environment variables are actually used.
* Copy generated config.h as part of ptest package and define a variable
in tests Makefile to control the name of target that we'd like to
invoke for tests instead of relying on default value.
* configure relies on tools that are not available in release tarballs
resulting in warnings and failed tests. Get the required information
from available files instead.
* Reduces the count of failing tests to 18 from 35. The rest of
tests fail or get skipped mostly because of missing syscalls. Number of
tests getting skipped can probably be reduced further.
Fixes [YOCTO #12948]
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
util-linux: Use update-alternatives for fsfreeze, nsenter
busybox may also provide a fsfreeze and nsenter implementation,
so use u-a to allow installing them side by side.
If one installs both, busybox and util-linux, one gets the following error
(seen on a populate-sdk run):
| ERROR: Postinstall scriptlets of ['busybox'] have failed. If the intention is to defer them to first boot,
| then please place them into pkg_postinst_ontarget_${PN} ().
| Deferring to first boot via 'exit 1' is no longer supported.
And the coresponding do_populate_sdk extract:
| ...
| update-alternatives: Error: not linking ...sdk/image/usr/local/oecore-x86_64/sysroots/armv7at2hf-neon-angstrom-linux-gnueabi/usr/sbin/fsfreeze
| to /bin/busybox.nosuid /bin/busybox.nosuid since ...sdk/image/usr/local/oecore-x86_64/sysroots/armv7at2hf-neon-angstrom-linux-gnueabi/usr/sbin/fsfreeze
| exists and is not a link
| ...
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
busybox may also provide a partprobe implementation, so use u-a to allow
installing them side by side.
If one installs both, busybox and parted, one gets the following error:
| ERROR: image do_rootfs: Postinstall scriptlets of ['busybox'] have failed. If the intention is to defer them to first boot,
| then please place them into pkg_postinst_ontarget_${PN} ().
| Deferring to first boot via 'exit 1' is no longer supported.
And the coresponding log.do_rootfs extract:
| ...
| update-alternatives: Error: not linking ...image/rootfs/usr/sbin/partprobe to /bin/busybox.nosuid since ...image/rootfs/usr/sbin/partprobe exists and is not a link
| ...
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Mike Crowe [Fri, 5 Oct 2018 13:49:13 +0000 (14:49 +0100)]
gcc: Remove unnecessary --with-mpfr and --with-mpc when cross compiling
Passing --with-mpfr and --with-mpc when compiling the cross compiler
appears to be at best unnecessary, and at worst can cause build failures.
Firstly, the paths passed in gcc-cross-canadian are using the undefined
${layout_exec_prefix}. This results in configure passing
-I${STAGING_DIR_HOST}/include twice to the compiler when it's doing its
test builds. This is mostly pointless since that directory doesn't exist
with the default oe-core configuration - the correct path would be
-I${STAGING_DIR_HOST}/usr/include.
The path for mpfr passed in gcc-cross is correct, but unnecessary since it
is just the sysroot default.
I've gone back through the history, and it seems that these lines (or
similar ones) were originally added way back in 8800d8be25295dd7c7d84dde62c3be4df8e43346 for GCC 4.1.1 in 2006! I asked[1]
if anyone knew why this was necessary but received no response, so I can
only assume that no-one knows.
I've successfully built for various targets with this patch applied and
observed no problems.
libgcrypt: Add the LICENSES file to LIC_FILES_CHKSUM
The LICENSES file contains references to source files with other
licenses than GPL/LGPL that stipulate that they shall be mentioned in
any documentation accompanying a product including this library.
License-Update: Add missing LICENSES file Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
glib-2.0: Include the complete license information for pcre
For some reason, the copyright part was left out of the license
information for pcre in LIC_FILES_CHKSUM, preventing it from being
used in, e.g., documentation to satisfy the requirements of the
license.
Also drop pcre/COPYING from LIC_FILES_CHKSUM as it does not really
contain any licensing information, it only refers to a LICENSE file
that does not exist.
License-Update: Include the complete license information for pcre Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
For some reason, the copyright part was left out of the license
information included in LIC_FILES_CHKSUM, preventing it from being
used in, e.g., documentation to satisfy the requirements of the
license.
License-Update: Include the complete license information Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
For some reason, the copyright part was left out of the license
information included in LIC_FILES_CHKSUM, preventing it from being
used in, e.g., documentation to satisfy the requirements of the
license.
License-Update: Include the complete license information Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
For nativesdk, symlinks created by do_install contain ${SDKPATHNATIVE}.
This is a problem with SDKs that include nativesdk-binutils and nativesdk-gcc.
When extracting such an SDK dangling symlinks are created, because
relocate_sdk.py does not adjust symlinks. As a result gcc ends up calling the
host binutils.
Use the os.path.relpath function to obtain shorter relative paths, which do not
contain ${SDKPATHNATIVE}.
Signed-off-by: Achille Fouilleul <achille.fouilleul@gadz.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
libusb: ptest: don't skip debug output and fix failures processing
Current run-ptest script prints nothing, when stress tests fail.
Fix it in new implementation, discarding external dependency on sed.
Also leave in place all stress output, just add standard ptest result.
Ola x Nilsson [Thu, 4 Oct 2018 10:43:28 +0000 (12:43 +0200)]
externalsrc.bbclass: Set BB_DONT_CACHE for non-target recipes
BB_DONT_CACHE was not set for non-virtual recipes where PN != BPN, such
as quilt-native. Recipes that do not set BBCLASSEXTEND should always
have BB_DONT_CACHE set by externalsrc.
Signed-off-by: Ola x Nilsson <olani@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Thu, 4 Oct 2018 09:20:20 +0000 (10:20 +0100)]
libxml2: refresh CVE-2017-8872
The patch associated with the CVE-2017-8872 report was never merged into
libxml2, but a slightly different patch for the same problem was. Cherry-pick
that as a backport, which also fixes the failing test suite.
Signed-off-by: Ross Burton <ross.burton@intel.com>
Anuj Mittal [Wed, 3 Oct 2018 10:27:50 +0000 (18:27 +0800)]
qemux86-directdisk: remove mem= parameter
Remove usage of a specific amount of memory and let it be controlled by
users. This was the default behaviour before it was changed by commit 3b79d9a78 that switched the wks file to be used for qemux86.
Also fixes the bitbake parsing issues seen because of memory starvation
using build appliance images.
Fixes [YOCTO #12894]
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
AnÃbal Limón [Tue, 2 Oct 2018 21:43:23 +0000 (16:43 -0500)]
scripts/yocto-check-layer: Don't abort when layer fails to get signatures
When execute in multiple layers like meta-openembedded the execution is
aborted when some sublayer fails to get world signatures, so mark it as
an error and continue the execution in the remaining sublayers.
Signed-off-by: AnÃbal Limón <anibal.limon@linaro.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
prior to that commit, musl was loading it and silently letting
subsequent TLS accesses via the miscompiled code clobber memory that
didn't belong to them
This was wrong behavior and it relied on additional space reserved by
libc in TLS space to adjust fo such broken libs, but it also fails
with glibc if the reserved space was already used up
Right fix is that mesa should be patched to remove all the
initial-exec hacks and use real TLS, and -mtls-dialect=gnu2 (TLSDESC)
should be used on archs it's supported on (i386, x86_64, and aarch64)
to make up for the lost performance, but mesa hardcodes the initial-exec,
so there must be a reason that probably is better known to mesa devs.
but we 'fixed' it for musl by adding --disable-glx-tls for mesa in OE,
which uses pthread_getspecific instead and makes is lot slower.
this caused additional problems with security flags on, it get textrels
in .text segment. Therefore this is 'second fix' to get us through this
warning.
Cause is some unknown part of mesa's x86 assembly code is broken by
readonly text segments
[ YOCTO #12918 ]
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Wed, 3 Oct 2018 11:48:51 +0000 (12:48 +0100)]
pango: don't disable debugging
By explicitly disabling debugging we get *no* safety checks: the GLib asserts
and checks are all disabled. This is fine for absolute performance but
something that should be opt-in.
This also breaks the test suite, which relies upon the asserts to work.
Signed-off-by: Ross Burton <ross.burton@intel.com>
Ross Burton [Wed, 3 Oct 2018 11:01:36 +0000 (12:01 +0100)]
connman: neaten patches
The upstreamable include-tweaking patches contained fragments that should be in
the not-upstreamable musl-specific res_ninit replacement, so move them to the
right patch.
Signed-off-by: Ross Burton <ross.burton@intel.com>
Currently the dnf command inside SDK does not work. We will
get error message like below:
ImportError: No module named 'dnf'
So remove it from nativesdk-packagegroup-sdk-host, otherwise,
users will get unpleasant experience if they are working inside
SDK environment on some distros like Fedora.
Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Richard Purdie [Wed, 3 Oct 2018 11:20:04 +0000 (12:20 +0100)]
glibc: Fix glibc reproducibility issues
Currently for non-IA platforms, glibc is not reproducible as host system
paths are being injected into target binaries. These spread through
all target binaries on the system which link to the libc.
Add a patch which injects .file directives into the assembly pieces
and works around this issue until a better solution can be found.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Chin Huat Ang [Mon, 1 Oct 2018 05:09:45 +0000 (13:09 +0800)]
meta-ide-support: add cmake-native
Include cmake as part of build tree toolchain so that it is populated
into meta-ide-support's recipe-sysroot-native which is prepended to
$PATH, this ensures cmake-native is picked up first before host cmake.
Signed-off-by: Chin Huat Ang <chin.huat.ang@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Martin Jansa [Sun, 30 Sep 2018 16:27:37 +0000 (16:27 +0000)]
glibc: bump SRCREV to latest 2.28
* drop one patch already applied in upstream
* this is still only partial fix for issues with -O0 and the bigger
issue might be detected in runtime as described in:
https://sourceware.org/glibc/wiki/FAQ#Why_do_I_get:.60.23error_.22glibc_cannot_be_compiled_without_optimization.22.27.2C_when_trying_to_compile_GNU_libc_with_GNU_CC.3F
https://sourceware.org/bugzilla/show_bug.cgi?id=19444
and tested in glibc build:
https://sourceware.org/git/?p=glibc.git;a=blob;f=include/libc-symbols.h;h=8b9273c13a19f2658105c7997267d9086adae716;hb=HEAD#l74
* restore the anonymous python to trigger fatal error when -O0 is
used (but don't restore the notes for -O, -O1, -Os
* git log --oneline 3c03baca37fdcb52c3881e653ca392bba7a99c2b..044c96f0d5595aeb0bb4e79355081c5a7f4faca5 | tee 044c96f0d5 Fix misreported errno on preadv2/pwritev2 (BZ#23579) 3a67c72c15 Fix stack overflow in tst-setcontext9 (bug 23717) 2339d6a55e i386: Use ENTRY and END in start.S [BZ #23606] 0ef2f4400c Fix strstr bug with huge needles (bug 23637) a55e109709 Fix tst-setcontext9 for optimized small stacks. 307d04334d misc: New test misc/tst-gethostid e7d22db29c Linux gethostid: Check for NULL value from gethostbyname_r [BZ #23679] 1fe2b9ca8a Fix segfault in maybe_script_execute. 0b79004569 regex: Add test tst-regcomp-truncated [BZ #23578] 58559f1443 regex: fix uninitialized memory access aa8a3e4cde pthread_cond_broadcast: Fix waiters-after-spinning case [BZ #23538] c87b5bab24 Improve ChangeLog message. 66fdfd57fe Regen RISC-V rvd ULPs b0aa03dfff RISC-V: Fix rounding save/restore bug. 2f498f3d14 nss_files: Fix file stream leak in aliases lookup [BZ #23521] bfcfa22589 nscd: Deallocate existing user names in file parser d05b05d157 error, error_at_line: Add missing va_end calls 4b25485f03 Linux: Rewrite __old_getdents64 [BZ #23497] 726e1554ce hurd: Avoid PLTs for __pthread_get/setspecific 7f11842e74 hurd: Add missing symbols for proper libc_get/setspecific
* update 0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors-w.patch
based on review comments in upstream and extend it to cover PPC based
on:
http://lists.openembedded.org/pipermail/openembedded-core/2018-September/156258.html
* update 0032-sysdeps-ieee754-soft-fp-ignore-maybe-uninitialized-w.patch
based on review comments in upstream
* add 0033-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch
with a fix for aarch64 build with -Os
* build tested with qemuarm, qemuarm64, qemux86, qemux86-64, qemuppc,
qemumips, qemumips64 with -O, -O1, -Os.
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Fri, 28 Sep 2018 13:45:41 +0000 (14:45 +0100)]
archiver: generalise task running when in configured mode
When in configured mode the archive will re-run configure itself, but that
doesn't work if there are other tasks that need to run such as cmake's
generate_toolchain_file.
Instead of hard-coding a list of classes and tasks, obtain the list of tasks
preceeding do_configure, filter out ones we don't want to re-run such as
do_patch and do_prepare_recipe_sysroot, and run those too.
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Robert Yang [Sat, 29 Sep 2018 07:23:10 +0000 (15:23 +0800)]
multilib: avoid expanding grub and grub-efi to multilib
It doesn't make much sense to expand them to multilib, and there is an error on
qemuarm64 since grub-efi supports arm64, but doesn't support armv7a or armv7ve:
libsdl2: disable sndio explicitly to avoid inconsistent result
Explicitly disable sndio to avoid inconsistent result on different
hosts having or not having libsndio.
This must be done if we take into consideration of eSDK.
I built eSDK on Ubuntu 14.04 which has libsndio installed, and then
installed the eSDK on Fedora 27, which does not have libsndio. In
fact, on Fedora 27, I even cannot find libsndio in its repo.
The problem happens when trying to use `devtool runqemu'. The qemu
binary built on Ubuntu 14.04 needs to link to libsndio, and thus
the following error.
runqemu - ERROR - Failed to run qemu: /path/to/qemu-system-x86_64:
error while loading shared libraries: libsndio.so.6.1:
cannot open shared object file: No such file or directory
So explicitly disable sndio for libsdl2 to avoid the above problem.
Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Kai Kang [Sat, 29 Sep 2018 05:43:48 +0000 (13:43 +0800)]
bind: fix multilib install file conflicts
It adds ${libdir} to linker options in scripts bind9-config and
isc-config.sh. And then causes install file conflicts when install bind
andl ib32-bind both.
Inherit multilib_script.bbclass to fix this issue.
Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Kai Kang [Sat, 29 Sep 2018 05:43:50 +0000 (13:43 +0800)]
groff: fix multilib install file conflicts
Perl scripts ${bindir}/{gpinyin, groffer, grog} are ${libdir} related
and cause multilib install file conflicts:
| Error: Transaction check error:
| file /usr/bin/gpinyin conflicts between attempted installs of groff-1.22.3-r0.core2_64 and lib32-groff-1.22.3-r0.x86
| file /usr/bin/groffer conflicts between attempted installs of groff-1.22.3-r0.core2_64 and lib32-groff-1.22.3-r0.x86
| file /usr/bin/grog conflicts between attempted installs of groff-1.22.3-r0.core2_64 and lib32-groff-1.22.3-r0.x86
Inherit multilib_script.bbclass to fix the errors.
Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Mark Hatle [Thu, 27 Sep 2018 18:17:46 +0000 (14:17 -0400)]
sysklogd: Re-enable alternatives for syslogd.8 man page
Other recipes, such as meta-networking inetutils may also provide a man page
for syslogd.8. Use the alternatives mechanism to select the man page to
display.
The syslogd tool itself is provided by both recipes in their respective runtime
packages. In the inet case, it is inetutils-syslogd, which has an appropriate
RCONFLICTS with the syslogd version. Only one or the other will be installed.
This is the conflict resolution the original commit of
"988aad01b20c18a8850db0ad6dc547525d94116c" was referring to.
HOWEVER, both syslogd and inetutils each only have a singular 'doc' package.
(As do most packages it seems.) Since this is the case, if both syslogd and
inetutils (not syslogd part) is requested for a configuration -- AND ---
doc-pkgs are configured in, you get an error of conflicting files.
Now does the documentation match whichever package was installed, maybe not...
but this isn't a big deal as it turns out, since most syslogd share a common set
of arguments and those are the things a run-time user would query from the man
pages.
The only alternative is to start spliting up the docs into their relevant
subpackages, as we have the runtime items. But this then complicates the
doc-pkgs processing and related...
Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Tue, 25 Sep 2018 14:17:17 +0000 (15:17 +0100)]
layer.conf: Drop sumo from LAYERSERIES_CORENAMES
Prepare for release and drop sumo for the compatible list of layer names.
This will mean other layers need updating to continue to indicate compatibility
with master but that is intentional at this part of the release cycle, we want
layers to indicate compatibility and show they're up to date.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
glibc-package.inc: correct intention for deleting /usr/lib as needed
In case the baselib is lib64 we would want to delete /usr/lib
after removing the /usr/lib/locale dir and the implementation
wanted to do that earlier as well but the fault was checking
an already removed dir (/usr/lib/locale) before trying to
remove /usr/lib as that check would always fail.
Now we simply try to delete /usr/lib after deleting
/usr/lib/locale to make sure it deletes cleanly and is empty
at the time of deletion.
Signed-off-by: Awais Belal <awais_belal@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Apply point release patches from upstream which includes a fix for
indefinitely spinning process and a zombie by a simple $() statement
in a long running script.
Signed-off-by: Jeroen Hofstee <jhofstee@victronenergy.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
nativesdk.bbclass: set consistent staging dirs regardless of multilib
For now, the RECIPE_SYSROOT of nativesdk recipes is ${WORKDIR}/recipe-sysroot
if multilib is disabled and ${WORKDIR}/nativesdk-recipe-sysroot if multilib
is enabled. And it's causing chaos. Problems I've met include:
1) 'File Exists' error when doing extend_recipe_sysroot
2) Rebuilding failure about cmake based nativesdk recipes if toggling multilib
In nativesdk.bbclass, We've set MULTILIBS to be "", and we've changed MLPREFIX
to be 'nativesdk-', I think we should also set consistent RECIPE_SYSROOT to be
${WORKDIR}/recipe-sysroot.
Below is an example showing why previous settings will cause do_prepare_recipe_sysroot
failure.
e.g.
A -> C
B -> C
A's RECIPE_SYSROOT is .../recipe-sysroot and B's RECIPE_SYSROOT is
.../nativesdk-recipe-sysroot.
As extend_recipe_sysroot function uses shared manifest, i.e., the same
manifest of C for both A and B, then there must be one of them having
the wrong manifest. And the wrong manifest results in RECIPE_SYSROOT
not cleaned up before installing new components, thus the following error.
This happens when toggling multilib and also between nativesdk recipes and
crosssdk, cross-canadian recipes. The latter situation also explains
why choosing ${WORKDIR}/recipe-sysroot instead of ${WORKDIR}/nativesdk-recipe-sysroot.
If we use 'nativesdk-recipe-sysroot', we still need to modify the extend_recipe_sysroot
function to treat crosssdk and cross-canadian as special cases. Using
'recipe-sysroot' does not have this problem.
Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Andrej Valek [Thu, 27 Sep 2018 06:09:33 +0000 (08:09 +0200)]
kernel-devsrc: fix searching for non-existing manifest files
Even if the do_populate_sysroot have had set-up noexec flag, populate_sdk's
tasks were trying to find .populate_sysroot manifest file. Change noexec
flag settings to delete appreciated task.
WARNING: core-image-minimal-1.0-r0 do_sdk_depends: Manifest
build/tmp/sstate-control/manifest-x86_64_x86_64-nativesdk-kernel-devsrc.populate_sysroot
not found in qemuarm armv5te armv5e armv5t armv5 armv4t armv4 arm allarch x86_64_x86_64-nativesdk (variant '')?
WARNING: core-image-minimal-1.0-r0 do_populate_sdk_ext: Manifest
build/tmp/sstate-control/manifest-x86_64_x86_64-nativesdk-kernel-devsrc.populate_sysroot
not found in qemuarm armv5te armv5e armv5t armv5 armv4t armv4 arm allarch x86_64_x86_64-nativesdk (variant '')?
Signed-off-by: Andrej Valek <andrej.valek@siemens.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Otavio Salvador [Wed, 26 Sep 2018 13:08:52 +0000 (10:08 -0300)]
util-linux: Fix packaging of util-linux-unshare
Below commit has added the unshare to alternatives but did not fix the
packaging of the changed file.
,----[ Offending commit ]
| commit 147da8fe7458a38598845958cb358bb094eba57b
| Author: Ioan-Adrian Ratiu <adrian.ratiu@ni.com>
| Date: Thu Jul 5 11:57:19 2018 +0300
|
| util-linux.inc: add fallocate & unshare to alternatives
|
| These binaries can be provided by busybox triggering a conflict in
| do_rootfs so update-alternatives needs to know about them to properly
| create the symlinks.
|
| Signed-off-by: Ioan-Adrian Ratiu <adrian.ratiu@ni.com>
| Signed-off-by: Ross Burton <ross.burton@intel.com>
`----
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Vernon Mauery [Tue, 25 Sep 2018 21:17:59 +0000 (14:17 -0700)]
boost: build context and coroutine for arm
When cross-compiling for arm architecture, bjam fails to properly
detect the abi, which causes a failed conditional to omit the
assembly code that supports the platform.
Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
rootfs.py: Install -src packages when PACKAGE_DEBUG_SPLIT_STYLE is "debug-with-srcpkg"
When the source packages are created, they need to be included in the
debug image created when IMAGE_GEN_DEBUGFS = "1" for it to be usable for
debugging.
[YOCTO #12930]
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Tue, 25 Sep 2018 15:18:43 +0000 (16:18 +0100)]
meson: respect target/native flag distinction in G-I and gtk-doc
Remove the previous attempt at this from
0001-gtkdoc-fix-issues-that-arise-when-cross-compiling.patch as it wasn't quite
right, and the rest of the patch is adding the currently not upstreamable runner
option.
Add two new patches to fix both gobject-introspection and gtk-doc using native
flags for target compiles.
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Tue, 25 Sep 2018 13:43:46 +0000 (14:43 +0100)]
meson: stop Meson using target CFLAGS in native builds
With the goal of autoconf-compatibility Meson respects $CFLAGS et al in builds.
In cross-compiled build the cross file is the one true source of flags and the
environment isn't used, but in a native build the environment will still be
respected.
As this can lead to target flags being used in the build for native binaries
(including a single native binary inside a target recipe), export
CFLAGS=${BUILD_CFLAGS) et al.
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Tue, 25 Sep 2018 13:43:44 +0000 (14:43 +0100)]
meson: squash the architecture warning patches together
Instead of one patch to change a warning into an exception and another to change
the message, squash the patches together as neither of the are acceptable
upstream.
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Backporting the following fixes from 4.18 to 4.14 to remove beaglebone
configuration warnings:
1fb0b0379fb5 beaglebone: Clean up the cfg file 4176e7ded8e1 beaglebone: Drop the needless unsetting of the kernel options 65c209da574d beaglebone: Drop the obsolete kernel options
Signed-off-by: Kevin Hao <kexin.hao@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The previous logic assumed that if $BUILD_IMAGES_FROM_FEEDS=1 then a
complete set of ipk feeds from which to build the image is already
present under $IPK_FEED_URIS at do_rootfs runtime.
$IPK_FEED_URIS usually contains "file://${DEPLOY_DIR_IPK}" which
renders the above assumption bad because some recipes in the current
build can contain code like do_install[nostamp] = "1" which will cause
rebuilds bumping $PR and invalidating the index.
Even when the index is manually re-created before an image build
("bitbake package-index"), the nostamp will cause failures because the
dependency gets rebuilt before do_rootfs in the "bitbake <image>" call.
So make the opkg rootfs index logic the same as for rpm/deb, to always
update the index in $DEPLOY_DIR_IPK to fix the above nostamp failure.
Feeds outside $DEPLOY_DIR_IPK added to $IPK_FEED_URIS continue to work
as usual, for eg. by using a http:// URI.
Signed-off-by: Ioan-Adrian Ratiu <adrian.ratiu@ni.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
which causes pkg-config --libs to include the full absolute path
to the recipe specific sysroot. This isn't a big problem
until something like CMake projects start generating
their own .cmake modules using this absolute path and exposing
them to sysroots of other bitbake recipes thus escaping
their recipe specific sysroots.
Then the fun begins when these users of the .cmake module start
to randomly fail builds with error messages like:
/home/builder/src/base/build/tmp/work/corei7-64-linux/package/1.0-r0/recipe-sysroot-native/usr/bin/x86_64-linux/../../libexec/x86_64-linux/gcc/x86_64-linux/7.3.0/ld: cannot find /lib/libpthread.so.0
/home/builder/src/base/build/tmp/work/corei7-64-linux/package/1.0-r0/recipe-sysroot-native/usr/bin/x86_64-linux/../../libexec/x86_64-linux/gcc/x86_64-linux/7.3.0/ld: cannot find /usr/lib/libpthread_nonshared.a
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
WARNING: exit code 1 from a shell command.
As luck has it, this problem goes away by recompiling the recipes
alone but repeats with multiple recipes here and there when full
images are build.
A careful inspection of multi page linker command lines shows
that some linker paramaters point to libraries in a different
recipes sysroot than what bitbake was building when the task
failed.
So, fix is to remove this one extra slash from openssl
library path configuration option. This changes openssl
Makefile to have:
LIBDIR=lib
and all users of LIBDIR variable in the Makefile are already
adding slashes as path separators if that is needed.
With this the generated .pc files have:
libdir=${exec_prefix}/lib
and pkg-config --libs knows to strip the already default
sysroot path away.
This then fixes the generated .cmake files to not include
these absolute paths and fixes the random build failures
when building images.
Thanks to Thomas, Michael and Ross for debugging support!
Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de> Cc: Thomas Witt <thomas.witt@bmw.de> Cc: Michael Ho <michael.ho@bmw.de> Cc: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Alex Kiernan [Sun, 23 Sep 2018 17:21:00 +0000 (17:21 +0000)]
glib-2.0: Drop allow /run/media for root patch
Upstream implemented an equivalent fix in:
c672fcc0a8d6 ("gunixmounts: Allow root to display mounts under /run/media/$username")
As a result, this change is completely broken when running as root, as
user_name is unitialised when testing strcmp(user_name, "root") so just
segfaults.
Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Nicolas Dechesne [Mon, 24 Sep 2018 15:07:54 +0000 (17:07 +0200)]
checklayer: avoid recursive loop in add_layer_dependencies
When Layer A and Layer B depend on each other, then we will end up in a
recursive loop in function recurse_dependencies(). To avoid such situation
before making the recursive function call we check whether or not we have
already processed this layer.
e.g. without this patch, running this script on layers with dependency loops, we are seeing:
Robert Yang [Tue, 25 Sep 2018 08:23:57 +0000 (16:23 +0800)]
perl: fix race issues for MakeMaker
Fixed a race issue when compile libhtml-parser-perl and others who use MakeMaker:
[snip]
chmod 755 blib/arch/auto/HTML/Parser/Parser.so
chmod 644 "Parser.bs"
[snip]
The rule INST_DYNAMIC removes '.bs' file which are generated by BOOTSTRAP, but
the have no dependencies, so there is a race issue:
BOOTSTRAP:
touch foo.bs
chmod 755 foo.bs
INST_DYNAMIC:
rm -fr foo.bs
The error would happen when INST_DYNAMIC removes foo.bs after BOOTSTRAP touched
it but before chmod on it.
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
runqemu: fix handling of SIGTERM and the problem of line wrapping
The current handling of SIGTERM is incorrect as the process pid returned
by Popen call with shell setting to True is actualy the shell instead of
the qemu process. So use shlex to split cmd so that we can avoid using
shell=True. This ensures the child process is the actual qemu process.
Also, as we install a SIGTERM handler, we need handle the situation of
qemu terminated by SIGTERM, otherwise we will get ERROR message in such
case.
Besides, we have a problem that after running qemu, the terminal's behavior
is incorrect regarding long lines or long commands. Long commands or long
outputs should appear in multiple lines, but they appear in the same line,
overriding previous output. Use `tput smam' to fix this problem.
Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Mon, 24 Sep 2018 11:28:44 +0000 (12:28 +0100)]
layer.conf: Add thud to LAYERSERIES_CORENAMES
With the release approaching, add thud to LAYERSERIES_CORENAMES and update
oe-core to use this release series. "sumo" will be removed during M4 in
the next couple of weeks so people need to start updating their master
layers in preperation for release.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There have been regressions found in 1.20 release, this is cumulative
update to bring these changes and drops the local patches which have
been upstreamed in this delta