Changqing Li [Thu, 20 Sep 2018 02:16:27 +0000 (10:16 +0800)]
dbus-test: fix ptest failed problem when multilib is enabled
Fix some failed info like:
| ./test/test-bus: relocation error: ./test/test-bus: symbol
| _dbus_threads_init_debug, version LIBDBUS_PRIVATE_1.10.10 not defined
| in file libdbus-1.so.3 with link time reference
| FAIL: test/test-bus
In run-ptest, LD_LIBRARY_PATH is set to /usr/lib, but when multilib
is enabled, /usr/lib64 will be used. fix by replace with correct path.
Signed-off-by: Changqing Li <changqing.li@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
gstreamer1.0-plugins-bad: remove rtmpdump from DEPENDS
rtmpdump is not a build dependency for gstreamer1.0-plugins-bad even if
rtmp is enabled. This wouldn't compile anyway due to the
openssl/openssl10 incompatibility because rtmpdump requires openssl10.
Signed-off-by: Florian Wickert <fw@javox-solutions.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
This is a step towards running pebuilt applications for glibc on musl
There are many realworld applications which are not always built from
source, especially provided by third party
Package the glibc symlinks into new package musl-glibc-compat
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Re-worked ghostscript-9.21-native-fix-disable-system-libtiff.patch
and ghostscript-9.21-prevent_recompiling.patch
to fix warnings in do_patch task of ghostscript v9.25 recipe.
Highlights of ghostscript v9.25 release:
---------------------------------------
- This release fixes problems with argument handling, some unintended results
of the security fixes to the SAFER file access restrictions
(specifically accessing ICC profile files), and some additional security
issues over the recent 9.24 release.
- Note: The ps2epsi utility does not, and cannot call Ghostscript with
the -dSAFER command line option. It should never be called with input
from untrusted sources.
- Security issues have been the primary focus of this release, including
solving several (well publicised) real and potential exploits.
- As well as Ghostscript itself, jbig2dec has had a significant amount of work
improving its robustness in the face of out specification files.
- IMPORTANT: We are in the process of forking LittleCMS. LCMS2 is not thread
safe, and cannot be made thread safe without breaking the ABI.
Our fork will be thread safe, and include performance enhancements
(these changes have all be been offered and rejected upstream). We will
maintain compatibility between Ghostscript and LCMS2 for a time, but not in
perpetuity. Our fork will be available as its own package separately from
Ghostscript (and MuPDF).
- The usual round of bug fixes, compatibility changes, and incremental
improvements.
Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Zhixiong Chi [Wed, 19 Sep 2018 02:26:35 +0000 (19:26 -0700)]
gdb: gdbserver: update ctrl-c handling
A) gdbserver sends SIGINT not to the process, but to the process
group (-signal_pid). But the attached process is not always a
process group leader. If not, "kill (-signal_pid, SIGINT)" returns
error and fails to interrupt the attached process. We cannot interrupt
the process attached with gdbserver who is not a process group leader.
This problem was created by the gdb upstream commit 78708b7c8c
The commit fixed the following case B) bug.
B) We cannot interrupt the process attached with gdbserver whose
main thread exits (pthread_exit()).
Now this patch can solve both A) and B).
Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Zhixiong Chi [Tue, 18 Sep 2018 08:46:17 +0000 (01:46 -0700)]
curl: CVE-2018-14618
Backport the CVE patch from the upstream
https://github.com/curl/curl/commit/57d299a499155d4b327e341c6024e293b0418243.patch
https://curl.haxx.se/docs/CVE-2018-14618.html
https://nvd.nist.gov/vuln/detail/CVE-2018-14618
Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Changqing Li [Wed, 19 Sep 2018 08:26:46 +0000 (16:26 +0800)]
openssl10: fix compile error for debian-mips64
Current configuration for debian-mips64 is not correct,
'SIXTY_FOUR_BIT_LONG' need to be specified. otherwise,
it will cause other recipe like crda compile failed since
use default THIRTY_TWO_BIT mode.
Signed-off-by: Changqing Li <changqing.li@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Ross Burton [Wed, 19 Sep 2018 13:44:40 +0000 (14:44 +0100)]
gnupg: patch gnupg-native to allow path relocation
GnuPG hard-codes $bindir etc and uses them to find the helper binaries, such as
gpg-agent. This breaks if gnupg-native is reused from sstate for a different
build directory and GPG signing of packages is required.
Patch in getenv() checks for gnupg-native when returning the hardcoded paths,
and create a wrapper script which overrides GNUPG_BINDIR. There are more paths
that can be overridden, but this one is sufficient to make GnuPG work.
Signed-off-by: Ross Burton <ross.burton@intel.com>
Martin Jansa [Mon, 17 Sep 2018 05:48:43 +0000 (05:48 +0000)]
dummy-sdk-package.inc: work around MACHINE_ARCH SSTATE_MANMACH
* since following change:
allarch: only enable allarch when multilib is not used
the sstate-diff-machines.sh reports different signature for target-sdk-provides-dummy
when multilib is enabled
=== Comparing signatures for task do_populate_sysroot.sigdata between qemux86 and qemux86copy ===
ERROR: lib32-target-sdk-provides-dummy different signature for task do_populate_sysroot.sigdata between qemux86 and qemux86copy
basehash changed from b0a44b2c7003b6b4aa3a023d9cb9fe82 to 3a59fa25ddb6a95aff079d477ebf3457
Variable SSTATE_MANMACH value changed from 'qemux86' to 'qemux86copy'
ERROR: target-sdk-provides-dummy different signature for task do_populate_sysroot.sigdata between qemux86 and qemux86copy
basehash changed from 9e44f1deb3d15886ee96db1a3332764c to 6b417d08a5113c9b06d13b3681f5ab4f
Variable SSTATE_MANMACH value changed from 'qemux86' to 'qemux86copy'
It's using:
inherit allarch
python() {
# Put the package somewhere separate to ensure it's never used except
# when we want it
# (note that we have to do this in anonymous python here to avoid
# allarch.bbclass disabling itself)
d.setVar('PACKAGE_ARCH', '${DUMMYARCH}')
}
and DUMMYARCH = "sdk-provides-dummy-target"
The difference as shown with bitbake -e before and after reverting allarch.bbclass commit:
before revert:
$SSTATE_MANMACH [2 operations]
set? oe-core/meta/classes/sstate.bbclass:61
"${SSTATE_PKGARCH}"
set sstate.bbclass:100 [__anon_111_oe_core_meta_classes_sstate_bbclass]
"machineName"
pre-expansion value:
"machineName"
SSTATE_MANMACH="machineName"
$SSTATE_PKGARCH
set oe-core/meta/classes/sstate.bbclass:11
"${PACKAGE_ARCH}"
SSTATE_PKGARCH="sdk-provides-dummy-target"
$PACKAGE_ARCH [3 operations]
set oe-core/meta/conf/bitbake.conf:150
[_defaultval] "${TUNE_PKGARCH}"
set oe-core/meta/conf/documentation.conf:304
[doc] "The architecture of the resulting package or packages."
set dummy-sdk-package.inc:12 [__anon_12_oe_core_meta_recipes_core_meta_dummy_sdk_package_inc]
"${DUMMYARCH}"
pre-expansion value:
"${DUMMYARCH}"
PACKAGE_ARCH="sdk-provides-dummy-target"
after revert:
$SSTATE_MANMACH
set? oe-core/meta/classes/sstate.bbclass:61
"${SSTATE_PKGARCH}"
SSTATE_MANMACH="allarch"
$SSTATE_PKGARCH [2 operations]
set oe-core/meta/classes/sstate.bbclass:11
"${PACKAGE_ARCH}"
set sstate.bbclass:98 [__anon_111__oe_core_meta_classes_sstate_bbclass]
"allarch"
pre-expansion value:
"allarch"
SSTATE_PKGARCH="allarch"
$PACKAGE_ARCH [4 operations]
set oe-core/meta/conf/bitbake.conf:150
[_defaultval] "${TUNE_PKGARCH}"
set oe-core/meta/conf/documentation.conf:304
[doc] "The architecture of the resulting package or packages."
set oe-core/meta/classes/allarch.bbclass:5
"all"
set dummy-sdk-package.inc:12 [__anon_12_oe_core_meta_recipes_core_meta_dummy_sdk_package_inc]
"${DUMMYARCH}"
pre-expansion value:
"${DUMMYARCH}"
PACKAGE_ARCH="sdk-provides-dummy-target"
the relevant part of the anonymous python in sstate.bbclass:
So with allarch.bbclass change, the PACKAGE_ARCH isn't set to "all" because multilib is enabled,
but that causes sstate.bbclass to set SSTATE_MANMACH to MACHINE instead of SSTATE_PKGARCH
allarch, where it got MACHINE is still a bit of mystery to me.
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When mount command is executed in rootfs module of initrd, eudev creates
a loop0 device node, applies rules and adds a inotify watch to it. Right
after this step, we execute finish which first tries to kill any running
udevd daemon before doing a switch_root.
In some cases, it is possible that switch_root is executed before
inotify_add_watch was actually processed which would lead to errors like:
| inotify_add_watch(6, /dev/loop0, 10) failed: No such file or directory
Make sure that we process all the events in queue before actually trying
to kill udevd to prevent this race.
Fixes [YOCTO #12861]
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
isoimage-isohybrid: don't include cpio in cpio image
Because the find | cpio processes execute in parallel connected via
the pipe, and the cpio outputs in the same dir find searches for
source files, the cpio will be included in itself partially, depending
on how fast the build machine creates the cpio file before cpio
gobbles it up.
This bloats the ISO image, though compression reduces the .iso file size,
once the kernel decompresses the cpio image and boots it live, it uses
up to double the RAM memory.
Fix this by creating the initrd.cpio file directly inside cr_workdir.
Signed-off-by: Ioan-Adrian Ratiu <adrian.ratiu@ni.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
openssh: upgrade 7.8p1 -> 7.8p1+git to support openssl 1.1.x
- Convert from tarball to git repository which support
openssl 1.1.x
- There is no specific minor version that contains the
openssl fix (it was merged to master a few days agao),
rename recipe version to `7.8p1+git'
- Fix regression test binaries missing
In commit `1f7aaf7 openssh: build regression test binaries', it build
regression test binaries, since upstream add two binaries in commits
`c59aca8 Create control sockets in clean temp directories' and
`1acc058 Disable tests where fs perms are incorrect', we should update
do_compile_ptest.
[ptest log]
|/usr/lib/openssh/ptest/regress/test-exec.sh: line 330: /usr/lib/openssh/
ptest/regress/mkdtemp: No such file or directory
[ptest log]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
udev-extraconf: Add systemd-mount to udev-extraconf/mount.sh
Udev-extraconf works correctly with sysvinit in the aspect of automounting
block devices. But it has a serious problem in case of systemd. Block devices
automounted by udev is unaccessible to host space(out of udevd's private
namespace). For example, we cannot format those block devices.
e.g.
root@qemux86:~# mkfs.ext4 /dev/sda1
mke2fs 1.43.8 (1-Jan-2018)
/dev/sda1 contains a ext4 file system
last mounted on Tue Apr 3 06:22:41 2018
Proceed anyway? (y,N) y
/dev/sda1 is apparently in use by the system; will not make a filesystem here!
Other distributions has no such problem, because they use a series of rules to
manager block devices. Different types of block devices match different rules.
But udev-extraconf just use one rule, automount.rules, which results in this
problem.
The 'systemd-mount' command is recommended by the systemd community to solve such
problems.
This patch makes use of 'systemd-mount' to solve the above problem.
Ross Burton [Thu, 13 Sep 2018 11:30:39 +0000 (12:30 +0100)]
oeqa/selftest/recipetool: fix non-determinism in cmake test
The Navit recipe can depend on fribidi which is now part of oe-core. Since the
pkgconfig lookup is based on pkgdata the results can change depending on what
has been built, which leads to occasional failures.
Build gtk+ before the test to ensure that the pkgdata is populated with more of
the dependencies, and add fribidi to the generated DEPENDS checklist.
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
kexec-tools: Depend on sysinit.target rather than basic.target
kdump.service only needs filesystems to be up, for which sysinit.target
is sufficeint. basic.target pulls in networking and other services which
are unnecessary for kdump. This is also useful for when kdump.service is
used as the boot target (e.g. for the kdump kernel) and only a minimal
system needs to be brought up.
Signed-off-by: Andrew Bresticker <abrestic@waymo.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Changqing Li [Thu, 13 Sep 2018 05:45:46 +0000 (13:45 +0800)]
apr-util: fix ptest fail problem
Test suite test_dbm failed after gdbm upgrtade to 13.1,
from 13.1, return value of some function are changed.
* gdbm_fetch, gdbm_firstkey, and gdbm_nextkey behavior
If the requested key was not found, these functions return datum with
dptr pointing to NULL and set gdbm_errno to GDBM_ITEM_NOT_FOUND (in
prior releases, gdbm_errno was set to GDBM_NO_ERROR),
Signed-off-by: Changqing Li <changqing.li@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
BPF Linux ELF objects are generated with kernel-selftests with
>= 4.18 kernel and when clang is enabled which packages BPF objects
into packages, therefore recongnise this as a valid ELF target
Add a selftest for BPF
Do not flag BPF objects in target, since they pretty much will be ok for
most of kernels architectures we care do support BPF
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
linux-libc-headers: Don't do useless configuration
There's no point in configuring Linux kernel before
headers installation.
Moreover in come cases it might lead to problems on kernels
starting from 4.17 with architecture or platfrom sets
CROSS_COMPILE variable automatically, see [1].
Also note Buildroot doesn't do that kind of configuration as
well, see [2].
And while at it convert empty do_compile to noexec as well.
Avoid coreutils conflicts with nice from other recipes, like
busybox - even if that's not enabled by default.
In situations, where coreutils is a dependency for -dev images
and small busybox nice is available always, it avoids extra
effort for coreutils for those users.
Signed-off-by: Jens Rehsack <sno@netbsd.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
warning: TCG doesn't support requested feature: CPUID.80000001H:EDX.syscall [bit 11]
warning: TCG doesn't support requested feature: CPUID.80000001H:EDX.lm [bit 29]
when executing postinsts using qemu-i386.
i386 target doesn't enable CPUID_EXT2_SYSCALL and CPUID_EXT2_LM [1]
while cpu choice of core2duo that we use for core2-32 TUNE does [2].
Use n270 cpu instead to use with qemu which supports SSSE3 and doesn't
have these bits enabled [3].
Ross Burton [Tue, 11 Sep 2018 15:41:48 +0000 (16:41 +0100)]
python3: add PACKAGECONFIG for bluetooth
Instead of forcibly disabling Bluetooth (support for Bluetooth sockets in the
socket module), add a PACKAGECONFIG. The default remains disabled for
consistency.
Signed-off-by: Ross Burton <ross.burton@intel.com>
Ross Burton [Tue, 11 Sep 2018 15:22:13 +0000 (16:22 +0100)]
python3: remove redundant assignments
_PYTHON_PROJECT_BASE and _PYTHON_PROJECT_SRC appear to be set in setup.py from
the source directory and build directory correctly, so this is redundant.
Signed-off-by: Ross Burton <ross.burton@intel.com>
Dengke Du [Wed, 12 Sep 2018 08:55:56 +0000 (16:55 +0800)]
ltp: fix mmap15 failed on qemumips64
Actually, this is not a bug, mmap15 only run on 64bit system.
On qemumips64, mmap15 return EINVAL, x86-64 and arm64 return
ENOMEM. This is because mips system check the addr that passed
to the syscall mmap15:
Kevin Hao [Wed, 12 Sep 2018 00:44:46 +0000 (08:44 +0800)]
wic: Introduce the --use-label partition parameter
We can use this parameter to make the wic use the label to name a
partition in /etc/fstab.
Signed-off-by: Kevin Hao <kexin.hao@windriver.com> Reviewed-by: Tom Rini <trini@konsulko.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Kai Kang [Tue, 11 Sep 2018 23:25:23 +0000 (19:25 -0400)]
multilib: fix install file conflicts
Fix install files conflicts between multlib packages by inherit multilib_script:
| file /usr/bin/cairo-trace conflicts between attempted installs of lib32-libcairo-perf-utils-1.14.12-r0.x86 and libcairo-perf-utils-1.14.12-r0.core2_64
| file /usr/bin/icu-config conflicts between attempted installs of lib32-icu-dev-62.1-r0.x86 and icu-dev-62.1-r0.core2_64
| file /usr/bin/gpgrt-config conflicts between attempted installs of lib32-libgpg-error-dev-1.32-r0.x86 and libgpg-error-dev-1.32-r0.core2_64
Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The rprovides of target-sdk-provides-dummy don't be updated with
multilib, so it fails package_qa_multilib check. Because
target-sdk-provides-dummy doesn't install any file to sysroot, it is
safe to skip package_qa_multilib check for target-sdk-provides-dummy.
Remove ${MLPREFIX}target-sdk-provides-dummy from TOOLCHAIN_TARGET_TASK
at same time in populate_sdk_base.bbclass.
Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Kai Kang [Tue, 11 Sep 2018 23:25:21 +0000 (19:25 -0400)]
statetests.py: drop test_sstate_allarch_samesigs_multilib
allarch is disabled when multilib is used, so sstate oeqa case
test_sstate_allarch_samesigs_multilib is useless. Remove check for
allarch part and rename to test_sstate_nativesdk_samesigs_multilib.
Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Kai Kang [Tue, 11 Sep 2018 23:25:20 +0000 (19:25 -0400)]
update_gtk_immodules_cache: update for multilib
Postinstall script update_gtk_immodules_cache calls
${bindir}/gtk-query-immodules-${version}. When multilib is enabled, both
packages foo and lib32-foo call ${bindir}/gtk-query-immodules-${version}
and one of them will fail to run obviously.
Duplicate install files gtk-query-immodules-${version} to ${libexecdir}
with ${MLPREFIX}. And update update_gtk_immodules_cache calls proper
binary.
Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Kai Kang [Tue, 11 Sep 2018 23:25:19 +0000 (19:25 -0400)]
update_font_cache: update script for multilib
Packages which inherit fontcache.bbclass call postinstall script
update_font_cache. And in update_font_cache, it calls ${bindir}/fc-cache
by qemuwrapper. When multilib is enabled, both packages foo and lib32-foo
will call ${bindir}/fc-cache and one of them will fail to run obviously.
Duplicate install file fc-cache to ${libexecdir} with ${MLPREFIX} and
call proper fc-cache in update_font_cache.
Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Leon Woestenberg [Mon, 10 Sep 2018 21:56:43 +0000 (23:56 +0200)]
kernel.bbclass: do not deploy fitImage; kernel-fitimage.bbclass does that.
kernel-fitimage.bbclass replaces an occurance of "fitImage" in
KERNEL_IMAGETYPE_FOR_MAKE by an image type that is buildable for the
architecture (such as zImage). The kernel-fitimage.bbclass packs that
image as sub-image in a flattened image tree image (fitImage) and
deploys this fitImage along with the image tree source file (.its).
kernel-fitimage.bbclass does not alter KERNEL_IMAGETYPES, which thus
also contains "fitImage", which kernel.bbclass will also deploy
redundantly with different naming.
The result is a dual deployment with slightly different naming,
each with a set of symlinks.
The solution chosen is to have fitImage deployment be handled by
kernel-fitimage.bbclass, and have kernel.bbclass ignore fitImage
types during deployment.
Signed-off-by: Leon Woestenberg <leon@sidebranch.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
By default the devicetree class adds padding to the generated .dtb
files, which can be needed by the bootloader. However it also pads
.dtbo files, which is not useful.
Don't apply padding to the overlay devicetrees.
To achieve this:
* move "-p ${DT_PADDING_SIZE}" to a new variable, DTB_BFLAGS (B for
"base")
* add "-p 0" to DTC_OFLAGS to disable padding for overlays
Robert Yang [Wed, 5 Sep 2018 07:16:18 +0000 (15:16 +0800)]
bitbake.conf: Make BUILD_OPTIMIZATION respect to DEBUG_BUILD
We may also need debug native tools, so make BUILD_OPTIMIZATION respect to
DEBUG_BUILD, otherwise, we need set CFLAGS in the recipe which isn't
convenient.
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Mon, 10 Sep 2018 13:31:22 +0000 (14:31 +0100)]
python3: remove patch that inadvertently disables xattrs
This patch dates back to the addition of the Python 3 recipe to oe-core, and as
listxattr is never added to supports_follow_symlinks the extended attribute
support will never be enabled.
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Mon, 10 Sep 2018 13:31:21 +0000 (14:31 +0100)]
python3: remove redundant patch
None of the Python invocations that this changes are actually called, and
there's no need to provide a HOSTPGEN variable when the recipe can just override
PGEN directly.
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
QEMU_USE_KVM can either be a boolean or a whitespace separated list
of kvm supported machines.
For the 'intel-corei7-64' machine, defined in meta-intel, kvm could not be
used as the 'x86' substring is not part of its machine name.
By changing the order of this 'or' statement and setting
the 'QEMU_USE_KVM' variable to 'intel-corei7-64', it is possible to run the
'testimage' task with kvm support successfully.
Signed-off-by: Emmanuel Roullit <emmanuel.roullit@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Tue, 11 Sep 2018 09:37:36 +0000 (10:37 +0100)]
harfbuzz: remove stale pkg.m4
harfbuzz shipped an old pkg.m4 which overruled the pkg.m4 from the sysroot.
This is now fixed upstream, but until another release is made delete it from the
source tree.
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
tclibc-baremetal.inc: Remove BASEDEPENDS on compilerlibs
Without a libc the gcc-runtime provider of compilerlibs does not
compile. As such avoid the default dependence on the
virtual/${TARGET_PREFIX}compilerlibs provider.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
tclibc: For newlib and baremetal disable some security features
With GCCPIE being enabled by default with security_flags.inc the
compiler will by default attempt to compile and link programs as PIE.
The targets that use newlib and baremetal in general do not support PIE
or are otherwise unable to use it due to how embedded targets are
compiled and executed. As such it makes sense to disable PIE by default
for these libc's in order to prevent build failures.
For baremetal tclibc there are no libc features or implementation as
such there is no implementation for the strong stack protector by
default.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
libgloss_3.0.0.bb: Fix up mv pattern to include libnosys
When installing libgloss libraries handle the ${TARGET_SYS}/lib contents
so that it is placed in ${libdir} instead of ${libdir}/lib. This
resolves a packaging QA issue.
ERROR: libgloss-3.0.0-r0 do_package: QA Issue: libgloss:
Files/directories were installed but not shipped in any package:
/usr/lib/lib
/usr/lib/lib/libnosys.a
/usr/lib/lib/nosys.specs
Please set FILES such that these items are packaged. Alternatively
if they are unneeded, avoid installing them or delete them within
do_install.
libgloss: 3 installed and not shipped files. [installed-vs-shipped]
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Martin Jansa [Mon, 10 Sep 2018 09:35:31 +0000 (09:35 +0000)]
attr: use u-a for setfattr
setfattr is now provided also by busybox since 1.29.2 upgrade and
do_rootfs is failing with:
update-alternatives: Error: not linking usr/bin/setfattr to /bin/busybox.nosuid since
usr/bin/setfattr exists and is not a link
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Modifying this constrain allows a user to create squashfs-based rootfs and boot
from them with such kernel argument 'root=PARTUUID=7d46da2d-29cc-4d5a-9e39-d0381c4abb0c'
Fixes: 2fbdcf4e59c8 ("wic: kparser.py: Check for SquashFS and use-uuid") Signed-off-by: Emmanuel Roullit <emmanuel.roullit@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Bruce Ashfield [Fri, 7 Sep 2018 13:38:40 +0000 (09:38 -0400)]
kern-tools: improve kernel config audit output
Recent kernels broke the ability of kconfiglib to parse the Kconfig
files and offer reasons why a symbol may not be set. To address this
issue, we update to Kconfiglib2 and adjust the symbol_why script to
work with the new API.
We also tweak the kconf_check script to allow the specification of
a list of option as "non-hardware". This allows a BSP to inhibit
warnings on options that it knows are mismatched for a valid reason
(i.e. -tiny kernels using common fragments with known missing
dependencies).
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Thu, 6 Sep 2018 22:40:47 +0000 (23:40 +0100)]
busybox/packagegroups: Break out the busybox-syslog dependency
The busybox-syslog rrecomends is proving tricky as it gets pulled in early and
there are conflicts between its use of update-alternatives and busybox needing
to provide those things.
We already have recipes using BAD_RRECOMMENDS to remove this dependency, it probably
makes sense to spell it out explicitly and allow it to be overridden more easily.
This patch does this, dropping the now unneeded BAD_RRECOMMENDS. It preserves
the dependency as a recommendation for now, further cleanup may allow simplication
of that.
This unbreaks certain build failures on the autobuilder, more as a workaround but
is a change we probably want to make anyway.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Fri, 7 Sep 2018 11:15:52 +0000 (12:15 +0100)]
staging: Ensure we handle glibc-locale do_stash_locale correctly
Occasionally we see warnings like:
WARNING: core-image-sato-1.0-r0 do_populate_sdk: Manifest /home/pokybuild/yocto-worker/nightly-qa-extras/build/build/tmp/sstate-control/manifest-allarch-nativesdk-linux-libc-headers.populate_sysroot not found in i686_linux allarch (variant '')?
which occur when do_populate_sdk is run in an otherwise empty TMPDIR.
It occurs because do_stash_locale is not recognised as a setscene task
and is removed from the taskgraph meaning the dependency chains fed
through setscene_depvalid don't match what was actually setscene'd.
That task is recipe specific and not in the global SSTATETASKS so we
hardcode the value for now to stop the build warnings. This is going to
need to be revisited for a more generic solution.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>