]> code.ossystems Code Review - openembedded-core.git/log
openembedded-core.git
7 years agocmake: fix typo in toolchain file
Øystein Walle [Tue, 10 Oct 2017 12:59:40 +0000 (14:59 +0200)]
cmake: fix typo in toolchain file

The missing underscore makes CMake define a new variable named "CMAKE"
with the contents "ASM_FLAGS ${CMAKE_C_FLAGS}" instead of a variable
named "CMAKE_ASM_FLAGS" with contents equal to "CMAKE_C_FLAGS". It seems
clear that the intention was to assign "CMAKE_ASM_FLAGS".

CMake uses variables named "CMAKE_<LANG>_FLAGS" for defining default
compiler flags for a given language <LANG>. Leaving this flag unset may
have unintended consequences. Not doing so is however not an error as
far as CMake is concerned so it is silently accepted.

Signed-off-by: Øystein Walle <ow@datarespons.no>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agogstreamer1.0-plugins-bad: Add dependency on libdrm when wayland is enabled
Khem Raj [Sun, 8 Oct 2017 17:05:44 +0000 (10:05 -0700)]
gstreamer1.0-plugins-bad: Add dependency on libdrm when wayland is enabled

Fixes

WARNING: gstreamer1.0-plugins-bad-1.12.2-r0 do_package_qa: QA Issue: libgstwayland-1.0 rdepends on libdrm, but it isn't a build dependency, missing libdrm in DEPENDS or PACKAGECONFIG? [build-deps]
WARNING: gstreamer1.0-plugins-bad-1.12.2-r0 do_package_qa: QA Issue: gstreamer1.0-plugins-bad-waylandsink rdepends on libdrm, but it isn't a build dependency, missing libdrm in DEPENDS or PACKAGECONFIG? [build-deps]

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agomusl: use a more specific fix for ARM thumb + frame pointers
Andre McCurdy [Mon, 9 Oct 2017 16:00:35 +0000 (09:00 -0700)]
musl: use a more specific fix for ARM thumb + frame pointers

When compiling for Thumb or Thumb2, frame pointers _must_ be disabled
since the Thumb frame pointer in r7 clashes with musl's use of inline
asm to make syscalls (where r7 is used for the syscall NR).

In most cases, frame pointers will be disabled automatically due to
the optimisation level, but appending an explicit -fomit-frame-pointer
to CFLAGS handles cases where optimisation is set to -O0 or frame
pointers have been enabled by -fno-omit-frame-pointer earlier in
CFLAGS, etc.

Note that this limitation applies both to gcc and clang, the only
difference between the two being that where gcc aborts with an error
about reusing r7, clang apparently silently generates broken code:

  https://bugs.llvm.org/show_bug.cgi?id=34165

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agoperl: remove the reference of DEBUG_PREFIX_MAP
Jackie Huang [Tue, 10 Oct 2017 09:17:53 +0000 (17:17 +0800)]
perl: remove the reference of DEBUG_PREFIX_MAP

Remove all instances of -fdebug-prefix-map in ccflags*
because they contain references to the build host and
are not needed.

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agogcc: Backport fix for a segfault on riscv
Khem Raj [Mon, 9 Oct 2017 19:58:36 +0000 (12:58 -0700)]
gcc: Backport fix for a segfault on riscv

seen during kernel compile

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agodevtool: standard: Expand SRCREV before using it in _update_recipe_srcrev
Peter Kjellerstedt [Tue, 10 Oct 2017 22:01:49 +0000 (00:01 +0200)]
devtool: standard: Expand SRCREV before using it in _update_recipe_srcrev

If SRCREV contains a variable reference, any devtool command that
would try to update it would fail. E.g., if SRCREV = "R${PV}", then
devtool finish without having committed any changes would fail with:

  oe.patch.CmdError: Command Error: 'sh -c 'git format-patch R${PV} -o
  /tmp/oepatchb_doareb -- .'' exited with 0 Output:
  fatal: bad revision 'R'

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agoown-mirrors.bbclass: allow other settings of PREMIRRORS have effect
Chen Qi [Wed, 11 Oct 2017 07:00:01 +0000 (15:00 +0800)]
own-mirrors.bbclass: allow other settings of PREMIRRORS have effect

If we inherit own-mirrors.bbclass, other settings of PREMIRRORS in
our project would have no effect.

This patch modifies the setting in own-mirrors.bbclass to allow other
settings of PREMIRRORS to still have effect.

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agomesa: explictly add lib expat to intel libvulkan's lib depends
Hongxu Jia [Wed, 11 Oct 2017 08:19:27 +0000 (04:19 -0400)]
mesa: explictly add lib expat to intel libvulkan's lib depends

While built with "-fvisibility=default"
...
|i586-oe-linux-gcc ... -fvisibility=default ... -o ommon/.libs/
common_libintel_common_la-gen_decoder.o
...

It triggered the failure
...
|i586-oe-linux-g++  ... common/.libs/libintel_common.a ... -o
vulkan/.libs/libvulkan_intel.so
|common/.libs/libintel_common.a(common_libintel_common_la-gen_decoder.o):
|In function `start_element':
|/usr/src/debug/mesa/2_17.1.7-r0/mesa-17.1.7/src/intel/common/gen_decoder.c:371:
undefined reference to `XML_GetCurrentLineNumber'
...

explictly add EXPAT_LIBS to intel's VULKAN_LIB_DEPS

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agoarchiver: preserve sysroot paths in configured mode for multilib
Hongxu Jia [Thu, 12 Oct 2017 07:37:33 +0000 (03:37 -0400)]
archiver: preserve sysroot paths in configured mode for multilib

In the following commit, the archiver expanded RECIPE_SYSROOT
to preserve sysroot paths in configured mode:
...
commit aa2240657b015d46e9ba4bcb6264709a82313d83
Author: Ross Burton <ross.burton@intel.com>
Date:   Tue Jun 6 15:23:18 2017 +0100

    archiver: preserve sysroot paths in configured mode
...

In meta/conf/multilib.conf, it overrides the variables
of STAGING_DIR_HOST, STAGING_DIR_TARGET and RECIPE_SYSROOT
with "${WORKDIR}/${MLPREFIX}recipe-sysroot".

So the archiver should also expand STAGING_DIR_HOST and
STAGING_DIR_TARGET to preserve sysroot paths in configured mode for
multilib.

