André Draszik [Mon, 5 Sep 2016 08:34:42 +0000 (09:34 +0100)]
image.bbclass: do not check size of the debugfs image
The debugfs is supposed to be used in addition to the
normal image for debugging purposes, it doesn't make
sense to artificially limit its maximum size.
Signed-off-by: André Draszik <git@andred.net> Signed-off-by: Ross Burton <ross.burton@intel.com>
Max Krummenacher [Sun, 11 Sep 2016 17:13:20 +0000 (19:13 +0200)]
sstate.bbclass: normalize whitelisted paths
Without this a whitelisted path containing /../ breaks the test for a file
allowed to be provided by more than one recipe.
Noticed when local.conf contains:
DEPLOY_DIR = "${TOPDIR}/../deploy"
|ERROR: core-image-minimal-1.0-r0 do_image_complete: The recipe
| core-image-minimal is trying to install files into a shared area when those
| files already exist. Those files and their manifest location are:
| .../poky/deploy/images/qemux86/README_-_DO_NOT_DELETE_FILES_IN_THIS_DIRECTORY.txt
| Matched in b'manifest-qemux86-linux-yocto.deploy'
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
classes/populate_sdk_ext: exclude image tasks from locked signatures
Tasks for image recipes cannot be locked and should be excluded from eSDK
generated locked-sigs.inc. get_sdk_install_targets() was not returning right
image targets to be excluded incase of 'minimal' sdk. This change fixes the issue.
Signed-off-by: Amarnath Valluri <amarnath.valluri@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
By letting a recipe assign GI_DATA_ENABLED trivially there is a simple and clear
way to disable gobject-introspection for specific build configurations.
Signed-off-by: Ross Burton <ross.burton@intel.com>
gstreamer1.0-plugins-bad: Fix packageconfigs and patches
This reintroduces fixes and changes which were introduced in the original
gstreamer1.0-plugins-bad 1.8.1 upgrade commit.
* packageconfigs changed since GStreamer 1.6.3
(they often do between minor version increases like 1.6 -> 1.8)
* hls,tinyalsa packageconfigs moved into the .inc file
* vulkan packageconfig dropped since there are no vulkan libraries in OE
(libxcb alone is not enough)
* reintroduced glimagesink downrank patch (it was removed because it was
dangling before)
* fixed patch line numbers
Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org> Signed-off-by: Ross Burton <ross.burton@intel.com>
When trying to re-test smart rpm tests. A fail arises
due to a linux user previously created upon the image.
We've added a few lines to delete such user and his home dir
when finishing test.
[YOCTO #9204]
Signed-off-by: Edwin Plauchu <edwin.plauchu.camacho@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Markus Lehtonen [Thu, 8 Sep 2016 16:47:46 +0000 (19:47 +0300)]
oeqa.buildperf: another fix for splitting 'nevr' string
When processing buildstats we determine recipe name, epoch, version and
revision from the per-recipe buildstat directory name. One previous
patch made an assumption that package version starts with a number.
That might not be true because of a packaging mistake or whatever
reason. Thus, if a version starting with a number is not found, fall
back to the "old" method of just taking the second-last dash-delimited
part (the one before revision).
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Jussi Kukkonen [Thu, 8 Sep 2016 13:35:31 +0000 (16:35 +0300)]
tiff: Update download URL
remotesensing.org domain has been taken over by someone unrelated.
There does not seem to be an up-to-date tiff homepage, but
osgeo.org is a reliable download site.
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
libpcre: explicitely specify CCLD_FOR_BUILD for this recipe
libpcre uses CCLD_FOR_BUILD as the name of the host command to use for
linking. This is not a standard autotools symbol but particular to this
recipe. We need to set it explicitely
Signed-off-by: Jérémy Rosen <jeremy.rosen@smile.fr> Signed-off-by: Ross Burton <ross.burton@intel.com>
version 5.4.1 of rpm was not properly distclean before release, which
causes problems when cross-compiling.
The previous version this recipe called make distclean, but that would
trigger a call to ./configure which would fail when no gcc is
available and make the whole do_configure fail further down the line
This patch manually removes the files from the recipe.
Signed-off-by: Jérémy Rosen <jeremy.rosen@smile.fr> Signed-off-by: Ross Burton <ross.burton@intel.com>
busybox: allow overriding compiler name in KConfig
The KConfig infrastructure needs to build HOST binaries in order to
provide its infratstructure. Yocto needs to force the HOSTCC and HOSTCPP
variables to BUILD_CC and BUILD_CPP to make sure that the proper compiler
is used when compiling host binaries
Signed-off-by: Ross Burton <ross.burton@intel.com>
linux-libc-headers: allow overriding compiler name in KConfig
The KConfig infrastructure needs to build HOST binaries in order to
provide its infratstructure. Yocto needs to force the HOSTCC and HOSTCPP
variables to BUILD_CC and BUILD_CPP to make sure that the proper compiler
is used when compiling host binaries
Signed-off-by: Ross Burton <ross.burton@intel.com>
linux-yocto: allow overriding compiler name in KConfig
The KConfig infrastructure needs to build HOST binaries in order to
provide its infratstructure. Yocto needs to force the HOSTCC and HOSTCPP
variables to BUILD_CC and BUILD_CPP to make sure that the proper compiler
is used when compiling host binaries
Signed-off-by: Ross Burton <ross.burton@intel.com>
cross: export CC family from BUILD_* for cross compilers
cross-compilers are native recipes that need to be compiled by the host's
compiler. However they do not use native.bbclass
As a consequence, the various CC, CXX etc environment variables are not
correctly set and they will not honor the host compiler name provided
by the BUILD_* variables.
Signed-off-by: Jérémy Rosen <jeremy.rosen@smile.fr> Signed-off-by: Ross Burton <ross.burton@intel.com>
Nicolas Dechesne [Fri, 26 Aug 2016 12:05:00 +0000 (13:05 +0100)]
gstreamer1.0-plugins-good: enable v4l2-probe
A new mechanism to probe v4l2 M2M devices was implemented in gst 1.8 series, in
order to get such devices probed we now need to enable v4l2-probe compile option
which upstream decided to keep disabled by default (unfortunately), see [1].
With this feature disabled, it is not possible to get v4l2 M2M device to work in
Gstreamer which is a common use case on many embedded platforms. This patch
enables this new option as soon as v4l2 support is enabled in gstreamer -good.
Joe Slater [Tue, 16 Aug 2016 18:16:20 +0000 (11:16 -0700)]
useradd: do not delete users and groups during configure
If two recipes both create the same users and groups, the
second recipe can delete items created by the first causing
things like "chown" to fail for the first recipe.
Signed-off-by: Joe Slater <jslater@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
and A has errors in parselogs, machine B can pick these up and cause
immense confusion. This is because the test transfers the log files
to cwd which is usually TOPDIR. This is clearly bad and this patch
uses a subdir of WORKDIR to ensure machines don't contaminate each
other.
Also ensure any previous logs are cleaned up from any existing
transfer directory.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Markus Lehtonen [Fri, 9 Sep 2016 08:27:11 +0000 (11:27 +0300)]
oeqa.runtime.smart: work around smart race issues
Yucku hack around test failures which ultimately are caused by a race in
smartpm itself. Issuing smartpm commands in quick succession causes
races in package cache of smartpm on some systems. This patch mitigates
the problem by sleeping for 1 second after each smartpm command that
modifies the system.
[YOCTO #10244]
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Thu, 8 Sep 2016 10:24:00 +0000 (11:24 +0100)]
oeqa/runtime/smart: Prune feeds to save memory
Full package feed indexes overload a 256MB image so reduce the number of rpms
the feed. Filter to p* since we use the psplash packages and this leaves some
allarch and machine arch packages too.
[YOCTO #8771]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Mon, 5 Sep 2016 21:25:44 +0000 (22:25 +0100)]
gtk-doc: use pkg-config-native in native gtk-doc.m4
When building gtk-doc-native the m4 functions for autoconf should use
pkg-config-native instead of pkg-config so that they can find the native
tooling.
This means that it is possible to generate gtk-doc without building the target
packages.
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Robert Yang [Mon, 5 Sep 2016 06:56:24 +0000 (23:56 -0700)]
gobject-introspection: set GI_SCANNER_DISABLE_CACHE for native
The native recipe should not write files to $HOME/.cache as target, this can
avoid problems when multi builds are running on the same host like:
| File "./g-ir-scanner", line 66, in <module>
| sys.exit(scanner_main(sys.argv))
| File "../gobject-introspection-1.48.0/giscanner/scannermain.py", line 543, in scanner_main
| transformer = create_transformer(namespace, options)
| File "../gobject-introspection-1.48.0/giscanner/scannermain.py", line 389, in create_transformer
| symbol_filter_cmd=options.symbol_filter_cmd)
| File "../gobject-introspection-1.48.0/giscanner/transformer.py", line 54, in __init__
| self._cachestore = CacheStore()
| File "../gobject-introspection-1.48.0/giscanner/cachestore.py", line 61, in __init__
| self._check_cache_version()
| File "../gobject-introspection-1.48.0/giscanner/cachestore.py", line 89, in _check_cache_version
| self._clean()
| File "../gobject-introspection-1.48.0/giscanner/cachestore.py", line 141, in _clean
| self._remove_filename(os.path.join(self._directory, filename))
| File "../gobject-introspection-1.48.0/giscanner/cachestore.py", line 123, in _remove_filename
| os.unlink(filename)
| FileNotFoundError: [Errno 2] No such file or directory: '/home/pokybuild/.cache/g-ir-scanner/0a47aa95823c95a0b5d1bd610b60d02f35785f26'
| Makefile:3518: recipe for target 'GModule-2.0.gir' failed
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Libglade has been obsolete for several years and is used by nothing in oe-core;
it will be moved to meta-oe so that old recipes still present there continue to build.
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Richard Purdie [Tue, 6 Sep 2016 13:44:41 +0000 (14:44 +0100)]
oeqa: Use snapshot instead of copying the rootfs image
Rather than copying images, use the snapshot option to qemu. This fixes a regression
caused by the recent runqemu changes where the wrong images were being testes since
the image is copied without the qemuboot.conf file. This means the latest image is
found by runqemu rather than the specified one, leading to various confused testing
results.
It could be fixed by copying more files but use snapshot mode instead.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Thu, 1 Sep 2016 21:10:21 +0000 (22:10 +0100)]
runqemu: Enable virtio RNG for all platforms
We have problems where systems simply stop booting and hang. This is due
to a lack of entropy which means ssh keys and networking can't be brought
up. Adding in the virtio-rng passthrough support allows host entropy to
pass into the guess and avoids these hangs.
This is particularly problematic after the gnutls upgrade which starts
using /dev/random instead of /dev/urandom but was an issue we'd occasionally
seem before that.
It particualrly affected x86 and ppc machines for some reason.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Tue, 6 Sep 2016 13:46:10 +0000 (14:46 +0100)]
runqemu: Allow unique network interface MAC addresses
Current qemu instances all share the same MAC address. This shouldn't be an
issue as they are all on separate network interfaces, however on the slight
chance this is causing problems, its easy enough to ensure we use unique
MAC addresses based on the IP numbers we assign.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
runqemu: fix run from testimage with non-standard DEPLOY_DIR_IMAGE
testimage.bbclass uses runqemu to execute runtime tests on a qemu
target, this means that bitbake is already running and `bitbake -e`
can't be called to obtain bitbake variables.
runqemu tries to work around being unable to read values for
bitbake variables by inferring the MACHINE from the
DEPLOY_DIR_IMAGE setting, however if a user sets that variable in
a manner which doesn't follow the systems expectations (i.e. if
running `bitbake -c testimage` against a directory of pre-generated
images in a user-specified path) the inferring of the MACHINE name
from the DEPLOY_DIR_IMAGE location will fail.
It's possible that check_arg_machine() shouldn't cause runqemu to
fail and that runqemu should proceed with the user-supplied value
even if it can't be verified. This patch simply ensures that a
workflow where the user sets DEPLOY_DIR_IMAGE continues to work
without changing too much of the runqemu code.
[YOCTO #10238]
Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
runqemu: fixes for when invoked during a bitbake run
When runqemu is invoked from a running bitbake instance it will be
unable to call `bitbake -e` due to the lock held by the calling
bitbake instance.
Our test code sets an OE_TMPDIR environment variable from which we
can infer/guess paths. Add code to do so when self.bitbake_e can't
be set, much as the sh version of runqemu did.
[YOCTO #10240]
Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
runqemu: better handle running on a host with different paths
If the STAGING_*_NATIVE directories from the config file don't exist
and we're in a sourced OE build directory try to extract the paths
from `bitbake -e`
Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
runqemu: assume artefacts are relative to *.qemuboot.conf
When runqemu is started with a *.qemuboot.conf arg assume that image
artefacts are relative to that file, rather than in whatever
directory the DEPLOY_DIR_IMAGE variable in the conf file points to.
Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Robert Yang [Thu, 25 Aug 2016 14:41:05 +0000 (07:41 -0700)]
runqemu: refactor it and remove machine knowledge
Previously, runqemu had hard coded machine knowledge, which limited its
usage, for example, qemu can boot genericx86, but runqemu can't, we need
edit runqemu/runqemu-internal a lot if we want to boot genericx86.
Now bsp conf files can set vars to make it can be boot by runqemu, and
qemuboot.bbclass will save these info to DEPLOY_DIR_IMAGE/qemuboot.conf.
Please see qemuboot.bbclass' comments on how to set the vars.
* Re-write it in python3, which can reduce lines from 1239 to about 750
lines
* All the machine knowledges are gone
* All of the TUN_ARCH knowledge are gone
* All the previous options are preserved, and there is a new way to run
runqemu: (it doesn't need run "bitake -e" in such a case)
$ runqemu tmp/deploy/images/qemux86
or:
$ runqemu tmp/deploy/images/qemuarm/<image>.ext4
or:
$ runqemu tmp/deploy/images/qemuarm/qemuboot.conf
* Fixed audio support, not limited on x86 or x86_64
* Fix SLIRP mode, add help message, avoid mixing with tap
* Fix NFS boot, it will extract <image>.tar.bz2 or tar.gz to
DEPLOY_DIR_IMAGE/<image>-nfsroot when no NFS_DIR, and remove it after
stop.
* More bsps can be boot, such as genericx86 and genericx86-64.
* The patch for qemuzynq, qemuzynqmp, qemumicroblaze has been sent to
meta-xilinx' mailing list.
* I can't find any qemush4 bsp or how to build it, so it is not
considered atm.
Robert Yang [Tue, 6 Sep 2016 06:15:05 +0000 (23:15 -0700)]
qemuarm.conf: set PREFERRED_VERSION_linux-yocto
The base_version_less_or_equal() will raise errors if
PREFERRED_VERSION_linux-yocto is None. For example, when we build
DISTRO = "nodistro", PREFERRED_VERSION_linux-yocto is not be defined
since it is defined in poky.conf, and then bitbake will
choose the higher version which is 4.8 currently, so set
PREFERRED_VERSION_linux-yocto to 4.8, otherwise, runqemu can't boot it.
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Tue, 30 Aug 2016 22:56:38 +0000 (23:56 +0100)]
qemuarm: Add DTB file new kernel
For kernels after 4.7, we need to ensure the DTB file for the kernel is
used by runqemu. Doing this conditionally based upon the kernel verison
being built seems to be the only way forward for this.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
ERROR: qemu-2.7.0-r1 do_install_ptest_base: Function failed:
do_install_ptest_base
...
cp: cannot stat '...tmp/work/core2-64-poky-linux/qemu/2.7.0-r1
/qemu-2.7.0/tests/Makefile: No such file or directory
...
Commit 46e7b70699d8bf4db08c8bb5111974318dd5416d in qemu project
renamed tests/Makefile to tests/Makefile.include, we apply the
same change in recipe accordingly to fix this issue.
Fixes [YOCTO #10245]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Robert Yang [Thu, 8 Sep 2016 10:26:48 +0000 (03:26 -0700)]
qemu: 2.6.0 -> 2.7.0
This upgrade can fix a qemuppc + openssh bug, the ssh connection maybe
refused or closed randomly, and it's not easy to reproduce. RP pointed
that this upgrade can fix the problem, and it does work in my local
testing.
* Update add-ptest-in-makefile.patch
* Drop backported patch 0001-configure-support-vte-2.91.patch
Here is the Changlog:
http://wiki.qemu.org/ChangeLog/2.7
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fabio Berton [Fri, 26 Aug 2016 19:55:02 +0000 (16:55 -0300)]
watchdog-config: Add recipe
Provides configuration files for watchdog.
Add watchdog-config as a runtime dependence of watchdog and remove
watchdog.conf file from watchdog installation.
Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fabio Berton [Fri, 26 Aug 2016 19:55:01 +0000 (16:55 -0300)]
watchdog: Add wd_keepalive package
This is a simplified version of the watchdog daemon. It only opens
/dev/watchdog, and keeps writing to it often enough to keep the kernel
from resetting, at least once per minute. Each write delays the reboot
time another minute. After a minute of inactivity the watchdog hardware
will cause a reset. In the case of the software watchdog the ability to
reboot will depend on the state of the machines and interrupts.
Installs wd_keepalive binary and enable initscript.
Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Bruce Ashfield [Thu, 8 Sep 2016 18:48:35 +0000 (14:48 -0400)]
linux-yocto: update LINUX_VERSION to -rc5
The SRCREVs were previously updated to -rc5, but the LINUX_VERSION
was missed. As such, we are building and booting -rc5, but all the
packaging says -rc4.
Worth a quick update while we wait for -rc6
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>