Khem Raj [Sat, 18 Jan 2020 19:41:18 +0000 (11:41 -0800)]
classes, conf, lib: Add support for powerpc64le
LE is default for modern powerpc64, power8+
PowerPC64 Little Endian Linux ABI specifies Power8 as the minimum ISA.
The basic ABI can run on earlier versions of the 64 bit PowerPC ISA,
but it was helpful to define a new, minimum instruction set for Linux
distribution releases during the switch to Little Endian.
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Maxim Uvarov [Fri, 17 Jan 2020 21:46:12 +0000 (00:46 +0300)]
wic: fix images build in parallel
OE wic plugins create temporary file with the index of the line
tmp file name. This causes race in case several builds run in time.
If source_params['file'] is an absolute path, the cr_workdir prefix
is not applied by os.path.join(). So instead it writes to a ".1"
file next to the original image - this is outside the WORKDIR
and at risk of collision.
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org> Suggested-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Suggested-by: Paul Barker <pbarker@konsulko.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Andreas Müller [Fri, 17 Jan 2020 21:29:06 +0000 (22:29 +0100)]
mime-xdg.bbclass: initial add
When opening files by file-browsers on fresh images, user has to choose the
application to open from the pool af ALL known applications even those not
designed to open the file selected. By inheriting this classs in recipes the
assosiations in /usr/share/applications/mimeinfo.cache are build by calling
update-desktop-database.
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Andreas Müller [Fri, 17 Jan 2020 21:29:03 +0000 (22:29 +0100)]
insane.bbclass: introduce a warning for mime missing in inherit
* looking through layers it looks that usage of mime.bbclass is somewhat
orphaned
* now that update-mime-database is called once only at image creation time,
costs of mime.bbclass are limited
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Andreas Müller [Fri, 17 Jan 2020 21:29:02 +0000 (22:29 +0100)]
mime.bbclass: rework
* add a short descriptions of class' use case
* remove checks for update-mime-database - it can be considered available:
* at build time by PACKAGE_WRITE_DEPS
* at package upgrade by RDEPENDS chain
pkg -> shared-mime-info-data -> shared-mime-info
* simplify (accelerate?) xml file extension detection
* run update-mime-database once only at image creation to avoid expensive
redundant operations
* allow shared-mime-info to inherit mime.bbclass by avoiding circular
dependencies
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Stefano Babic [Wed, 15 Jan 2020 16:09:00 +0000 (17:09 +0100)]
libubootenv: fix multilib build
In case of multilib, the do_package fails with:
ERROR: libubootenv-0.2-r0 do_package: QA Issue: libubootenv: Files/directories were installed but not shipped in any package:
/usr/lib/libubootenv.so
/usr/lib/libubootenv.so.0.2
Issue is fixed in libubootenv repo - this patch updates SRCREV to the
commit with the fix.
Mingli Yu [Fri, 17 Jan 2020 08:33:07 +0000 (00:33 -0800)]
findutils: Upgrade to 4.7.0
* Upgrade to 4.7.0 since there are so many
fixes in the new release such as below commit
which used to fix Yocto Bug 13311 5699fb7 xargs: use GNU_FINDUTILS_FD_LEAK_CHECK as for find
* Drop all patches as it is backported or
useless in new release
* Licence-Update:
- the link in the COPYING has been updated from
http to https
Signed-off-by: Mingli Yu <mingli.yu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diego Rondini [Fri, 17 Jan 2020 13:17:28 +0000 (13:17 +0000)]
foomatic-filters: remove recipe
Remove foomatic-filters recipe, as the project hasn't seen a release
since 2012 and is unmaintained.
Most of foomatic-filters code is part of cups-filters as foomatic-rip
(see [1] and [2]), which is in meta-oe since commit a67aaaf00f4c818847f95c02340872a1a49a0f34.
Ross Burton [Fri, 17 Jan 2020 14:16:32 +0000 (14:16 +0000)]
python: remove Python 2 and all supporting classes
Python 2 ceased being maintained on the 1st January 2020. We've already
removed all users of it from oe-core so the final step is to move the
recipe and supporting classes to meta-python2.
The following are removed in this commit:
- python and python-native 2.7.17
- python-setuptools
- The classes pythonnative, pythondir, distutils, setuptools
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Khem Raj [Tue, 14 Jan 2020 16:24:39 +0000 (08:24 -0800)]
mips: Enable gnu-hash-style on glibc
latest glibc 2.31 [1] and binutils [2] has finally added the needed support for
gnu hash-style, which brings mips into same fold as other architectures
Fix check for MIPS specific section for gnu hash information
1. They need to be run under regular user.
2. Some tests genuinely need more time than 30 seconds
3. The Makefile patch erroneously introduced a test-breaking change.
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
warning: UNIX versions number signals and schedule processes differently.
warning: If output differing only in line numbers is produced, please
warning: do not consider this a test failure.
or
warning: please do not consider output differing only in the amount of
warning: white space to be an error.
and indeed some of the tests then fail. Rather than fight with this
non-determinism, let's exclude bash from ptesting.
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The test needs resources that are built by glib using
hardcoded host tools, that was already disabled, so this
patch adds disabing the test that relies on those resources.
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
They are preventing autotools from checking netinet/sctp.h existence
successfuly which in turn makes configure.ac files with lines similar to
this to fail, even if DEPENDS="lksctp-tools" and netinet/sctp.h is
clearly available under recipe-sysroot/:
AC_CHECK_HEADERS(netinet/sctp.h,,AC_MSG_ERROR(netinet/sctp.h not found))
This is the case for new libosmo-netif versionsi (meta-telephony branch
laforge/nightly), which expects netinet/sctp.h to be available if default
flag --enable-libsctp is used.
Without this patch, do_configure will fail unless following line is used
in the recipe:
CACHED_CONFIGUREVARS += "${@bb.utils.contains('PACKAGECONFIG', 'libsctp', 'ac_cv_header_netinet_sctp_h=yes', '',d)}"
So removing ac_cv_header_netinet_sctp_h would be enough, but I couldn't
find any good information on why the other 2 variables were set in site
config files, hence no good reason to keep them.
Signed-off-by: Pau Espin Pedrol <pespin@sysmocom.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Bruce Ashfield [Mon, 13 Jan 2020 04:41:23 +0000 (23:41 -0500)]
perf: fix build for v5.5+
In kernel 5.5+ there are python3 scripts that explicitly use
/usr/bin/python3 as the interpreter. That will find the host
python and produce undefined results.
We add that interpreter path to our substitutions to ensure
that our sysroot variant is used.
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Khem Raj [Mon, 13 Jan 2020 03:30:23 +0000 (19:30 -0800)]
qemuboot-mips: Enable cirrus VGA device
This helps in booting weston images ( core-image-weston ) with fbdev
backend, without this westons initialization of fbdev backend fails
because it does not get correct frame buffer settings and exits
pre-maturely
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Alex Kiernan [Sun, 12 Jan 2020 16:39:47 +0000 (16:39 +0000)]
glib-2.0: Fix hardcoded paths with dots in names
b4087338be09 ("glib-2.0: Fix hardcoded paths in checksums") fixed
embedded paths in task hashes, but if these paths included dots then
these were flattened when COREBASE was computed. Fix this by resolving
our filenames before replacing the path segments with COREBASE.
Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Khem Raj [Tue, 14 Jan 2020 22:38:53 +0000 (14:38 -0800)]
gstreamer1.0: Enable debug in builds
Packages like gst-shark needs this option to be on
Fixes
| checking whether the GStreamer debugging system is enabled... no
| configure: error: Tracers require GStreamer debug support. Rebuild GStreamer core with --enable-gst-debu
g.
Signed-off-by: Khem Raj <raj.khem@gmail.com> Cc: Carlos Rafael Giani <crg7475@mailbox.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
gst-validate: Move recipe specific patch to dedicated subdirectory
This does not belong in files/, since that subdirectory is where patches
that aren't recipe specific are located. This patch however is gst-validate
specific.
Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gettext, gtk-doc, and valgrind support is no longer present in gst-omx,
and arguably never really was (because they were present in the "common"
git submodule that is no longer being used in meson base builds).
Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
gstreamer1.0-libav: Transition to meson based builds
meson based builds exclusively rely on external FFmpeg builds. The internal
copy was added at a time when stable FFmpeg releases did not exist. They
do nowadays, so the internal copy is not needed anymore. As a result, large
portions of the recipe are unnecessary, since they set up the internal
copy. Same goes for the patches and the zlib/bzip2/xz dependendencies.
Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
gstreamer1.0-plugins-base: Transition to meson based builds
* OpenGL packageconfigs now work differently. There are separate ones for
OpenGL API/platform/window system selection. The meson.build script
expects the selected ones as comma separated lists. For example, like
"-Dgl_api=opengl,gles2". The variables OPENGL_APIS / OPENGL_PLATFORMS /
OPENGL_WINSYS are whitespace-separated lists (which is the OE norm) of
the respective packageconfigs. .bbappend files can then extend these
lists with additional possible configs.
"Possible" means that the target can support those packageconfigs. This
does not immediately add them to the PACKAGECONFIG variable - this still
has to be done manually. The get_opengl_cmdline_list() goes through these
lists, and for each entry, checks if it is contained in the PACKAGECONFIG
variable. If so, they get added to the comma separated lists that are
passed to meson.
For example, a Raspberry Pi layer could add "dispmanx" to OPENGL_WINSYS.
* The "ivorbis" packageconfig got renamed to "tremor", since that is the
name of the OE recipe, and now also the name of the meson option.
* 0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch and
0002-meson-Add-variables-for-gir-files.patch are backported fixes for
GIR support in the meson.build files.
* make-gio_unix_2_0-dependency-configurable.patch removed because it is
no longer useful to have.
* link-with-libvchostif.patch removed because the flags it changed are
no longer present in the meson.build scripts. If the related issue
reappears, a similar patch can be applied again.
* 0003-riff-add-missing-include-directories-when-calling-in.patch removed
since the entire gst riff library has been excluded from GObject
introspection due to naming convention issues.
* Removed a number of autotool/M4 related patches and recipe lines.
* gtk-doc support is handled here, not in gstreamer1.0-plugins-common.inc,
since unlike with autotools, only some plugin set packages use gtk-doc.
* zlib is no longer optional, and glib anyway depends on zlib, therefore
it gets added to the DEPENDS list.
* gettext handling now part of gstreamer1.0-plugins-common.inc.
Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Added patches:
- 0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch
Backport for enabling GIR support in meson based cross compilation
- 0002-meson-Add-valgrind-feature.patch
Make valgrind support configurable to be able to control it through
a "valgrind" packageconfig
- 0003-meson-Add-option-for-installed-tests.patch
Add support for installable tests and for generating .test and shell
scripts which can be used with the gnome-desktop-testing suite runner
* PTest support:
By default, GStreamer does not allow for installing tests, and requires
meson to run its unit tests. The 0003 patch fixes this by installing
the binaries themselves and by generating accompanying .test and shell
scripts. The scripts set up the required environment files and then
call the test binaries. The .test file list the shell scripts as
Exec= command line.
Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
gstreamer: Add common .inc files for meson based recipes
* gstreamer1.0-plugins-common.inc
The old gstreamer1.0-plugins.inc file, adapted for meson
* gstreamer1.0-plugins-packaging.inc
The old gst-plugins-package.inc file, adapted for meson
* gstreamer1.0-ptest.inc
Common code for meson based PTest support; autogenerates the run-ptest
file and is designed to use the gnome-desktop-testing suite runner
(which is why the .inc files inherits from ptest-gnome)
Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When a comparision branch is set we see warnings. If two branches are used,
look for buildstats information from both to avoid this kind of warning:
INFO: Parsing buildstats from 'refs/notes/buildstats/perf-centos7.yoctoproject.org/master-next/qemux86'
WARNING: Buildstats not found for perf-centos7.yoctoproject.org/master/qemux86/56808-g08220028e52992dcba667fc97bf3afe8be1949fb/0
WARNING: Buildstats not found for perf-centos7.yoctoproject.org/master/qemux86/56808-g08220028e52992dcba667fc97bf3afe8be1949fb/1
INFO: Buildstats were missing for some test runs, please run 'git fetch origin refs/notes/buildstats/perf-centos7.yoctoproject.org/master-next/qemux86:refs/notes/buildstats/perf-centos7.yoctoproject.org/master-next/qemux86' and try again
(the warning is due to stats being looked for in both branches, choose
the other branch and different warnings would be shown)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Thu, 12 Dec 2019 22:58:17 +0000 (22:58 +0000)]
sstate: Improve move into place op and touch file
Depending on the kernel and coreutils version, mv operations test for existence
of files and can potentially race. It also leads to the file always changing which
leads to potential problems if using and NFS share and there are other readers.
Using ln instead means we don't overwrite the file if it already exists meaning
other readers aren't disrupted and should work more reliably on NFS which is used
for sstate on the autobuilder.
Since we're not overwriting files, touch the file to show activity as would have
been done it it were reused from sstate.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
toaster.bbclass: Correct pkgdatadir path in toaster_package_dumpdata()
In commit 692b2046 (package: Fix race between do_package and
do_packagedata), the path used for do_packagedata[sstate-inputdirs]
was changed from "${PKGDESTWORK}" to "${WORKDIR}/pkgdata-pdata-input".
This commit adapts the path used for pkgdatadir in
toaster_package_dumpdata() accordingly to avoid setscene errors like:
ERROR: libgcc-9.2.0-r0 do_packagedata_setscene: Error executing a
python function in exec_python_func() autogenerated:
The stack trace of python calls that resulted in this
exception/failure was:
File: 'exec_python_func() autogenerated', lineno: 2, function:
<module>
0001:
*** 0002:toaster_package_dumpdata(d)
0003:
File: '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,
0133: # Fire an event containing the pkg data
0134: bb.event.fire(bb.event.MetadataEvent(
Exception: FileNotFoundError: [Errno 2] No such file or directory:
'tmp/work/mips32r2el-nf-poky-linux/libgcc/9.2.0-r0/pkgdata/runtime'
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Fri, 10 Jan 2020 17:56:16 +0000 (17:56 +0000)]
glib-2.0: Fix hardcoded paths in checksums
The expansion by this function, recently added by the meson site handling code
was causing hardcoded paths to become embedded in the tash hashes. Avoid this
(and hence avoid eSDK failures which exposed this).
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Wed, 8 Jan 2020 17:19:36 +0000 (17:19 +0000)]
glib: support target/os/libc-specific Meson cross files
Build systems have a common problem that some tests can only be done by
executing a piece of test code (compared to just compiling or linking test
code). In a cross-compilation the execution of this code isn't possible and the
Meson solution to this is to allow 'cross properties' to be specified in the
cross files.
GLib has a number of these, for example determining the direction the stack
grows, whether /proc/self/cmdline exists, or the behaviour of snprintf().
Previously we'd passed values for these to the Glib build for target builds, but
this misses out nativesdk builds (which are also cross-compiled) and the fact
that some of these values are specific to the platform, some are specific to the
host OS, and some are specific to the libc implementation.
This problem has already been solved for autotools with the siteinfo class,
which turns the target platform/OS/libc variables into filenames (such as common
common-linux common-glibc). We can look for these in FILESDIR and use them as
cross files.
Assuming that there are no problems with this appoach it can be moved into
meson.bbclass so that all Meson recipes can use it for their cross files.
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Khem Raj [Thu, 9 Jan 2020 18:37:53 +0000 (10:37 -0800)]
weston-init: Let weston run without pam on distros without pam
When pam is not part of distro, user specific XDG_* environment
variables are not available since PAMName=login is in-effective and as a
result weston can not start because it direly needs XDG_RUNTIME_DIR
defined, therefore launching weston directly in systemd service will not
work, therefore call the helper script weston-start, which is also used
with sysvinit
extend enabling fbdev backend fallback to all qemu machines
Reported-by: Marek Vasut <marex@denx.de> Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
André Draszik [Fri, 10 Jan 2020 16:53:01 +0000 (16:53 +0000)]
site: strtod() works in glibc / musl
autoconf has a test for strtod(), which assumes non-working
when cross-compiling, but it does work in both musl and
recent glibc.
coreutils (gnulib) does some additional tests on top of that,
but assumes working glibc when >= 2.8 when cross compiling.
It doesn't know about musl where the additional tests also
work, though.
Signed-off-by: André Draszik <git@andred.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
André Draszik [Fri, 10 Jan 2020 16:52:55 +0000 (16:52 +0000)]
site: musl and glibc have working getgroups()
recent coreutils (gnulib) assume yes when cross-compiling
for gnu (glibc), but don't know about musl.
For coherence, just set the result to yes for both.
Note that the old coreutils (from meta-gplv2) doesn't
assume anything and instead that recipe hard-codes to yes.
So behaviour with yocto when using meta-gplv2 is actually
better than when using the latest version (when using musl).
This patch rectifies this shortcoming.
Signed-off-by: André Draszik <git@andred.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
André Draszik [Fri, 10 Jan 2020 16:52:53 +0000 (16:52 +0000)]
site: set getcwd() behaviour for long paths for glibc / musl
In glibc, getcwd() handles long file names properly, on
musl, getcwd() only works up to PATH_MAX directory depths.
Configuring the autotools (gnulib) test result here allows
coreutils to compile more optimised code for both platforms,
rather than being pessimistic and re-implementing everything
itself.
The difference in behaviour is because both do the kernel
getcwd syscall (which only supports up to PATH_MAX), but
glibc implements fallbacks for longer paths, while musl
doesn't.
Signed-off-by: André Draszik <git@andred.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Fri, 10 Jan 2020 17:24:21 +0000 (17:24 +0000)]
perl: improve reproducibility
Occasionally the reproducibility selftest fails because perl-pod differs,
specifically that the perltoc.pod file was sometimes missing modules.
Debugging revealed that there are missing dependencies so there is a build race:
building perltoc.pod from an clean build tree results in no modules being listed
at all.
A bug has been filed at https://github.com/arsv/perl-cross/issues/86 to solve
this properly, but for now we can just delete perltoc.pod after make has
finished and re-generate it.
[ YOCTO #13726 ]
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Joshua Watt [Wed, 8 Jan 2020 19:48:07 +0000 (13:48 -0600)]
runqemu: Add network bridge support
Qemu supports attaching the virtual machine to an existing network
bridge interface via the qemu-bridge-helper program (as long as the
system is correctly configured to give the user permissions). Add
support for runqemu to do this also via the "bridge=<INTERFACE>"
argument. Note that for this to work correctly, the host
qemu-bridge-helper must be used, not the one that might have been built
by qemu-native. In order for qemu to correctly find this program, a
qemu-oe-bridge-helper program has been added to qemu-helper-native, and
runqemu will use this helper as the bridge helper. The helper will look
for the host qemu-bridge-helper first by looking in the
QEMU_BRIDGE_HELPER environment variable, then by search common paths
where the helper is installed.
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diego Rondini [Wed, 8 Jan 2020 16:48:55 +0000 (17:48 +0100)]
cups: fix crossscripts
Fix crossscripts to report the correct "serverbin" value.
While the packaged "cups-config --serverbin" reported
"/usr/libexec/cups" the crossscripts version reported
"/usr/lib/cups", causing packaging issues when building for example
cups-filters.
Also fix FILES_${PN} to use ${libexecdir}; previously it was working
just because "${libexecdir}/*" was part of the default values in
bitbake.conf.
Signed-off-by: Diego Rondini <diego.rondini@kynetics.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>