[YOCTO #11584]

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agosstate.bbclass: provide an exception for useradd scenario
Maxin B. John [Thu, 12 Oct 2017 08:09:07 +0000 (11:09 +0300)]
sstate.bbclass: provide an exception for useradd scenario

Packages, which depend on users/groups created from other packages,
needs "shadow-native" as a build time dependency. So, add an exception
to the "shadow-native" from otherwise discarded native/cross tools
dependency.

Fixes [YOCTO #11960]

Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agoscreen: fix configure failed while build dir contains "yes"
Hongxu Jia [Thu, 12 Oct 2017 10:20:19 +0000 (06:20 -0400)]
screen: fix configure failed while build dir contains "yes"

While the name of build dir contains "yes", the AC_EGREP_CPP
test always return true.

We rarely use "yes;" to name build dir, so s/yes/yes;/g
could fix the issue.

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agolinux-firmware: make i.MX SDMA split complete
Mikko Ylinen [Tue, 10 Oct 2017 12:27:06 +0000 (15:27 +0300)]
linux-firmware: make i.MX SDMA split complete

The commit to split i.MX SDMA firmware blobs in their
own packages was not complete and results in a failure
when trying to install full linux-firmware:

 * Solver encountered 1 problem(s):
 * Problem 1/1:
 *   - nothing provides linux-firmware-imx-sdma-license needed
 *     by linux-firmware-1:0.0+git0+a61ac5cf83-r0.all
 *
 * Solution 1:
 *   - do not ask to install a package providing linux-firmware

Make the split complete by installing the license in
${PN}-imx-sdma-license and have the blob packages depend on it.

Signed-off-by: Mikko Ylinen <mikko.ylinen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agolibgcrypt: Fix building on armv6
Paul Barker [Mon, 9 Oct 2017 12:21:20 +0000 (12:21 +0000)]
libgcrypt: Fix building on armv6

This patch is backported from the upstream git repository to fix building
libgcrypt on armv6 platforms such as raspberrypi.

Signed-off-by: Paul Barker <pbarker@toganlabs.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agocross.bbclass: Remove usage of host flags for cross-compilation
Nikolay Merinov [Fri, 6 Oct 2017 19:00:39 +0000 (00:00 +0500)]
cross.bbclass: Remove usage of host flags for cross-compilation

BUILD_* flags can't be used as TARGET_* flags even for "cross" packages.

gcc-cross buils leaks config.log's through "gcc-stashed-builddir" and
TARGET_* flags to libgcc cross-build through "gcc/libgcc.mvars" file
on "gcc-stashed-builddir". This means that if BUILD_CFLAGS contains
host-specific flags like "-isystem/usr/include" libgcc build will
fail "do_qa_configure" and "do_package_qa" checks.

Remove host-related flags from TARGET_* flags for gcc-cross build.

Signed-off-by: Nikolay Merinov <n.merinov@inango-systems.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agowpa_supplicant: fix WPA2 key replay security bug
Ross Burton [Mon, 16 Oct 2017 16:03:04 +0000 (17:03 +0100)]
wpa_supplicant: fix WPA2 key replay security bug

WPA2 is vulnerable to replay attacks which result in unauthenticated users
having access to the network.

* CVE-2017-13077: reinstallation of the pairwise key in the Four-way handshake

* CVE-2017-13078: reinstallation of the group key in the Four-way handshake

* CVE-2017-13079: reinstallation of the integrity group key in the Four-way
handshake

* CVE-2017-13080: reinstallation of the group key in the Group Key handshake

* CVE-2017-13081: reinstallation of the integrity group key in the Group Key
handshake

* CVE-2017-13082: accepting a retransmitted Fast BSS Transition Reassociation
Request and reinstalling the pairwise key while processing it

* CVE-2017-13086: reinstallation of the Tunneled Direct-Link Setup (TDLS)
PeerKey (TPK) key in the TDLS handshake

* CVE-2017-13087: reinstallation of the group key (GTK) when processing a
Wireless Network Management (WNM) Sleep Mode Response frame

* CVE-2017-13088: reinstallation of the integrity group key (IGTK) when
processing a Wireless Network Management (WNM) Sleep Mode Response frame

Backport patches from upstream to resolve these CVEs.

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
7 years agobitbake.conf: add tools required by testimage to HOSTTOOLS conditionally
Chen Qi [Sat, 30 Sep 2017 08:15:42 +0000 (16:15 +0800)]
bitbake.conf: add tools required by testimage to HOSTTOOLS conditionally

Add tools required by testimage to HOSTTOOLS only when testimage is
inherited. These tools, as described in the comment, are only required
by the testimage task. So this change should not have negtive effect.
This would also solve build error on hosts which miss some tool such as scp.

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
7 years agogcc-6.3: Backport patch to fix ICE on ARM
Khem Raj [Sat, 7 Oct 2017 17:29:23 +0000 (10:29 -0700)]
gcc-6.3: Backport patch to fix ICE on ARM

Fixes
internal compiler error: Max. number of generated reload insns per insn is achieved (90)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
7 years agoe2fsprogs: modify ptest script
Juro Bystricky [Fri, 6 Oct 2017 23:30:46 +0000 (16:30 -0700)]
e2fsprogs: modify ptest script

e2fsprog testsuite used to log results into its own log file into
/usr/lib/e2fsprogs/ptest/test.log. Therefore console output was not available and
redirecting ptest-runner output into a log file would not capture output of any
individual tests. So overall the whole e2fsprogs testsuite consisting of about
300 tests was evaluated as a single test.

This patch ensures the e2fsprogs test_script output is not automatically redirected
while executing during run-ptest. Any redirection is up to the user.
Additionally, the results of tests are prefixed by more canonical "PASS:" FAIL:"
based on the actual test results.

Aditionally, remove various files created by the testsuite.

[YOCTO #12146]

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
7 years agolinux-firmware: Split i.MX SDMA firmwares
Otavio Salvador [Thu, 5 Oct 2017 18:00:06 +0000 (15:00 -0300)]
linux-firmware: Split i.MX SDMA firmwares

This splits out the i.MX SDMA firmwares for i.MX6 and i.MX7 SoCs. This
also includes the required runtime provides, conflicts and replaces
for the old firmware-imx which was provided by NXP BSP layer.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
7 years agobash-ptest: install additional locales
Juro Bystricky [Thu, 5 Oct 2017 23:28:12 +0000 (16:28 -0700)]
bash-ptest: install additional locales

bash-ptest fails several tests. This patch fixes:

FAIL: run-intl

The test used to fail because of missing locales (fr_FR, de_DE)

[YOCTO #12145]

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agolib/oe/package_manager.py (rpm): Allow use of non-signed packages
Otavio Salvador [Mon, 2 Oct 2017 16:56:31 +0000 (13:56 -0300)]
lib/oe/package_manager.py (rpm): Allow use of non-signed packages

When we wish to use the package feed for local development, it does
not uses GPG signed feeds by default but dnf uses package signature
check. We need to configure the GPG signature check out so it works
out of box.

With this patch, installing non-signed packages works:

$: dnf install <package>

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agolibxml2-ptest: set LC_ALL=en_US.UTF-8
Juro Bystricky [Mon, 25 Sep 2017 23:33:46 +0000 (16:33 -0700)]
libxml2-ptest: set LC_ALL=en_US.UTF-8

We need to specify UTF-8 in the environment to avoid an error
such as:

UnicodeEncodeError: 'ascii' codec can't encode character '\xe4'

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agolibxml2-ptest: support for encoding ISO-8859-5
Juro Bystricky [Mon, 25 Sep 2017 23:33:45 +0000 (16:33 -0700)]
libxml2-ptest: support for encoding ISO-8859-5

This fixes the error:

./test/errors/759398.xml:1: parser error : Unsupported encoding ISO-8859-5
<?xml version='1.0' encoding='ISO-8859-5' standalone='no'?>
                                         ^
./test/errors/759398.xml : failed to parse
FAIL: Error cases stream regression tests

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agolibxml2-ptest: improve reproducibility
Juro Bystricky [Mon, 25 Sep 2017 23:33:44 +0000 (16:33 -0700)]
libxml2-ptest: improve reproducibility

Remove various build host references from libxml-ptest package.

[YOCTO #11997]

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agooe-pkgdata-util: add unescape option to read-value
Ross Burton [Wed, 4 Oct 2017 13:12:41 +0000 (14:12 +0100)]
oe-pkgdata-util: add unescape option to read-value

Some fields are multiline values which have been escaped, so add an option to
unescape the \n and \t.

Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agositeinfo: nios2-linux - remove wrong mutex info
Juro Bystricky [Tue, 3 Oct 2017 21:54:12 +0000 (14:54 -0700)]
siteinfo: nios2-linux - remove wrong mutex info

With the commit afa9f769d62034d4443dfe929422d1d591adf709 some nios2 builds
(uboot, core-image-minimal, etc) were broken due to db trying to use ARM instructions
in mutexes. The reason was db "configure" used the cached entry from nios2-linux
(which was incorrect). So the remedy was to remove the incorrect cached entry
and let db "configure" figure out which is the proper mutex to use.

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agoargp-standalone: drop RDEPENDS dev/staticdev packages on main package
Ming Liu [Thu, 5 Oct 2017 14:23:02 +0000 (16:23 +0200)]
argp-standalone: drop RDEPENDS dev/staticdev packages on main package

This ensures argp-standalone-staticdev package could be installed
correctly(without depending on the empty argp-standalone package) if
it's being required during SDK population.

Signed-off-by: Ming Liu <liu.ming50@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agobitbake.conf: Add 'id' to HOSTTOOLS
Otavio Salvador [Thu, 5 Oct 2017 18:21:35 +0000 (15:21 -0300)]
bitbake.conf: Add 'id' to HOSTTOOLS

The 'id' utility is used in 'rootfs_check_host_user_contaminated'
rootfs-postcommand so it must be available.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agopython-ptest: various fixes
Juro Bystricky [Thu, 5 Oct 2017 18:22:28 +0000 (11:22 -0700)]
python-ptest: various fixes

python-ptest needs python-tests package installed in order to
run any tests.
This patch adds python-tests as a runtime dependency, so the test suite
will be present in the image.
While in there, also removed several build host references.

[YOCTO #12144]

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agoutils.bbclass: Support applications with arguments in check_app_exist()
Nikolay Merinov [Thu, 5 Oct 2017 07:46:07 +0000 (12:46 +0500)]
utils.bbclass: Support applications with arguments in check_app_exist()

check_app_exist function must support cases when "app" variable defined
as "progname --args". For example BUILD_CC="gcc -march=x86-64" must
pass sanity check.

Signed-off-by: Nikolay Merinov <n.merinov@inango-systems.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agolibarchive: re-add non-recursive extract and list support
Patrick Ohly [Thu, 5 Oct 2017 11:13:21 +0000 (13:13 +0200)]
libarchive: re-add non-recursive extract and list support

This patch is needed for meta-swupd. Without it, some bsdtar
invocations fail with:
bsdtar: Option -n is not permitted in mode -x

The patch was removed in the update to 3.3.1 with the claim that it
had been merged upstream, but that is not the case.

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agonspr, nss: Use BUILD_CC instead of hardcoded "gcc"
Nikolay Merinov [Thu, 5 Oct 2017 07:25:39 +0000 (12:25 +0500)]
nspr, nss: Use BUILD_CC instead of hardcoded "gcc"

Recipes nspr_4.16.bb and nss_3.31.1.bb ignored BUILD_CC and it's
BUILD_CFLAGS and tried to compile with hardcoded "gcc" instead. As
result build for this recipes will fail if host use different name for
compiler or require any flags.

Signed-off-by: Nikolay Merinov <n.merinov@inango-systems.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agoglibc-locale.inc: fix typo in comment
Gianfranco Costamagna [Wed, 4 Oct 2017 21:12:46 +0000 (23:12 +0200)]
glibc-locale.inc: fix typo in comment

Signed-off-by: Gianfranco Costamagna <gianfranco.costamagna@abinsula.com>
Signed-off-by: Lorenzo Chianura <lorenzo.chianura@abinsula.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agostaging.bbclass: handle postinst-useradd-* fixmes
Mikko Ylinen [Tue, 3 Oct 2017 07:09:26 +0000 (10:09 +0300)]
staging.bbclass: handle postinst-useradd-* fixmes

After 02457ef7f600ce954874e2d11e74b1c6daaa3bfc, PSEUDO for
postinst-useradd-* scripts get to use only one PSEUDO_LOCALSTATEDIR
which is set under recipes ${WORKDIR}.

When the those scripts are run in a clean build environment that
is built from the sstate (populate_sysroot_setscene run for
postinst-useradd-* providers), pseudo fails to run because it cannot
access the PSEUDO_LOCALSTATEDIR (recipe ${WORKDIR}s do not exist).
This triggers a sysroot staging error.

Previously, the PSEUDO_LOCALSTATEDIR setting in useradd.bbclass
worked because the RSS sstate/staging logic automagically processed
${STAGING_DIR_TARGET} in postinst-useradd-* scripts to point under
the sysroot being built.

The fix uses the same fixme processing by adding PSEUDO_LOCALSTATEDIR
variable to it. Furthermore, LOGFIFO is added to be able to use
the logging fifo of the recipe that actually runs postinst-useradd-*.

Signed-off-by: Mikko Ylinen <mikko.ylinen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agosystemd: drop unreferenced uclibc specific agetty -> getty patch
Andre McCurdy [Wed, 4 Oct 2017 01:43:32 +0000 (18:43 -0700)]
systemd: drop unreferenced uclibc specific agetty -> getty patch

The patch is uclibc specific and reference to it was removed from the
systemd recipe in:

  http://git.openembedded.org/openembedded-core/commit/?id=653704e9cf325cb494eb23facca19e9f05132ffd

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agosystemd: drop uclibc specific exp10 support patch
Andre McCurdy [Tue, 3 Oct 2017 01:03:04 +0000 (18:03 -0700)]
systemd: drop uclibc specific exp10 support patch

This patch is clearly uclibc specific and appears to have been
inadvertently left behind during the recent purging of uclibc
specific patches from oe-core:

  http://git.openembedded.org/openembedded-core/commit/?id=e01e7c543a559c8926d72159b5cd55db0c661434

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agolttng-modules: Backport fixes for kernel instrumentation
Otavio Salvador [Tue, 26 Sep 2017 20:43:55 +0000 (17:43 -0300)]
lttng-modules: Backport fixes for kernel instrumentation

This backport fixes from upcoming 2.9.4 release. Those are:

 - Fix: vmalloc wrapper on kernel < 2.6.38
 - Fix: vmalloc wrapper on kernel >= 4.12
 - Add kmalloc failover to vmalloc
 - Fix: mmap: caches aliased on virtual addresses
 - Fix: update ext4 instrumentation for kernel 4.13
 - Fix: Sleeping function called from invalid context
 - Fix: sched for v4.11.5-rt1
 - Fix: handle missing ftrace header on v4.12

This fix failures in some BSP layers which are using Linux 4.13
already.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agoimage_types: Fix bmaptool support for RSS
Tom Rini [Fri, 29 Sep 2017 14:28:19 +0000 (10:28 -0400)]
image_types: Fix bmaptool support for RSS

With RSS we need to ensure that when making a bmap image that the
python3 that we created is found via /usr/bin/env rather than the host
python3.  Otherwise we're relying on the build host to have bmaptool
support installed.

Signed-off-by: Tom Rini <trini@konsulko.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agolicense.py: Correct selection of licenses in is_included()
Peter Kjellerstedt [Fri, 29 Sep 2017 15:52:34 +0000 (17:52 +0200)]
license.py: Correct selection of licenses in is_included()

When faced with multiple sets of licenses combined with | (OR), it was
possible for oe.license.is_included() to choose a set of licenses with
a blacklisted license and then report failure, even if choosing
another set of licenses would have resulted in a successful
result. This happened when the chosen set still contained more
whitelisted licenses than the other set.

This change makes sure a set with any blacklisted license is always
considered with a lower weight than a set with only whitelisted
licenses.

Example: Faced with the license string "GPL-3.0 & GPL-2.0 & LGPL-2.1 |
Proprietary" and with "GPL-3.0" being blacklisted, the old code would
report a failure since "GPL-3.0 & GPL-2.0 & LGPL-2.1" still contains
more whitelisted licenses than "Proprietary" does.

This change also adds a unit test for oe.license.is_included().

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agopackagegroup-go-sdk-target: inherit goarch
Joe Slater [Fri, 29 Sep 2017 20:44:43 +0000 (13:44 -0700)]
packagegroup-go-sdk-target: inherit goarch

The RDEPENDs will not be satisfied for certain architectures,
so skip the recipe in those cases.

Signed-off-by: Joe Slater <jslater@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agogo-runtime: prevent host leakage into target objects
Matt Madison [Wed, 4 Oct 2017 18:21:52 +0000 (18:21 +0000)]
go-runtime: prevent host leakage into target objects

When building for a target whose architecture matches
the build host's, the second pass through make.bash
to build the shareable runtime would also overwrite
the target's static cgo library with host-compatibile
binaries.

Fix this by running the host-side build once and
target-only passes of make.bash twice, for static
and shareable.  This ensures that what gets installed
is target-compatible.

Also fix an issue with x86-64 targets running MUSL by
removing the pre-built (for glibc) objects for the
race detector runtime before building.

[YOCTO #12136]

Signed-off-by: Matt Madison <matt@madison.systems>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agogoarch.bbclass: rework mips architecture checks
Matt Madison [Thu, 28 Sep 2017 17:34:42 +0000 (10:34 -0700)]
goarch.bbclass: rework mips architecture checks

Remove the TUNE_FEATURES references from go_map_arch,
to avoid an unwanted variable dependency.  Direct
comparisons of the architecture name are sufficient
for covering what Go currently supports, and using
TUNE_CCARGS_remove adequately handles the conflict
with the cgo-supplied flags for mips.

Signed-off-by: Matt Madison <matt@madison.systems>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agocml1: remove diffconfig return code checking
Bruce Ashfield [Thu, 28 Sep 2017 15:59:09 +0000 (11:59 -0400)]
cml1: remove diffconfig return code checking

The following commit:

[
  commit 578c8205fd14c48c6d30ef2889d86f1b4aee060a
  Author: Mikko Rapeli <mikko.rapeli@bmw.de>
  Date:   Thu Jun 22 16:23:14 2017 +0300

      meta: Fix return value checks from subprocess.call()'s

      Python function subprocess.call() returns the return value of the
      executed process. If return values are not checked, errors may
      go unnoticed and bad things can happen.

      Change all callers of subprocess.call() which do not check for
      the return value to use subprocess.check_call() which raises
      CalledProcessError if the subprocess returns with non-zero value.

      https://docs.python.org/2/library/subprocess.html#using-the-subprocess-module

      All users of the function were found with:

      $ git grep "subprocess\.call" | \
            egrep -v 'if.*subprocess\.call|=\
            +subprocess\.call|return.*subprocess\.call'

      Tested similar patch on top of yocto jethro. Only compile tested
      core-image-minimal on poky master branch.

Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
]

Added return code checking to do_diffconfig. Although the change is
well intentioned, it isn't correct in this instance since 'diff' returns
'1' to indicate that there are differences in the files .. and not as
an error code.

subprocess.check_call() flags this as an error and the routine aborts.

We are already checking the inputs, and in fact already know there's a
diff in the files before we even make the call, so there's no need to
look for an error in this case.

Putting back subprocess.call() restores the routine to working order.

[YOCTO #12132]

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agoopenssh: Atomically generate host keys
Joshua Watt [Thu, 28 Sep 2017 13:40:01 +0000 (08:40 -0500)]
openssh: Atomically generate host keys

Generating the host keys atomically prevents power interruptions during the
first boot from leaving the key files incomplete, which often prevents users
from being able to ssh into the device.

[YOCTO #11671]

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agolibarchive: CVE-2017-14502
Zhixiong Chi [Thu, 28 Sep 2017 08:06:05 +0000 (16:06 +0800)]
libarchive: CVE-2017-14502

read_header in archive_read_support_format_rar.c suffers from an
off-by-one error for UTF-16 names in RAR archives, leading to an
out-of-bounds read in archive_read_format_rar_read_header.
Backport the patch from
https://github.com/libarchive/libarchive/commit
commit 5562545b5562f6d12a4ef991fae158bf4ccf92b6

CVE: CVE-2017-14502

Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agosystemd: add runtime dependencies to pam plugins.
andreas.kling@peiker-cee.de [Wed, 27 Sep 2017 09:40:14 +0000 (11:40 +0200)]
systemd: add runtime dependencies to pam plugins.

Signed-off-by: Andy Kling <andreas.kling@peiker-cee.de>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agopackage_manager: rpm: improve logging
Mikko Ylinen [Wed, 27 Sep 2017 08:08:15 +0000 (11:08 +0300)]
package_manager: rpm: improve logging

To be able to better debug remove() behaviour, add more logging
to rpm calls via bb.note(). The change also makes remove() logging
more consistent with other package managers' remove() (e.g., opkg).

Signed-off-by: Mikko Ylinen <mikko.ylinen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agorootfs.py: remove update-alternatives correctly
Mikko Ylinen [Wed, 27 Sep 2017 08:08:14 +0000 (11:08 +0300)]
rootfs.py: remove update-alternatives correctly

With "read-only-rootfs" in IMAGE_FEATURES, packages in ROOTFS_RO_UNNEEDED
are removed when building the rootfs. The list of packages to remove is
passed to the package manager and the list is sorted so that
update-alternatives provider is the last entry. This is with the
assumption that the last entry on the list/command line is removed last.

However, it turns out rpm does not care about "last on the command
line" and update-alternatives provider is removed before other the
packages get to run their %preun scripts for update-alternatives.

This leaves broken alternative symlinks in rootfs.

The fix is to first remove all but update-alternatives provider and
after that update-alternatives provider in its own remove() call.

Signed-off-by: Mikko Ylinen <mikko.ylinen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agolinux-firmware: package Broadcom BCM43362 firmware
Tomas Novotny [Tue, 26 Sep 2017 16:00:41 +0000 (18:00 +0200)]
linux-firmware: package Broadcom BCM43362 firmware

Signed-off-by: Tomas Novotny <tomas@novotny.cz>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agoffmpeg: backport patches to fix 12 CVEs
Chen Qi [Tue, 26 Sep 2017 07:43:24 +0000 (15:43 +0800)]
ffmpeg: backport patches to fix 12 CVEs

Backport patches to fix the following CVEs.

CVE-2017-14054
CVE-2017-14055
CVE-2017-14056
CVE-2017-14057
CVE-2017-14058
CVE-2017-14059
CVE-2017-14169
CVE-2017-14170
CVE-2017-14171
CVE-2017-14222
CVE-2017-14223
CVE-2017-14225

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agoglib-2.0: Remove recommend shared-mime-info for MinGW
Alistair Francis [Mon, 25 Sep 2017 22:56:55 +0000 (15:56 -0700)]
glib-2.0: Remove recommend shared-mime-info for MinGW

Commit glib-2.0: recommend shared-mime-info
(51e4f9ca5368af5cefa26f4ca50b282e858982f8) broke compilation when cross
compiling for Windows. This patch removes the recommendation for
shared-mime-info when using MinGW cross compile.

Signed-off-by: Alistair Francis <alistair.francis@xilinx.com>
Cc: Ross Burton <ross.burton@intel.com>
Cc: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agolibparted: Use read only when probing devices on linux
Ovidiu Panait [Tue, 26 Sep 2017 09:00:46 +0000 (12:00 +0300)]
libparted: Use read only when probing devices on linux

When a device is opened for RW closing it can trigger other actions,
like udev scanning it for partition changes. Use read only for the
init_* methods and RW for actual changes to the device.

This adds _device_open which takes mode flags as an argument and turns
linux_open into a wrapper for it with RW_MODE.

_device_open_ro is added to open the device with RD_MODE and increment
the open_counter. This is used in the init_* functions.

_device_close is a wrapper around linux_close that decrements the
open_counter and is used in the init_* functions.

All of these changes are self-contained with no external API changes.
The only visible change in behavior is that when a new PedDevice is
created the device is opened in RO_MODE instead of RW_MODE.

Resolves: rhbz#1245144

Reference:
https://bugzilla.redhat.com/show_bug.cgi?id=1283112

Upstream patch:
http://git.savannah.gnu.org/cgit/parted.git/commit/?id=44d5ae0115c4ecfe3158748309e9912c5aede92d

Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agoovmf: add SUMMARY and fix HOMEPAGE url
Leonardo Sandoval [Wed, 5 Jul 2017 15:57:36 +0000 (08:57 -0700)]
ovmf: add SUMMARY and fix HOMEPAGE url

Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agoupdate-rc.d: Add HOMEPAGE info into recipe file.
Huang Qiyu [Tue, 26 Sep 2017 02:36:35 +0000 (10:36 +0800)]
update-rc.d: Add HOMEPAGE info into recipe file.

Signed-off-by: Huang Qiyu <huangqy.fnst@cn.fujitsu.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agostat: Add HOMEPAGE info into recipe file.
Huang Qiyu [Tue, 26 Sep 2017 02:36:34 +0000 (10:36 +0800)]
stat: Add HOMEPAGE info into recipe file.

Signed-off-by: Huang Qiyu <huangqy.fnst@cn.fujitsu.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agoprelink: Add HOMEPAGE info into recipe file.
Huang Qiyu [Tue, 26 Sep 2017 02:36:33 +0000 (10:36 +0800)]
prelink: Add HOMEPAGE info into recipe file.

Signed-off-by: Huang Qiyu <huangqy.fnst@cn.fujitsu.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agoat: Add HOMEPAGE info into recipe file.
Huang Qiyu [Tue, 26 Sep 2017 02:36:32 +0000 (10:36 +0800)]
at: Add HOMEPAGE info into recipe file.

Signed-off-by: Huang Qiyu <huangqy.fnst@cn.fujitsu.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agosystemd-serialtty: allow empty package
Chen Qi [Tue, 26 Sep 2017 08:41:38 +0000 (16:41 +0800)]
systemd-serialtty: allow empty package

If SERIAL_CONSOLES is set to empty for some reason, we would have rootfs
failure like below.

  - nothing provides systemd-serialgetty needed by systemd-1:234-r0.core2_64

This is because systemd-serialgetty package is not generated when
SERIAL_CONSOLES is empty.

Set ALLOW_EMPTY to "1" for this recipe to allow for generation of empty
systemd-serialgetty package to avoid the above error.

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
7 years agosystemd-boot: Should not build x32
Saul Wold [Tue, 26 Sep 2017 00:52:18 +0000 (17:52 -0700)]
systemd-boot: Should not build x32

Since systemd-boot is a bootloader, it needs to be built for
the native IA instruction set size and x32 is not valid.

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
7 years agowic: remove systemd-boot for x32
Saul Wold [Tue, 26 Sep 2017 00:52:17 +0000 (17:52 -0700)]
wic: remove systemd-boot for x32

Currently systemd-boot actually incorporates libgcc, since the
systemd-boot needs to be built with 64bit instructions it can not
use the x32 based libgcc.

Use the new override to ensure it gets overriden, linux-gnux32 could
not be used because x86-64 has higher priority.

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
7 years agoarch-x86: Add x86-x32 to MACHINEOVERRIDES
Saul Wold [Tue, 26 Sep 2017 00:52:16 +0000 (17:52 -0700)]
arch-x86: Add x86-x32 to MACHINEOVERRIDES

This is needed as an x32 more generic x32 override later in the
OVERRIDES, currently linux-gnux32 is the first override, but we
need a stronger (later in the list) x32 override to deal with some
needed x32 dependency overrides.

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
7 years agocurl: Added option to enable http2 protocol.
baali [Mon, 25 Sep 2017 19:20:34 +0000 (00:50 +0530)]
curl: Added option to enable http2 protocol.

With default --without-nghttp2 flag set there was no way to get
http2 protocol support using nghttp2 library. Instead moved it to
PACKAGECONFIG options

Signed-off-by: baali <shantanu@senic.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
7 years agoselftest/cases/runtime_test: ignore removal errors when cleaning temporary gpg directory
Leonardo Sandoval [Mon, 25 Sep 2017 21:02:46 +0000 (14:02 -0700)]
selftest/cases/runtime_test: ignore removal errors when cleaning temporary gpg directory

The high-level method tempfile.TemporaryDirectory give us no way to ignore erros on
removal thus use tempfile.mkdtemp instead. Ignoring possible issues on removal
is neccesary because it contains gpg sockets that are automatically removed by
the system once the process terminates, otherwise the following log is observed:

  File "/usr/lib/python3.5/shutil.py", line 436, in _rmtree_safe_fd
    os.unlink(name, dir_fd=topfd)
  FileNotFoundError: [Errno 2] No such file or directory: 'S.gpg-agent.browser'

This is the same fix as 7e3a7cd2426feac757def81850dc44156cd0f33e, but this applies
to runtime (instead of signing).

[YOCTO #11821]

Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
7 years agosign_rpm.bbclass: force rpm serial signing
Leonardo Sandoval [Mon, 25 Sep 2017 20:52:59 +0000 (13:52 -0700)]
sign_rpm.bbclass: force rpm serial signing

Newer versions of gpg (at least 2.1.5 and 2.2.1) have issues when signing occurs in parallel
so (unfortunately) the signing must be done serially. Once the upstream problem is fixed,
this patch must be reverted, otherwise we loose all the intrinsic parallelism from
bitbake.

[YOCTO #12022]

Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
7 years agocore-image-sato-sdk-ptest: reduce size
Ross Burton [Mon, 25 Sep 2017 20:21:55 +0000 (21:21 +0100)]
core-image-sato-sdk-ptest: reduce size

This image is very large and is skirting the maximum size of hddimg images (4GB,
as they're embedded inside FAT partitions).  Making the image 10MB bigger can be
enough to cause the build to fail.  This image is also used by QA so currently
we need to keep it working.

The default values for expanding an image to give it usable space are quite
generous, (3GB rootfs * 1.3 gives 1GB of empty space), so change the overhead
multiplier to 1.0x and explicitly request just 0.5GB of empty space in the
images.

This should give us a bit more breathing room until we can either remove hddimg
from the default build, or make this image dramatically smaller.

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
7 years agowic: Add option to not change fstab
Fabio Berton [Wed, 19 Apr 2017 16:42:47 +0000 (13:42 -0300)]
wic: Add option to not change fstab

Create an option to wic doesn't change fstab file, the final
fstab file will be same that in rootfs and wic doesn't update
file, e.g adding a new mount point.

Users can control the fstab file content in base-files recipe.
This is useful if you want to only create an partition but not
add fstab mount point or add new mount point using label e.g:

LABEL=recovery /recovery auto defaults 0  1

Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
7 years agolibgcrypt: fix CVE-2017-0379
Hongxu Jia [Mon, 25 Sep 2017 08:07:19 +0000 (04:07 -0400)]
libgcrypt: fix CVE-2017-0379

Backport the fix from https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;
a=commit;h=bf76acbf0da6b0f245e491bec12c0f0a1b5be7c9

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
7 years agoscripts: drop True option to getVar calls
Ming Liu [Sun, 24 Sep 2017 04:04:24 +0000 (06:04 +0200)]
scripts: drop True option to getVar calls

Search made with the following regex: getVar ?\((.*), True\).

Signed-off-by: Ming Liu <liu.ming50@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
7 years agometa: drop True option to getVar calls
Ming Liu [Sun, 24 Sep 2017 04:03:49 +0000 (06:03 +0200)]
meta: drop True option to getVar calls

Search made with the following regex: getVar ?\((.*), True\).

Signed-off-by: Ming Liu <liu.ming50@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
7 years agosystemd: move org.freedesktop.machine1.conf to systemd-container
Fathi Boudra [Sat, 23 Sep 2017 10:37:30 +0000 (13:37 +0300)]
systemd: move org.freedesktop.machine1.conf to systemd-container

The file belongs to systemd-container package , not to systemd package.

Signed-off-by: Fathi Boudra <fathi.boudra@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
7 years agogo: Fix build with -buildmode=pie
Khem Raj [Sat, 23 Sep 2017 01:05:29 +0000 (18:05 -0700)]
go: Fix build with -buildmode=pie

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
7 years agogo_1.9: remove obsolete overrides
Matt Madison [Sat, 23 Sep 2017 00:58:22 +0000 (17:58 -0700)]
go_1.9: remove obsolete overrides

Now that mips and security flags fixes are in place
in the bbclasses, remove the local settings in this
recipe.

Signed-off-by: Matt Madison <matt@madison.systems>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
7 years agogo: disable PIE flags for cgo
Matt Madison [Sat, 23 Sep 2017 00:58:21 +0000 (17:58 -0700)]
go: disable PIE flags for cgo

If the security_flags.inc file is included, gcc
will do PIE builds by default.  These flags need
to be disabled for go packages that use cgo.

Signed-off-by: Matt Madison <matt@madison.systems>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
7 years agogoarch.bbclass: fixups for Go mips32 support
Matt Madison [Sat, 23 Sep 2017 00:58:20 +0000 (17:58 -0700)]
goarch.bbclass: fixups for Go mips32 support

* Fix the regular expression in the mips test

* Flag as incompatible any mips32 tunes for n32 ABI
  or soft-float, as go does not support them.

* Replace mips32r2 tune with mips32r1. Go only supports
  mips32r1, which is a strict subset of r2.  Adjusting
  this tune is not ideal, but is hopefully a temporary
  measure until more complete mips32 ISA coverage
  arrives upstream.

[YOCTO #12108]

Signed-off-by: Matt Madison <matt@madison.systems>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
7 years agolinux-firmware: bump to latest linux-firmware git revision
Stefan Agner [Wed, 13 Sep 2017 23:05:49 +0000 (16:05 -0700)]
linux-firmware: bump to latest linux-firmware git revision

This requires MD5 sum updates for
- LICENSE.QualcommAtheros_ath10k: year change
- WHENCE: various version updates and addition of new firmwares

The new firmware for Qualcom Venus causes a QA error:
  QA Issue: linux-firmware: Recipe inherits the allarch class, but has packaged architecture-specific binaries

Since firmware typically do not run on the CPU, the architecture of
the firmware file is independent from the CPU architecture the image
will be running on. Disable the QA check for the linux-firmware
package by default.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Signed-off-by: California Sullivan <california.l.sullivan@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agoqemurunner: print tail qemu log in case bootlog is empty
Leonardo Sandoval [Fri, 22 Sep 2017 23:05:41 +0000 (16:05 -0700)]
qemurunner: print tail qemu log in case bootlog is empty

There are cases where the 'while loop' waiting for login prompt fails
and the bootlog variable does not get populated, thus use the the new
qemurunner member (self.msg) which stores all output coming from the qemu
process.

[YOCTO #12113]

Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
7 years agoclasses: drop image dependencies on TOPDIR variable
Paul Eggleton [Mon, 25 Sep 2017 11:23:35 +0000 (00:23 +1300)]
classes: drop image dependencies on TOPDIR variable

We don't need a dependency on this variable changing, and having one
causes locked signature warnings during eSDK installation if you have
INITRAMFS_IMAGE_* set (since TOPDIR will always be different between
the eSDK and the environment in which it was built).

Relates to [YOCTO #12102].

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
7 years agouseradd-staticids: don't create username-group if gid is specified
André Draszik [Fri, 22 Sep 2017 09:00:10 +0000 (10:00 +0100)]
useradd-staticids: don't create username-group if gid is specified

Adding distcc to an image, and having staticids enabled,
doesn't work as it causes a a superfluous 'distcc' group
being added using a conflicting  GID, thus failing the
build:
 | ERROR: distcc-3.2-r0 do_prepare_recipe_sysroot: distcc: groupadd command did not succeed.

Compared to other recipes, the distcc recipe only
specifies --gid for the primary group, and doesn't specify
--no-user-group, but when --gid is given, it doesn't make
sense to create a matching username-group in addition,
even if --no-user-group was not specified, and 'useradd'
actually complains if --gid and --user-group are given
both.

If only --gid is given, the current code in here
effectively behaves as if --user-group was specified,
taking the group-id of the username-group from the
--gid parameter. This causes the error above, as we try
to add a new group (distcc) with an existing group-id
(nogroup).

This is contrary to the comment in this file just above,
contrary to what useradd can do, contrary to behaviour
without the useradd-staticids bbclass, and non-intuitive.

Change the code such that a username-group is only created
- if a primary group using --gid was not specified, or
- if --no-user-group was not specified

To be in line with useradd, if gid is not given, and
--no-user-group is given, we add the user to the group
'users', which mimics useradd's behaviour.

Signed-off-by: André Draszik <adraszik@tycoint.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
7 years agolame: fix CVE-2017-13712
Kai Kang [Fri, 22 Sep 2017 06:27:51 +0000 (14:27 +0800)]
lame: fix CVE-2017-13712

Backport patch to fix CVE-2017-13712 for lame.

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
7 years agostaging: Reduce verbosity of log messages
Richard Purdie [Thu, 21 Sep 2017 22:19:10 +0000 (23:19 +0100)]
staging: Reduce verbosity of log messages

The staging changes were very verbose in their logging and whilst this is useful
when staging issues occur, those thankfully seem rare now and we can tune down
the logging to a sane level. This improves the readability of error messages from
functions that fail.

The code is still verbose when its replacing things in the sysroot.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
7 years agopseudo: Add fastop reply fix
Richard Purdie [Fri, 22 Sep 2017 11:39:33 +0000 (12:39 +0100)]
pseudo: Add fastop reply fix

This changes the pseudo FASTOP functionality so that a reply to the
operation is required. This means we then cannot lose data if a connection
is closed. This in turn stops corruption if we run out of file handles
and have to close connections.

This tweaks the connection closure patch to update the comment there which
is now outdated.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
7 years agopseudo: use epoll API on Linux
Alexander Kanavin [Fri, 22 Sep 2017 15:18:46 +0000 (18:18 +0300)]
pseudo: use epoll API on Linux

The idea came up here:
https://bugzilla.yoctoproject.org/show_bug.cgi?id=11309
and here:
http://lists.openembedded.org/pipermail/openembedded-core/2017-August/141491.html

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
7 years agogstreamer1.0-libav: Fix build on mips
Khem Raj [Thu, 21 Sep 2017 17:42:15 +0000 (10:42 -0700)]
gstreamer1.0-libav: Fix build on mips

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
7 years agouboot-extlinux: fix extlinux creation race (take 2)
André Draszik [Thu, 21 Sep 2017 11:29:52 +0000 (12:29 +0100)]
uboot-extlinux: fix extlinux creation race (take 2)

Alternative solution to original commit
60c90398580998b2379bb438f0f75b29285135a5 ("u-boot: fix extlinux
creation race")

(Untested)

Signed-off-by: André Draszik <adraszik@tycoint.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agoRevert "u-boot: fix extlinux creation race"
André Draszik [Thu, 21 Sep 2017 11:25:17 +0000 (12:25 +0100)]
Revert "u-boot: fix extlinux creation race"

This reverts commit 60c90398580998b2379bb438f0f75b29285135a5.

This causes circular dependencies when UBOOT_SIGN_ENABLE is active.

These are usually caused by circular dependencies and any circular dependency chains found will be printed below. Increase the debug level to see a list of unbuildable tasks.

Identifying dependency loops (this may take a short while)...

ERROR:
Dependency loop #1 found:
  Task u-boot.bb:do_concat_dtb (dependent Tasks ['kernel.bb:do_assemble_fitimage'])
  Task u-boot.bb:do_install (dependent Tasks ['u-boot.bb:do_concat_dtb', 'pseudo_1.8.2.bb:do_populate_sysroot', 'u-boot.bb:do_compile'])
  Task u-boot.bb:do_deploy (dependent Tasks ['u-boot.bb:do_deploy_dtb', 'u-boot.bb:do_install'])
  Task .../recipes-kernel/linux/kernel.bb:do_assemble_fitimage (dependent Tasks ['kernel.bb:do_compile', 'u-boot.bb:do_deploy'])

Signed-off-by: André Draszik <adraszik@tycoint.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agokernel-devicetree.bbclass: Add support to generate append to kernel
Otavio Salvador [Thu, 21 Sep 2017 13:58:33 +0000 (10:58 -0300)]
kernel-devicetree.bbclass: Add support to generate append to kernel

The are use cases where the Device Tree appended to the kernel is
convinient, so we generate the bundle concatenating the kernel (and
potentionally the initramfs) and the Device Tree binaries.

To enable it, set KERNEL_DEVICETREE_BUNDLE variable to '1'

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agoxf86-video-intel: use uxa to replace sna as the default acceleration mode
Li Zhou [Thu, 21 Sep 2017 02:16:18 +0000 (10:16 +0800)]
xf86-video-intel: use uxa to replace sna as the default acceleration mode

The sna mode causes screen distortion issue on board MinnowMAX
described in this link:
https://bugs.freedesktop.org/show_bug.cgi?id=100700
The uxa mode is verified to not have above issue.
uxa is more stable and has more releases than sna.
So use uxa to replace sna as the default acceleration mode.

Signed-off-by: Li Zhou <li.zhou@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agokernel-fitimage: support MIPS (compressed)
André Draszik [Wed, 20 Sep 2017 09:41:57 +0000 (10:41 +0100)]
kernel-fitimage: support MIPS (compressed)

On MIPS, the compressed kernel image target is vmlinuz.bin

Signed-off-by: André Draszik <adraszik@tycoint.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agokernel-uboot: support compressed kernel on MIPS
André Draszik [Wed, 20 Sep 2017 09:41:56 +0000 (10:41 +0100)]
kernel-uboot: support compressed kernel on MIPS

MIPS generates vmlinuz.bin when compression in the kernel build is
enabled, including any necessary objcopy so we can leverage that
and skip our manual invocation of objcopy here. We just have to
put the file into the right place for the rest of the build to
find it.

Signed-off-by: André Draszik <adraszik@tycoint.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agokernel-uimage: optimise UBOOT_ENTRYSYMBOL support
André Draszik [Wed, 20 Sep 2017 09:41:55 +0000 (10:41 +0100)]
kernel-uimage: optimise UBOOT_ENTRYSYMBOL support

This is the remaining local change to a fix similar to
commit e0b4f018d1c2 ("kernel-uimage.bbclass: Fix up
generation of uImage from vmlinux"):

Make awk exit on match to save a few CPU cycles so as
to make this similar to kernel-fitimage.bbclass

Signed-off-by: André Draszik <adraszik@tycoint.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agokernel-fitimage: unbreak UBOOT_ENTRYSYMBOL support
André Draszik [Wed, 20 Sep 2017 09:41:54 +0000 (10:41 +0100)]
kernel-fitimage: unbreak UBOOT_ENTRYSYMBOL support

- vmlinux is located in ${B}, not ${S}.
- parsing of nm output got broken completely in commit
  b406a89935f148779569fa3770776e009dd51f13 ("kernel-fitimage: add
  initramfs support"), commit ec755d2524fcbd9dfded23a576f25c990d405a6c
  in yocto

While at it, make awk exit on match to save a few CPU cycles.

Signed-off-by: André Draszik <adraszik@tycoint.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agokernel-fitimage: sanitize dtb section name (unbreak MIPS)
André Draszik [Wed, 20 Sep 2017 09:41:53 +0000 (10:41 +0100)]
kernel-fitimage: sanitize dtb section name (unbreak MIPS)

We can't build fitImages for MIPS any more:
| Error: fit-image.its:21.27-28 syntax error
| FATAL ERROR: Unable to parse input tree
| uboot-mkimage: Can't read arch/mips/boot/fitImage.tmp: Invalid argument

Since commit cd2ed7f80b555add07795cc0cbaee866e6c193a3
("kernel-fitimage: dtb sections named by their filenames
and one config section for each dtb"), commit
1ec405ef5df82884c8997878bbe6c66d924b5127 in yocto, dtb
sections are named by the DTB filename, but the filename
can legally be in a subdirectory below
arch/$arch/boot/dts/, and on MIPS all DTBs are actually
in a subdirectory.

If so, mkimage fails with the above error message.

Unbreak this by replacing the offending character
(directory separator /)

Signed-off-by: André Draszik <adraszik@tycoint.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agosysklogd: conflict with other syslog daemons
Chen Qi [Tue, 5 Sep 2017 09:55:27 +0000 (17:55 +0800)]
sysklogd: conflict with other syslog daemons

Set RCONFLICTS to disallow multiple syslog daemon providers to be installed
on the target, and remove codes that deal with such situation.

Also, set ALTERNATIVE_PRIORITY back to 100. It was set to '10' in case of
systemd because sysklogd didn't have systemd support. For now, if we disallow
multiple syslog daemons to be installed, and it stays '10', then if sysklogd
is installed on target, the /sbin/syslogd would link to /bin/busybox.nosuid,
causing sysklogd service files using busybox's utility.

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agobusybox: fix syslog related meta data
Chen Qi [Tue, 5 Sep 2017 09:55:26 +0000 (17:55 +0800)]
busybox: fix syslog related meta data

Set RCONFLICTS to disallow multiple syslog daemon providers to be installed
on the target at the same time,  and remove codes which dealt with such
situation.

Supporting multiple syslog daemons on the same image doesn't have much sense.
rsyslog and syslog-ng in meta-oe have set RCONFLICTS to disallow this. And
we do the same for busybox.

Also, remove the line of creating a meaningless symlink of
/lib/systemd/syslog.service to /dev/null.

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agoopenssh: Fix key generation with systemd
Joshua Watt [Tue, 4 Jul 2017 01:18:18 +0000 (20:18 -0500)]
openssh: Fix key generation with systemd

106b59d9 broke SSH host key generation when systemd and a read-only root file
system are in use because there isn't a way for systemd to get the optional
weak assigment of SYSCONFDIR from /etc/default/sshd and still provide a default
value if it is not specified. Instead, move the logic for determining if keys
need to be created to a helper script that both the SysV init script and the
systemd unit file can reference.

This does mean that the systemd unit file can't check for file existence to
know if it should start the service, but it wasn't able to do that correctly
anyway anymore. This should be a problem since the serivce is only run once per
power cycle by systemd, and should exit quickly if the keys already exist

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agowic: allow multiple /boot partitions with different content
Enrico Scholz [Fri, 8 Sep 2017 17:33:02 +0000 (19:33 +0200)]
wic: allow multiple /boot partitions with different content

It can be useful to have multiple partitions with '--source bootimg-partition'
but different content.

E.g. for TI AM335x, one boot partition can contain an first stage
bootloader ("MLO"), while the real bootloader and kernel plus devicetree
are in another one.

Patch allows to specify multiple IMAGE_BOOT_FILES with optional "_label-XXX"
or "_uuid-XXX" overrides.

E.g. with this patch, a .wks file with

| part --source bootimg-partition ... --label=mlo --active
| part --source bootimg-partition ... --label=boot0
| part --source bootimg-partition ... --label=boot1

and a recipe with

| IMAGE_BOOT_FILES_label-mlo = "\
|   MLO-${MACHINE}.img;MLO \
| "
|
| IMAGE_BOOT_FILES_label-boot0 = "\
|   u-boot-${MACHINE}.img;u-boot.img \
|   zImage \
| "
|
| IMAGE_BOOT_FILES_label-boot1 = "${IMAGE_BOOT_FILES_label-boot0}"
|
| WICVARS += " \
|   IMAGE_BOOT_FILES_label-mlo \
|   IMAGE_BOOT_FILES_label-boot0 \
|   IMAGE_BOOT_FILES_label-boot1 \
| "

is possible.  It will create one partition with the MLO and two redundant
ones with the uboot + kernel.

Signed-off-by: Enrico Scholz <enrico.scholz@ensc.de>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agoqemu: Security fixes
Yi Zhao [Thu, 21 Sep 2017 00:34:37 +0000 (08:34 +0800)]
qemu: Security fixes

Fix CVE-2017-13672, CVE-2017-13673, CVE-2017-13711, CVE-2017-14167

References:
https://nvd.nist.gov/vuln/detail/CVE-2017-13672
https://nvd.nist.gov/vuln/detail/CVE-2017-13673
https://nvd.nist.gov/vuln/detail/CVE-2017-13711
https://nvd.nist.gov/vuln/detail/CVE-2017-14167

Patches from:
CVE-2017-13672:
https://git.qemu.org/?p=qemu.git;a=commit;h=3d90c6254863693a6b13d918d2b8682e08bbc681
CVE-2017-13673:
https://git.qemu.org/?p=qemu.git;a=commit;h=e65294157d4b69393b3f819c99f4f647452b48e3
CVE-2017-13711:
https://git.qemu.org/?p=qemu.git;a=commit;h=1201d308519f1e915866d7583d5136d03cc1d384
CVE-2017-14167:
https://git.qemu.org/?p=qemu.git;a=commit;h=ed4f86e8b6eff8e600c69adee68c7cd34dd2cccb

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agoqemu: remove unused patches
Yi Zhao [Thu, 21 Sep 2017 00:34:36 +0000 (08:34 +0800)]
qemu: remove unused patches

Remove the following patches since they are unused after qemu update to
2.10:
  0001-replace-struct-ucontext-with-ucontext_t-type.patch
  CVE-2016-9908.patch
  CVE-2016-9912.patch
  configure-fix-Darwin-target-detection.patch

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agoptest-runner: fix segfault with -t option
Yi Zhao [Thu, 21 Sep 2017 03:18:31 +0000 (11:18 +0800)]
ptest-runner: fix segfault with -t option

The ptest-runner would segfault with -t option:
root@qemux86-64:~# ptest-runner -d /usr/lib test_pkg -t 5
[  237.234112] ptest-runner[810]: segfault at 0 ip 000000382e638060 sp
00007fff9130f400 error 4 in libc-2.26.so[382e600000+1a7000]

It is safe to bump SRCREV to latest upstream commit to fix this issue
because there is only one commit since the last update:

  commit 8a93832dad621535e90aa8e1fb74ae5ba743fc3e
  Author: Anders Wallin <wallinux@gmail.com>
  Date:   Sun May 28 11:47:00 2017 +0200

      timeout option missing the argument option ":" to getopt

      ptest-runner -t xx gives segfault

Signed-off-by: Anders Wallin <wallinux@gmail.com>
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
7 years agostrace_4.18.bb: improve reproducibility
Juro Bystricky [Wed, 20 Sep 2017 17:27:59 +0000 (10:27 -0700)]
strace_4.18.bb: improve reproducibility

Remove build host references from strace-ptest package.
Also removed some unneeded timestaps.

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>