In particular this brings an important fix for builds with py3:
"Fix build issue which would cause media controls to disappear when Python 3.x was used during the build process."
qemu: switch to '-vga std' emulated hardware from vmware/cirrus for x86/mips
This is the qemu default since qemu 2.2, is generally supported better,
and is recommended by upstream. It also has already been in use for arm/risc
and ovmf.
Bruce Ashfield [Fri, 30 Aug 2019 16:06:31 +0000 (12:06 -0400)]
linux-yocto: introduce 5.2 recipes
Introducing the 5.2 linux-yocto reference kernels. 5.0 is EOL and will
be removed, leaving 4.19 (LTS) and 5.2 as the reference kernels.
This has been build/boot tested on all qemu architectures for
core-image-kernel-dev, and graphics tesed via core-image-sato. No
blocking issues have been found.
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Fri, 30 Aug 2019 15:50:35 +0000 (16:50 +0100)]
gcc-cross: Clean up fixed-includes
We had interesting failures where building gcc-cross-powerpc with 5.0 kernel
headers, then building eudev after moving to 5.2 headers failed.
gcc-cross doesn't rebuild when linux-libc-headers changes due to its
listing in SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS. This shouldn't matter but
fixincludes as adding asm-generic/socket.h to its filtered list which
was then replacing the real header with an older version. This mismatch
lead to build failures.
We trust the Linux kernel headers to be ANSI safe so lets just clear out
any headers and trust the originals to be correct.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Chen Qi [Fri, 23 Aug 2019 08:56:29 +0000 (16:56 +0800)]
bind: fix build with python3 PACKAGECONFIG enabled
If the PACKAGECONFIG item, python3, is enabled, we get the following
QA issue when multilib is enabled.
ERROR: bind-9.11.5-P4-r0 do_package: QA Issue: bind: Files/directories were installed but not shipped in any package:
/usr/lib
/usr/lib/python3.7
/usr/lib/python3.7/site-packages
/usr/lib/python3.7/site-packages/isc-2.0-py3.7.egg-info
/usr/lib/python3.7/site-packages/isc
/usr/lib/python3.7/site-packages/isc/policy.py
[snip]
The thing is, when --with-python is specified with a path instead of 'yes',
the --with-python-install-dir is in fact ignored.
Fix this issue by specifying the correct arguments.
Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Bruce Ashfield [Wed, 28 Aug 2019 19:28:40 +0000 (15:28 -0400)]
perf: v5.3+ build fixes
In the 5.3+ perf builds, there are multiple unistd.h files that need
to be kept in sync. So not only do we update one, we update both to
ensure that libc-headers and the perf build are in sync.
perf checks some key files itself to be sure they are in sync, and
bits.h can be out of sync. There's no build error that results with
bits.h at the moment, but we still make sure they are in sync to
avoid the configure/compile warning.
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Bruce Ashfield [Thu, 29 Aug 2019 02:14:41 +0000 (22:14 -0400)]
perf: change dependencies on python to python3
The upstream kernel can now handle python3 for the perf scripts, coupled
with the impending EOL of python2, we switch the dependencies in perf
(scripting) to python3.
Outside of dependency changes, we also pass the following two variables
to the perf build: PYTHON=python3 PYTHON_CONFIG=python3-config. To
ensure that our python3 components are used.
For configurations that disable perf scripting, there is no change in
behaviour.
[YOCTO #13358]
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Bruce Ashfield [Wed, 28 Aug 2019 19:28:38 +0000 (15:28 -0400)]
kernel-devsrc: remove python2 dependency
Witht the approaching EOL of python2, the kernel packages need to
be updated to depend on python3.
The core kernel scripts are now python3 safe, making the RDEPENDS
change relatively simple.
but
There are some scripts that are captured in the devsrc files that
are not used, but reference /usr/bin/python. The python3 package
does not provide /usr/bin/python so any package managers with
automatic dependency detection will fail to assemble a rootfs due
to the missing intepreter.
We could drop the scripts from the source capture, but that
risks dropping something that we need in certain operations and
we'd miss when they are updated in tree to explicitly call python3
(since they won't be revisited often). Light testing shows that the
scripts do run with python3, so rather than removing them, we change
the interpreter once they are copied, and automatic dependency
detection won't cause us rootfs assembly issues.
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Joshua Watt [Thu, 29 Aug 2019 15:31:06 +0000 (10:31 -0500)]
oeqa: reproducible: Do two clean builds
Perform two clean builds without sstate instead of one partial rebuild
with sstate and one clean build without. There are some classes of
reproducibility issues that this solves, and while we would like to
resolve them in the long term the direction to do so is not currently
clear.
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Joshua Watt [Tue, 27 Aug 2019 19:33:47 +0000 (14:33 -0500)]
oeqa: Set LD_LIBRARY_PATH when executing native commands
Some commands like to look for libraries at runtime manually (e.g.
Python's ctype.utils.find_library() function). For this to work
properly, the libraries in the native sysroot must be findable. To
accomplish this, set LD_LIBRARY_PATH to search library paths in the
native sysroot.
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Joshua Watt [Tue, 27 Aug 2019 19:33:45 +0000 (14:33 -0500)]
oeqa: reproducible: Cleanup reproducible build
Cleans up the output from the reproducible build before building to
ensure consistent results. Note that the output put is purposely left
after around after the build so that non-reproducible packages can be
diffed.
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Robert Yang [Wed, 28 Aug 2019 11:04:57 +0000 (19:04 +0800)]
nfs-utils: 2.3.3 -> 2.4.1
- Remove 0001-Do-not-pass-null-pointer-to-freeaddrinfo.patch, the new api
can check the pointer before free it.
- Rmove 0001-makefile.am-update-the-path-of-libnfs.a.patch, it is already in
the source.
- Rmove nfs-utils-musl-limits.patch, it is already fixed.
- Rebased the following patches:
0001-Makefile.am-fix-undefined-function-for-libnsm.a.patch
0001-configure.ac-Do-not-fatalize-Wmissing-prototypes.patch
bugfix-adjust-statd-service-name.patch
nfs-utils-musl-res_querydomain.patch
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There was a discussion about what amount of RAM is appropriate for a
default; the outcome was that for now it is still 256M. Some qemu machine
definitions have however set this to 512M so for the sake of
treating all architectures fairly, they are reset back to 256M.
Also runqemu is adjusted to use 256M if QB_MEM is not set at all.
rpm: resolve a host contamination issue for mono packaging
This is perhaps not the most elegant patch but it be dropped
once rpm is updated to the soon-to-be-released version 4.15
where upstream has removed mono dependency resolution altogether.
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Thu, 29 Aug 2019 11:10:16 +0000 (12:10 +0100)]
ca-certificates: Fix reproducibilty and multilib issue
This command was dependent on the order of files on the disk and for multilib builds
could result in:
Error: Transaction check error:
file /etc/ca-certificates.conf conflicts between attempted installs of ca-certificates-20190110-r0.core2_32 and lib64-ca-certificates-20190110-r0.x86_64
Sorting the file makes things deterministic.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Adrian Bunk [Sun, 25 Aug 2019 17:21:15 +0000 (20:21 +0300)]
Remove LSB support
LSB as a standard isn't current and isn't well suited to embedded
anyway. Its putting artifical constraints on the system and with modern
layer technology, would now be better off as its own layer. As such
its time to split it out.
The only part with some (marginal) usage is lsb_release,
which is split from the lsb package into an own lsb-release
package.
Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Nathan Rossi [Wed, 28 Aug 2019 05:06:29 +0000 (05:06 +0000)]
scripts/lib/resulttool/report.py: Add more result types
Add additional result types into the dictionary to handle dejagnu style
test results. These include PASS, FAIL, XPASS, XFAIL, UNSUPPORTED,
UNTESTED, UNRESOLVED and ERROR.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Nathan Rossi [Wed, 28 Aug 2019 05:06:29 +0000 (05:06 +0000)]
oeqa/utils/nfs: Add unfs_server function to setup a userspace NFS server
Add a nfs module into oeqa utils. This module provides unfs_server which
allows a test case to build unfs3-native and setup the unfs server on a
target directory of the host. This directory is then shared and can be
mounted by the host or a target device attached to the host (e.g. qemu
via tap or slirp). The nfs server is setup over UDP and automatically
assigns user privileged ports. The function provides the UDP ports for
the server as part of a returned python contextmanager which handles
cleanup of the server process on completion or exception.
Also add a 'udp' arg to get_free_port to get a free UDP port.
Note: unfs3 still requires the host to have rpcbind or portmap running.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Nathan Rossi [Wed, 28 Aug 2019 05:06:29 +0000 (05:06 +0000)]
binutils: Fix mips patch which changes default emulation
The patch incorrectly removes 'mips_elf32_ntrad_le_vec' from the
'targ_selvecs' replacing it with duplicate entries for
'mips_elf32_ntrad_be_vec'. Correct this so that the default binutils can
still handle 'mips_elf32_ntrad_le_vec' binaries.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
src/mips/o32.S: Assembler messages:
src/mips/o32.S:286: Error: opcode not supported on this processor:
mips32r2 (mips32r2) `s.d $f12,((16*4)-10*4)($fp)'
src/mips/o32.S:287: Error: opcode not supported on this processor:
mips32r2 (mips32r2) `s.d $f14,((16*4)-8*4)($fp)'
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Andre McCurdy [Fri, 23 Aug 2019 20:51:44 +0000 (13:51 -0700)]
sqlite3: explicitly set target endian-ness
Unless SQLITE_BYTEORDER is predefined, the code falls back to build
time huristics - which are not always correct (e.g. in sqlite 3.28.0
big-endian ARM is mis-detected).
Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
looked OK but didn't actually work as expected. The native and
nativesdk classes re-set CFLAGS after the += has been applied and
so any modifications made via += are lost. Use _append instead.
Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Andre McCurdy [Fri, 23 Aug 2019 20:51:38 +0000 (13:51 -0700)]
rootfs-postcommands.bbclass: add inittab tweak to read_only_rootfs_hook()
It's not clear that we actually need to call mount -o remount,XX from
the busybox-inittab inittab at all, but as we currently do, let's
respect read-only-rootfs in IMAGE_FEATURES and not remount / as rw.
Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Andre McCurdy [Fri, 23 Aug 2019 20:51:37 +0000 (13:51 -0700)]
packagegroup-core-boot: drop duplicate MACHINE_ESSENTIAL_EXTRA_RDEPENDS, etc
Default values for MACHINE_ESSENTIAL_EXTRA_RDEPENDS and
MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS are set from bitbake.conf and so
don't need to be duplicated in the packagegroup-core-boot recipe.
Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Mazliana [Fri, 23 Aug 2019 02:29:18 +0000 (10:29 +0800)]
oeqa/kerneldevelopment: Able to apply a single patch to the Linux kernel source
Purpose of kernel development is basically to customize our
own recipes kernel by reused existing recipes.
This is an initiative of automating manual kernel development
test cases. Applying a single patch to the Linux kernel source
is one of the manual test cases of kernel development.
Objective of this test is as a developer we can make changes of
a file in kernel source and able to apply a single patch to
the kernel source.
Zang Ruochen [Tue, 27 Aug 2019 02:45:16 +0000 (10:45 +0800)]
libarchive:upgrade 3.3.3 -> 3.4.0
-libarchive/CVE-2018-1000877.patch
-libarchive/CVE-2018-1000878.patch
-libarchive/CVE-2018-1000879.patch
-libarchive/CVE-2018-1000880.patch
-libarchive/CVE-2019-1000019.patch
-libarchive/CVE-2019-1000020.patch
-libarchive/bug1066.patch
-libarchive/non-recursive-extract-and-list.patch
Removed since these are included in 3.4.0.
-License-Update: Copyright year updated to 2018.
Signed-off-by: Zang Ruochen <zangrc.fnst@cn.fujitsu.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Some notes:
- bjam bootstrap scripts were changed, and the patch for that had to be
adjusted. tools/build/src/engine/build.sh now supports an --debug option
which the bjam-native recipe can use to get the debug build of b2.
- a related patch was added to address a speed regression with the debug
version of bjam
- gcc.jam patch had to be refreshed because boost added more "cpu-flags"
lines.
- since 1.70.0, boost includes new cmake config files which are packaged
in ${PN}-dev now so they make it into the SDK. (although 1.71.0 is needed
to fix some bugs in them)
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Tim Blechmann [Tue, 27 Aug 2019 10:37:07 +0000 (18:37 +0800)]
icecc: blacklist systemtap
compiling systemtap with icecc causes the following build failure
> build/tmp/work/silvermont-64-poky-linux/systemtap/4.0-r0/recipe-sysroot/usr/include/python3.7m/modsupport.h:120:66: note: in definition of macro 'PyModule_AddIntMacro'
> HelperSDT/_HelperSDT.c:145:34: error: 'PyTrace_RETURN' undeclared (first use in this function); did you mean 'PyTrace_C_RETURN'?
Signed-off-by: Tim Blechmann <tim@klingt.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Martin Hundebøll [Wed, 21 Aug 2019 10:25:53 +0000 (12:25 +0200)]
initscripts: remove warnings on read-only-rootfs (again)
When the populate-volatile.sh initscript tests if a configured symlink
is already in place, it uses readlink with the '-f' (follow) option:
> [ "$(readlink -f $source)" = "$dest" ]
If the test fails, it proceeds to delete the exisiting folder/file, and
create the configured symlink.
However, the '-f' option to readlink makes it follow symlinks pointing
at symlinks. If the $dest argument is a symlink, the above test fails,
and warnings are printed due to changing a read-only rootfs.
This is the case for /tmp, and /etc/resolv.conf:
> /tmp -> /var/tmp -> /var/volatile/tmp
> /etc/resolv.conf -> /var/run/resolv.conf -> /run/resolv.conf
Fix the warnings by removing the '-f' option, so that the test matches
the configuration.
[ YOCTO #10814 ]
Signed-off-by: Martin Hundebøll <martin@geanix.com> Signed-off-by: Jacob Kroon <jacob.kroon@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Rebase files/0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch
License-Update: clarified license for numpy/core/src/multiarray/dragon4.c (it is MIT) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Trevor Gamblin [Thu, 22 Aug 2019 12:29:05 +0000 (08:29 -0400)]
quilt: added less to RDEPENDS list
The quilt "series" option relies on "less -R" but, since that
option is not enabled by busybox in oe-core by default,
hard-code the dependency on 'less'.
>From 'man less':
-r or --raw-control-chars
Causes "raw" control characters to be displayed. ...
-R or --RAW-CONTROL-CHARS
Like -r, but only ANSI "color" escape sequences are
output in "raw" form. ...
In 2018, BusyBox's less added: 8528d3d4f less: optional support of -R
but it is not enable by default for oe-core. While we could
enable the option, all known use-cases involve larger, more
developer-oriented recipes such as quilt or man pages.
Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Trevor Gamblin [Thu, 22 Aug 2019 12:29:04 +0000 (08:29 -0400)]
quilt: Export QUILT_PC variable in ptest Makefile
The quilt ptest uses a custom Makefile to implement the
"make check" rule, but the ptest Makefile does not export
the variable QUILT_PC, which is user-settable and normally
defaults to ".pc". This causes failures e.g. import.test
with "rm -rf patches/ %{QUILT_PC}/", evaluating to
"rm -rf patches/ /" if the variable is not set by the
Makefile.
These ptests broke in: 73d6034f6b quilt: update to 0.66
when the upstream quilt developers enabled users to specify
their own QUILT_PC string.
Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Khem Raj [Mon, 19 Aug 2019 16:42:58 +0000 (09:42 -0700)]
libffi: Upgrade to 3.3-rc0
libffi 3.1 release has been a bit aged and new architectures, compilers
have since been come on stage to compile it, we have been carrying
patches, but its better to use the latest 3.3 rc0 which has lot of these
issues handled and is in good shape.
Use 3.3~rc0 for PV to keep room for upgrade path without PE bump
fix the multilib header conflict
file /usr/include/ffi.h from install of libffi-dev-3.2.1+3.3+rc0-r0.core2_32 conflicts with file from package lib64-libffi-dev-3.2.1+3.3+rc0-r0.x86_64
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>