Mingli Yu [Wed, 22 Jan 2020 08:35:47 +0000 (00:35 -0800)]
gstreamer1.0-plugins-common.inc: disable orc on mips
After transiton to meson build for gstreamer series,
for gstreamer1.0-plugins-base, with below two commits
introduced: 238080ed89 gstreamer: Remove unused common files and patches 20614408dc gstreamer1.0-plugins-base: Transition to meson based builds
Henning Schild [Fri, 24 Jan 2020 13:48:47 +0000 (14:48 +0100)]
lib/oe/path: try hardlinking instead of guessing when it might fail
The comparison of the stat st_dev is not enough to judge whether
hardlinking will work. One example would be where you try and hardlink
across two bind-mounts of a directory. The st_dev will be the same and
the operation will still fail.
Instead of implementing a check to try and figure out hardlink support
just try hardlinking and fall back to a copy when running into an
exception.
Signed-off-by: Henning Schild <henning.schild@siemens.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Daniel McGregor [Thu, 23 Jan 2020 21:44:43 +0000 (15:44 -0600)]
buildhistory: Allow customising buildhistory tags
Allow setting custom buildhistory tag prefixes. This allows multiple
build directories to share one buildhistory git repository with multiple
worktrees.
Signed-off-by: Daniel McGregor <daniel.mcgregor@vecima.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Daniel McGregor [Thu, 23 Jan 2020 21:44:42 +0000 (15:44 -0600)]
cmake: prefer CMAKE_BUILD_PARALLEL_LEVEL
cmake 3.12 introduced this environment variable. Prefer it to passing
PARALLEL_MAKE and PARALLEL_MAKEINST on the cmake command line, because
it gets passed to second stage cmake invocations while command-line
arguments do not (for example, multi-stage clang builds)
Signed-off-by: Daniel McGregor <daniel.mcgregor@vecima.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Daniel McGregor [Thu, 23 Jan 2020 21:44:41 +0000 (15:44 -0600)]
procps: enable optional systemd support
procps includes support for listing the owning unit of a process, but
this support is disabled by default. Enable support using
a PACKAGECONFIG that depends on the systemd DISTRO_FEATURE.
Signed-off-by: Daniel McGregor <daniel.mcgregor@vecima.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Rasmus Villemoes [Mon, 20 Jan 2020 09:23:06 +0000 (09:23 +0000)]
glibc: don't ignore global LDFLAGS settings
Two things: The -Wl,-rpath-link comment is stale (due to per-recipe
staging), so we no longer need to set our own LDFLAGS to avoid
-Wl,-rpath-link being in there. Second, overriding LDFLAGS should be
done at the recipe level so "bitbake -e" can show what is going on.
Otherwise debugging why one's global LDFLAGS tweaks are being ignored
is needlessly painful.
So pull out the LDFLAGS setting from do_compile, and change it to an
append instead of assignment.
For the benefit of future git blame: the -fuse-ld=bfd setting was
added by ac64c3b96b (glibc: always use bfd linker).
Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
License-update: copyright years Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
License-update: copyright years Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
License-Update: copyright years Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
License-Update: Copyright years, file lists Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Bruce Ashfield [Tue, 28 Jan 2020 22:14:10 +0000 (17:14 -0500)]
kernel-devsrc: update to v5.4+
To support on-target module building, we need to include syscall.tbl
for ARM64 (just like we do for other architectures).
We also copy .config with -a to ensure that we don't trigger extra
processing and regen configs.
Signed-off-by: Bruce Ashfield <bruce.ashfield@xilinx.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Bruce Ashfield [Tue, 28 Jan 2020 22:14:09 +0000 (17:14 -0500)]
kern-tools: update Kconfiglib to latest (for 5.4+ kernel)
When a symbol doesn't make it into the final analysis is run
using Kconfiglib to show dependencies. v5.4 has introduced Kconfig
elements that Kconfiglib can't parse (hence we get no analysis).
Updating the Kconfiglib snapshot solves our problem.
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Bruce Ashfield [Tue, 28 Jan 2020 22:14:08 +0000 (17:14 -0500)]
linux-yocto: introduce 5.4 recipes
This creates recipes for the v5.4/* branches of the linux-yocto
reference kernel.
preempt-rt, yaffs2, aufs5 and reference board specific patches are
part of these branches. All major architectures: x86,x86-64,ARM,
ARM64,ppc,mips and mips64 have been feature tested against this
reference.
5.4 is a LTS release, and as such will receive -stable updates
for the duration of upstream korg support.
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
pod2man writes the current date into manpages, and while later
versions of it respect SOURCE_DATE_EPOCH and use that instead,
earlier versions do not. This was found to cause reproducibility
issues.
This patch replaces host version of pod2man with one from
perl-native.
[YOCTO #13755]
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Tue, 28 Jan 2020 14:42:55 +0000 (14:42 +0000)]
texinfo/texinfo-dummy-native: Drop native path prefix
Now we have recipe specific sysroots we don't need this native path
prefix. It was breaking the crosssdk/cross-canadian cases and causing
bugs, removing it is the simplest solution.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Joshua Watt [Sun, 19 Jan 2020 18:59:59 +0000 (12:59 -0600)]
oeqa: reproducible: Do not strip packages
Do not strip packages when testing reproducible builds. In some cases,
stripped data differs between builds, but then gets removed. However,
the contents affect the generation of the GCC build-id, which then
differs in the resulting ELF files, even though the data that caused
this is no longer there. Inhibit stripping so that their causes can be
evaluated.
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Joshua Watt [Fri, 31 Jan 2020 19:04:16 +0000 (13:04 -0600)]
classes/reproducible_build: Read SDE file later
Defers the resolution of the SOURCE_DATE_EPOCH until the variable needs
to be actually realized with a value. The previous method of loading the
value in anonymous python had issues because it could occur before other
anonymous python functions that affect the location of the epoch file,
such as when a recipe uses AUTOINC/AUTOREV or allarch.bbclass.
Also adds more logging to help diagnose issues in the future.
[YOCTO #13763]
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Andrey Zhizhikin [Mon, 27 Jan 2020 10:44:44 +0000 (10:44 +0000)]
gstreamer1.0-plugins-bad: resolve opencv pkg-config in meson build
When opencv is picked in PACKAGECONFIG, plugin fails to locate data
dirs. This is due to meson.build file uses 'test' utility to verify that
the data dirs path is present and not taking sysroot into prefix.
Introduce additional patch, which picks up PKG_CONFIG_SYSROOT_DIR as
prefix for 'test' utility to verify the data dir is actually present.
Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Mark Hatle [Wed, 22 Jan 2020 00:27:02 +0000 (18:27 -0600)]
libgcc.inc: Fix an issue w/ a recursive symlink
If the OS is not Linux, the code could end up generating a recursive symlink.
This can happen because the same symlink can be created twice in a row. If this
happenes, the second symlink becomes a link to itself within the directory
pointed to by the original link.
In order to prevent this, verify that the destination does not already exist.
Signed-off-by: Mark Hatle <mark.hatle@xilinx.com> Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Mark Hatle [Wed, 22 Jan 2020 00:27:01 +0000 (18:27 -0600)]
toaster.bbclass: Fix error when toaster is used to monitor a build
The error being corrected looks like:
File: '/home/jenkins/workspace/OEBuild/build-32/oe-core/meta/classes/toaster.bbclass', lineno: 130, function: toaster_package_dumpdata
0126: lpkgdata = {}
0127: datadir = os.path.join(pkgdatadir, 'runtime')
0128:
0129: # scan and send data for each generated package
*** 0130: for datafile in os.listdir(datadir):
0131: if not datafile.endswith('.packaged'):
0132: lpkgdata = _toaster_load_pkgdatafile(datadir, datafile)
0133: # Fire an event containing the pkg data
0134: bb.event.fire(bb.event.MetadataEvent("SinglePackageInfo", lpkgdata), d)
Exception: FileNotFoundError: [Errno 2] No such file or directory: '/home/jenkins/workspace/OEBuild/builds/build-32/tmp-glibc/work/core2-64-oe-linux/puzzles/2_0.0+gitAUTOINC+c6e0161dd4-r0/pkgdata/runtime'
There must be a small window before the data is available, but while the monitoring is on-going.
Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Tom Hochstein [Wed, 20 Nov 2019 19:25:51 +0000 (19:25 +0000)]
u-boot.inc: Fix devtool build u-boot for u-boot without menuconfig
For u-boot recipes without menuconfig support, running devtool results
in a do_configure error:
cp: cannot stat '/home/r60874/upstream/fsl-xwayland/tmp/work/imx8mmevk-fsl-linux/u-boot-imx/2018.03-r0/u-boot-imx-2018.03//.config': No such file or directory
The problem arises because u-boot.inc supports recipes with and without
menuconfig.
Fix the problem by properly setting DEVTOOL_DISABLE_MENUCONFIG so that devtool
can control logic that applies only for menuconfig support.
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Tom Hochstein [Wed, 20 Nov 2019 19:25:44 +0000 (19:25 +0000)]
devtool/standard.py: Allow recipe to disable menuconfig logic
u-boot.inc supports u-boot recipes with or without menuconfig [1].
However, running devtool on a u-boot recipe that does not support menuconfig
results in an error:
cp: cannot stat '/home/r60874/upstream/fsl-xwayland/tmp/work/imx8mmevk-fsl-linux/u-boot-imx/2018.03-r0/u-boot-imx-2018.03//.config': No such file or directory
The problem is the devtool logic assumes that any recipe with a do_menuconfig task
will generate a .config in do_configure().
Fix the problem by removing the assumption with a flag that the recipe can control,
like this:
do_configure() {
if [ menuconfig-supported ]; then
...
else
DEVTOOL_DISABLE_MENUCONFIG=true
fi
}
Particularly, one test is disabled as it is failing everywhere,
two patches that actually cause failures are dropped and
some binaries are prevented from being stripped where that is
expected.
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Thu, 24 Oct 2019 18:09:33 +0000 (13:09 -0500)]
reproducible: Allow configuration of saved debug output
If OEQA_DEBUGGING_SAVED_OUTPUT is set in the environment, use this location
to store reproducibile build failure output. This aids debugging on the
YP autobuilder in particular.
Use a date in the directory name to make it easier to find failure output.
Also clean up empty directories as they're unnecessary distracting noise.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Mon, 27 Jan 2020 21:54:13 +0000 (21:54 +0000)]
grep: Fix shell after autotools changes
After changing autotools.bbclass, CONFIG_SHELL setting no longer works
resulting in:
grep-3.4-r0 do_package_qa: QA Issue: /bin/fgrep.grep contained in package grep requires /bin/bash, but no providers found in RDEPENDS_grep? [file-rdeps]
The script can use /bin/sh so set this specifically using sed since we
want to use a consistent shell for the rest of the build but not have
the specific bash dependency.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Mon, 27 Jan 2020 17:37:16 +0000 (17:37 +0000)]
autotools: Give in and force CONFIG_SHELL to bash
At present, CONFIG_SHELL becomes /bin/sh if its bash and /bin/bash if not. This
isn't deterministic and leads to changes in ptest packages which include Makefiles.
At first glance you'd think we'd hardcode to /bin/sh since most system shells are sane.
Sadly the dash vs. bash leads to quoting differences in configure.
The bash default is probably the safest option since configure tries to find bash
and this is what most systems would end up using.
The end result is a more consisent build environment.
[YOCTO #13752]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Here are some highlights:
- DRM hardware planes should be used more effectively
- The DRM backend now supports HDCP
- Headless backend now supports OpenGL
- DRM backend can now be built without GBM
- EGL_KHR_partial_update is now used when available, reducing memory
bandwidth usage on some GPUs
- Logging framework improvements
- Documentation for weston can now be built
https://lists.freedesktop.org/archives/wayland-devel/2020-January/041147.html
Signed-off-by: Denys Dmytriyenko <denys@ti.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Martin Jansa [Mon, 27 Jan 2020 15:43:30 +0000 (16:43 +0100)]
nspr, nss: use ${includedir}/nspr like e.g. ubuntu does
* instead of installing all 51 nspr header files directly in ${includedir}
* ubuntu uses /usr/include/nspr as well as shown in:
https://packages.ubuntu.com/xenial/amd64/libnspr4-dev/filelist
and some components assume the same path
* update nss configure to find them, similar change might be needed in
mozjs and ecryptfs-utils
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Mon, 27 Jan 2020 11:42:32 +0000 (11:42 +0000)]
distrodata/maintainers: Add PARSE_ALL_RECIPES flag to fix test issues
Currently the test depends on which DISTRO_FEATURES and targets are selected.
Similar to SOURCE_MIRROR_FETCH, add PARSE_ALL_RECIPES to allow the test to see
a much wider range of them. This avoids issues added by the new ucontext musl
specific recipe and allows the current whitelist to be cleared out a bit (more
cleanup can follow).
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Khem Raj [Sun, 26 Jan 2020 19:27:41 +0000 (11:27 -0800)]
perf: Pass LDSHARED and CCLD via EXTRA_OEMAKE
python code underneath is smart and pokes at python installation in
sysroot for compile environment, the overrides from EXTRA_OEMAKE are
ofcourse preferred but it falls back to python3's distutils/sysconfig
for rest of them, and it does use CCLD and LDSHARED for linking, when we
use clang to compile python3 then it encodes these variables to be clang
however, when building perf we inherit kernel which forces gcc to be
used for compiling perf, which then mixes both compilers due to CCLD and
LDSHARED demands. Therefore override CCLD and LDSHARED in make
environment helps python/distutils to use right linker
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Khem Raj [Sun, 26 Jan 2020 19:27:40 +0000 (11:27 -0800)]
ruby: Remove __has_include and __has_include_next from preprocessed header file
one of the build steps ruby has is that it generated rb_mjit_header.h
during configure using gcc preprocessor using -dD which emits built-in
defines as well, problem happens when this header is later included in
subsequent compiles, where compiler errors out stating that an existing
internal define is redefined
| /tmp/20200123-2021083-2c601q.h:13849:9: error: "__has_include" cannot be used as a macro name
| 13849 | #define __has_include __has_include
| | ^~~~~~~~~~~~~
| compilation terminated due to -Wfatal-errors.
Since compiler already will take care of it internally we can edit it
out from this header file
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Khem Raj [Sun, 26 Jan 2020 19:27:39 +0000 (11:27 -0800)]
nss: Pass NSS_USE_ARM_HW_CRYPTO as define in CFLAGS
Use NSS_USE_ARM_HW_CRYPTO to detect USE_ARM_GCM, since there are
dependent, without this we control the crypto code function inclusion in
build but do not control the call sites, which can result in undefined
symbols e.g.
Linux_SINGLE_SHLIB/gcm.o: in function `gcmHash_InitContext':
/usr/src/debug/nss/3.49.1-r0/nss-3.49.1/nss/lib/freebl/gcm.c:112: undefined reference to `gcm_HashInit_hw'
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This should address ARM64 specific failures in particular.
eu-objdump is now installed on all architectures;
ptests fail in its absence and pass when it is present, so it's
useful at least in some scenarios in non-x86 architectures and
fails gracefully otherwise.
The original decision to exclude it was here:
https://bugzilla.yoctoproject.org/show_bug.cgi?id=5283
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
mdadm: correctly set up testing location for ptests
1. Do not clutter /, create a special-purpose dir
2. Clean up the dir after tests are done (if this is not
performed, disk will overflow later in ptesting).
3. Fix up more locations in ptests to use the dir.
Upstream default /var/tmp is not suitable as it is not
big enough (mdadm needs about 500 Mb)
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>