Ed Bartosh [Wed, 24 Aug 2016 10:16:15 +0000 (13:16 +0300)]
combo-layer: python3: fix UnicodeDecodeError
check_patch function opens patch file in text mode. This causes
python3 to throw exception when calling readline():
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa7 in position
NNNN: invalid start byte
Opening file in binary mode and using binary type instead of strings
should fix this.
Thomas Witt [Mon, 22 Aug 2016 14:27:11 +0000 (16:27 +0200)]
cmake.bbclass: call cmake with a relative path
CMake wants a relative path for CMAKE_INSTALL_*DIR, an absolute path
breaks cross-compilation. This fact is documented in the following
ticket: https://cmake.org/Bug/view.php?id=14367
$sysconfdir and $localstatedir are not relative to $prefix, so they are
still set as absolute paths. With his change ${PROJECT}Targets.cmake
that are generated by cmakes "export" function will contain relative
paths instead of absolute ones.
Signed-off-by: Thomas Witt <Thomas.Witt@bmw.de> Signed-off-by: Clemens Lang <clemens.lang@bmw-carit.de> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Robert Yang [Mon, 22 Aug 2016 07:52:46 +0000 (00:52 -0700)]
python-3.5-manifest.inc: the signal module RDEPENDS on enum
Fixed:
$ python3
>>> import signal
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/path/to/sdk/sysroots/x86_64-pokysdk-linux/usr/lib/python3.5/signal.py", line 4, in <module>
from enum import IntEnum as _IntEnum
ImportError: No module named 'enum'
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Dai Caiyun <daicy.fnst@cn.fujitsu.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Maxin B. John [Tue, 16 Aug 2016 11:12:03 +0000 (14:12 +0300)]
useradd_base: avoid unintended expansion for useradd parameters
Now, useradd dollar sign requires three prepending backslash characters to
avoid unintended expansion. It used to be just one prepending backslash
character before Krogoth. Restore that behaviour.
Signed-off-by: Niko Mauno <niko.mauno@vaisala.com> Signed-off-by: Maxin B. John <maxin.john@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: André Draszik <git@andred.net> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: André Draszik <git@andred.net> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: André Draszik <git@andred.net> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
André Draszik [Thu, 18 Aug 2016 16:15:00 +0000 (17:15 +0100)]
gettext_0.16.1: use musl gettext implementation
gettext uses internal symbols to detect whether the
implementation is compatible with GNU gettext. However,
these symbols don't are not part of the public API, they
are specific to glibc.
While musl implements the GNU gettext *API* version 1 and 2
http://www.openwall.com/lists/musl/2015/04/16/3
it doesn't implement glibc internals. This means that
gettext fails to detect musl's working implementation.
More recent versions of gettext have changed the way
GNU gettext compatibility is done
https://lists.gnu.org/archive/html/bug-gettext/2016-04/msg00000.html
http://git.savannah.gnu.org/cgit/gettext.git/commit/gettext-runtime/m4/gettext.m4?id=b67399b40bc5bf3165b09e6a095ec941d4b30a97
and while we could backport the corresponding patch to
gettext.m4, we avoid doing that so as to avoid any
potential GPL-v3 issues.
So instead we force ./configure to assume that the gettext
implementation of the c-library (musl) is compatible.
As a side-effect, this also reduces image sizes as the
internal gettext implementation isn't built anymore, and
it's otherwise packaged into the main gettext package
which blows up the image as the main gettext package
contains a lot of things.
Similarly, libintl.h isn't generated anymore, as the one
from musl is OK.
Signed-off-by: André Draszik <git@andred.net> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Hongxu Jia [Wed, 17 Aug 2016 08:57:30 +0000 (04:57 -0400)]
grub: fix load module all_video failed
While using oe-core toolchain to strip grub module 'all_video.mod',
it stripped symbol table:
--------------
root@localhost:~# objdump -t all_video.mod
all_video.mod: file format elf64-x86-64
SYMBOL TABLE:
no symbols
--------------
It caused grub to load module all_video failed.
(This module will be loaded by defalut which configed in grub.cfg)
--------------
grub> insmod all_video
error: no symbol table.
--------------
Tweak strip option to keep symbol .module_license could workaround
the issue.
--------------
root@localhost:~# objdump -t all_video.mod
2. Change intl.right correspond to the unicode3.sub's output
In sub-test unicode3.sub of intl.tests have this:
printf %q "$payload"
The payload variable was assigned by ASCII characters, when using
'%q' format strings, it means print the associated argument shell-quoted.
When the strings contain the non-alpha && non-digit && non-punctuation &&
non-ISO 646 character(7-bit), it would output like this: " $'...', ANSI-C
style quoted string. We can check the bash source code at:
Signed-off-by: Dengke Du <dengke.du@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ming Liu [Wed, 17 Aug 2016 11:26:09 +0000 (13:26 +0200)]
bootchart2: fixes a BOOTLOG_DEST typo
A flaw was observed in bootchartd that BUILDLOG_DEST should actually be
BOOTLOG_DEST, this seems to be a typo or mix-up which has been fixed in
upstream.
Cherry pick the fix since bootchart2 0.14.8 is still the newest release
so far.
Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Wang Xin <wangxin2015.fnst@cn.fujitsu.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ovidiu Vancea [Fri, 12 Aug 2016 15:04:12 +0000 (18:04 +0300)]
initscripts: Check for logrotate in dmesg.sh
Autodetect previously hardcoded logrotate location because it can be
installed in multiple places like /usr/bin/logrotate which is very
common besides /usr/sbin
Mark Hatle [Sat, 20 Aug 2016 01:44:54 +0000 (20:44 -0500)]
glibc: Fix scope resolution in glibc to be breadth first.
The ELF specification indicates symbol resolution should be breadth first, not
depth first.
The dl-deps.c: dl_build_locale_scope function is processing in a depth first
mode. This is causes certain symbols to be incorrectly reported when
LD_TRACE_PRELINKING=1 is enabled.
Signed-off-by: California Sullivan <california.l.sullivan@intel.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Bruce Ashfield [Sat, 20 Aug 2016 04:30:34 +0000 (00:30 -0400)]
linux-yocto/4.1/4.4: -stable updates and configuration changes
Updating the 4.4 kernel to v4.4.18 and the 4.1 kernel to v4.1.30.
We also tweak the configuration with the following commits to remove
warnings being generated from the 4.4 kernel (due to options being
dropped from the final .config):
features: Create mfd-intel-lpss feature and use where appropriate
features/iio: Set IIO_BUFFER_CB to =m instead of =y
features: Add 6lowpan feature and add it where necessary
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Matt Madison [Wed, 10 Aug 2016 17:08:16 +0000 (10:08 -0700)]
bitbake: fetch2: preserve current working directory
Fix the methods in all fetchers so they don't change
the current working directory of the calling process, which
could lead to "changed cwd" warnings from bitbake.
Martin Jansa [Thu, 18 Aug 2016 15:06:29 +0000 (17:06 +0200)]
bitbake: toasterui, knotty: don't print taskid followed by taskstring which are now in most cases identical
* unify the format how the task is described
* don't show taskid followed by taskstring as the taskstring is
different only for setscene tasks (by _setscene suffix)
* the duplicated output was introduced by: 2c88afb taskdata/runqueue: Rewrite without use of ID indirection
as reported and confirmed as a bug here:
http://lists.openembedded.org/pipermail/openembedded-core/2016-June/123148.html
* show:
NOTE: Running task 541 of 548 (/OE/build/oe-core/openembedded-core/meta/recipes-core/zlib/zlib_1.2.8.bb:do_package)
instead of much longer:
NOTE: Running task 541 of 548 (ID: /OE/build/oe-core/openembedded-core/meta/recipes-core/zlib/zlib_1.2.8.bb:do_package, /OE/build/oe-core/openembedded-core/meta/recipes-core/zlib/zlib_1.2.8.bb:do_package)
and similarly for failed tasks:
ERROR: Task (virtual:native:/OE/build/oe-core/openembedded-core/meta/recipes-core/zlib/zlib_1.2.8.bb:do_install) failed with exit code '1'
instead of much longer:
ERROR: Task virtual:native:/OE/build/oe-core/openembedded-core/meta/recipes-core/zlib/zlib_1.2.8.bb:do_install (virtual:native:/OE/build/oe-core/openembedded-core/meta/recipes-core/zlib/zlib_1.2.8.bb:do_install) failed with exit code '1'
Richard Purdie [Thu, 18 Aug 2016 16:12:01 +0000 (19:12 +0300)]
bitbake: git: Allow local repos to use HEAD
Introduce a new 'usehead' url parameter for git repositories. Specifying
usehead=1 causes bitbake to use whatever commit the repository HEAD is
pointing to. Usage of usehead=1 is only allowed for local git
repositories, i.e. it must always be accompanied with protocol=file url
parameter.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Markus Lehtonen [Thu, 18 Aug 2016 16:55:54 +0000 (19:55 +0300)]
bitbake: bitbake-selftest: enable bitbake logging to stdout
Now you get the bb logger output for failed tests. This helps debugging
problems. Also, all stdout/stderr data for successful tests is silenced
which makes for less cluttered console output.
This simplifies the script, and, gives new features. It is now possible
to run single test functions, for example. This is nice when writing new
test cases.
Robert Yang [Fri, 19 Aug 2016 01:29:16 +0000 (18:29 -0700)]
kbd: remove PARALLEL_MAKEINST = ""
There isn't anything wrong when looked into its Makefile, I guess that
it had been fixed during ugprade, and I've applied this patch locally
for more than 2 months, there isn't anything wrong.
Awais Belal [Fri, 19 Aug 2016 11:08:13 +0000 (16:08 +0500)]
asciidoc-native: add dependency on docbook-xml-dtd4-native
During the compilation phase asciidoc runs a2x for validation
of some xmls which in turn invokes xmllint with --nonet
parameter that requires DTDs to be available locally in order
to succeed otherwise the do_compile fails.
We now add a direct dependency on docbook-xml-dtd4 so the
DTDs are always available locally.
Andrej Valek [Fri, 19 Aug 2016 10:51:06 +0000 (12:51 +0200)]
openssl: fix add missing dependencies building for test directory
Regarding the last commit about missing dependencies, another issue
was found. The problem was found, while ptest has been built with some
set extra settings. It means, when ptest is going to be built,
it is necessary to rebuild dependencies for test directory too.
André Draszik [Fri, 19 Aug 2016 10:49:02 +0000 (11:49 +0100)]
libffi: fix a typo (mips)
While code elsewhere checks for
MIPS_INSTRUCTION_SET == mips16e in order to decide how
to compile, hence the typo doesn't affect behaviour, the
intention was to set it to 'mips', as is done everywhere
else. Fixing the typo also helps to avoid confusion.
Ed Bartosh [Fri, 19 Aug 2016 14:46:39 +0000 (17:46 +0300)]
syslinux.bbclass: ensure creation of output directory
build_syslinux_cfg function creates syslinux configuration file.
The code assumes that the output directory exists, which is not
always the case. For example rm_work task removes rootfs directory
structure and causes build_syslinux_cfg to fail with this error:
Unable to open ../<image>-<version>/syslinux_vm.cfg
Made build_syslinux_cfg depend on output directory to ensure that
directory is created before running the function.
Richard Purdie [Fri, 19 Aug 2016 15:28:17 +0000 (16:28 +0100)]
busybox: Add parallel make fix
We're seeing regular parallel make failures in applet headers in busybox.
This adds a patch to try and avoid the issue, building upon a fix already
backported from upstream. The patch has been sent to upstream.
Richard Purdie [Fri, 19 Aug 2016 15:27:43 +0000 (16:27 +0100)]
sanity.bbclass: Ensure we expand BUILD_PREFIX
This likely used to work when we expanded python functions and broke when
we stopped. Since it defaults to "", it never caused an issue but
is incorrect usage so fix it.
Mark Hatle [Thu, 18 Aug 2016 17:04:16 +0000 (12:04 -0500)]
local.conf.sample: Disable ARM and PPC due to prelink test case failures
Internal prelink test cases reloc8 and reloc9 are failing on both ARM
and PPC systems. Disable them by removing the prelink from the
IMAGE_CLASSES setting.
Mark Hatle [Thu, 18 Aug 2016 17:04:15 +0000 (12:04 -0500)]
prelink: Move to latest version of prelink
* Uprev rtld emulation to glibc-2.23
* Fix compilation warnings
* Add additional debug scopes
* Change rtld build_local_scope to be breadth-first
* Fix LD_PRELOAD emulation
* Change function reordering to work with latest binutils
Richard Purdie [Thu, 18 Aug 2016 13:46:32 +0000 (14:46 +0100)]
libunwind: Fix build race conflict with gcc and musl
Building libunwind, then gcc-runtime causes build failures. This is hard
to fix since gcc-runtime wants the internal gcc unwind.h header but libunwind
wants to provide this. There are differences in include behaviour between gcc
and glibc which are by design.
This patch hacks around the issue by looking for a define used during gcc-runtime's
build and skipping to the internal header in that case. The patch is only enabled
on musl and is the best workaround I could come up with to unblock failing builds
on our autobuilder.
The previous description was not accurate. Looking at the code,
SERIAL_CONSOLES_CHECK does not act like SERIAL_CONSOLES, as it
will not add consoles to enable but only check and disable
consoles defined by SERIAL_CONSOLES. Also, the previous patch
adds aliasing functionality that needed to be documented.
I (Scott Rifenbark) did a bit of word-smithing here from the
original patch.
Scott Rifenbark [Fri, 12 Aug 2016 20:19:34 +0000 (13:19 -0700)]
ref-manual: Updated the section on viewing dependencies
Fixes [YOCTO #10131]
The section was renamed "Viewing Dependencies" for consistency.
The section was moved up to be the third item in the sub-section
list. The section was extensively re-written to provide more
clarity and options for the user to view dependencies.
Scott Rifenbark [Mon, 8 Aug 2016 21:13:06 +0000 (14:13 -0700)]
ref-manual: Clarify and flesh out debugging using bitbake -e
Fixes [YOCTO #10099]
Renamed the log file section to better describe what the user
is accomplishing.
Renamed and repositioned the variables section to better describe
and emphasize the task. Also fleshed out the variables section with
more information.
Scott Rifenbark [Mon, 8 Aug 2016 17:09:50 +0000 (10:09 -0700)]
dev-manual: Added a new "known issue" for running qemu.
Fixes [YOCTO #9285]
Added a new bullet item to note that Using QEMU in usermode
might not work properly when running 64-bit binaries under
32-bit host machines. In particular, "qemumips64" is known
to not work under i686.
Scott Rifenbark [Mon, 8 Aug 2016 16:21:20 +0000 (09:21 -0700)]
ref-manual: Updated PROVIDES and FILES variable descriptions
Fixes [YOCTO #10094]
For PROVIDES, I added information about how the do_package
task goes through PACKAGES and uses the FILES variable
corresponding to each package to assign files to the package.
For FILES, I added a blurb to the existing note how you can
find default values for the FILES* variables.
Scott Rifenbark [Wed, 3 Aug 2016 17:37:22 +0000 (10:37 -0700)]
ref-manual: Updates to PARALLEL_MAKE, PARALLEL_MAKEINST, EXTRA_OEMAKE
Fixes [YOCTO #10070]
Updated these three variables with various items to make clear
that PARALLEL_MAKE and PARALLEL_MAKEINST won't work unless
EXTRA_OEMAKE is passed to "make".
Signed-off-by: Joe Slater <jslater@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Tue, 16 Aug 2016 17:00:13 +0000 (18:00 +0100)]
devtool/recipetool/meta: Adapt to bitbake API changes for multi-configuration builds
Unfortunately to implenent multiconfig support in bitbake some APIs
had to change. This updates code in OE to match the changes in bitbake.
Its mostly periperhal changes around devtool/recipetool
[Will need a bitbake version requirement bump which I'll make when merging]
Richard Purdie [Tue, 16 Aug 2016 16:47:06 +0000 (17:47 +0100)]
bitbake: bitbake: Initial multi-config support
This patch adds the notion of supporting multiple configurations within
a single build. To enable it, set a line in local.conf like:
BBMULTICONFIG = "configA configB configC"
This would tell bitbake that before it parses the base configuration,
it should load conf/configA.conf and so on for each different
configuration. These would contain lines like:
MACHINE = "A"
or other variables which can be set which can be built in the same
build directory (or change TMPDIR not to conflict).
One downside I've already discovered is that if we want to inherit this
file right at the start of parsing, the only place you can put the
configurations is in "cwd", since BBPATH isn't constructed until the
layers are parsed and therefore using it as a preconf file isn't
possible unless its located there.
Execution of these targets takes the form "bitbake
multiconfig:configA:core-image-minimal core-image-sato" so similar to
our virtclass approach for native/nativesdk/multilib using BBCLASSEXTEND.
Implementation wise, the implication is that instead of tasks being
uniquely referenced with "recipename/fn:task" it now needs to be
"configuration:recipename:task".
We already started using "virtual" filenames for recipes when we
implemented BBCLASSEXTEND and this patch adds a new prefix to
these, "multiconfig:<configname>:" and hence avoid changes to a large
part of the codebase thanks to this. databuilder has an internal array
of data stores and uses the right one depending on the supplied virtual
filename.
That trick allows us to use the existing parsing code including the
multithreading mostly unchanged as well as most of the cache code.
For recipecache, we end up with a dict of these accessed by
multiconfig (mc). taskdata and runqueue can only cope with one recipecache
so for taskdata, we pass in each recipecache and have it compute the result
and end up with an array of taskdatas. We can only have one runqueue so there
extensive changes there.
This initial implementation has some drawbacks:
a) There are no inter-multi-configuration dependencies as yet
b) There are no sstate optimisations. This means if the build uses the
same object twice in say two different TMPDIRs, it will either load from
an existing sstate cache at the start or build it twice. We can then in
due course look at ways in which it would only build it once and then
reuse it. This will likely need significant changes to the way sstate
currently works to make that possible.