]> code.ossystems Code Review - openembedded-core.git/log
openembedded-core.git
8 years agowic: remove partition images
Ed Bartosh [Fri, 23 Sep 2016 12:10:26 +0000 (15:10 +0300)]
wic: remove partition images

Preserving images for every partition doubles disk space
consumed by an image build. As those images are not used,
so it's better to remove them after assembling final image.

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agoopenssl.inc: avoid random ptest failures
Patrick Ohly [Fri, 23 Sep 2016 13:23:20 +0000 (15:23 +0200)]
openssl.inc: avoid random ptest failures

"make alltests" is sensitive to the timestamps of the installed
files. Depending on the order in which cp copies files, .o and/or
executables may end up with time stamps older than the source files.
Running tests then triggers recompilation attempts, which typically
will fail because dev tools and files are not installed.

"cp -a" is not enough because the files also have to be newer than
the installed header files. Setting the file time stamps to
the current time explicitly after copying solves the problem because
do_install_ptest_base is guaranteed to run after do_install.

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agoopenssl: update to 1.0.2i (CVE-2016-6304 and more)
Patrick Ohly [Fri, 23 Sep 2016 13:26:05 +0000 (15:26 +0200)]
openssl: update to 1.0.2i (CVE-2016-6304 and more)

This update fixes several CVEs:
* OCSP Status Request extension unbounded memory growth (CVE-2016-6304)
* SWEET32 Mitigation (CVE-2016-2183)
* OOB write in MDC2_Update() (CVE-2016-6303)
* Malformed SHA512 ticket DoS (CVE-2016-6302)
* OOB write in BN_bn2dec() (CVE-2016-2182)
* OOB read in TS_OBJ_print_bio() (CVE-2016-2180)
* DTLS buffered message DoS (CVE-2016-2179)
* DTLS replay protection DoS (CVE-2016-2181)
* Certificate message OOB reads (CVE-2016-6306)

Of these, only CVE-2016-6304 is considered of high
severity. Everything else is low. CVE-2016-2177 and CVE-2016-2178 were
already fixed via local patches, which can be removed now.

See https://www.openssl.org/news/secadv/20160922.txt for details.

Some patches had to be refreshed and one compile error fix from
upstream's OpenSSL_1_0_2-stable was required. The server.pem
file is needed for test_dtls.

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agoarch-mips: Add mips64r2 tunes
Zubair Lutfullah Kakakhel [Fri, 23 Sep 2016 13:47:50 +0000 (14:47 +0100)]
arch-mips: Add mips64r2 tunes

Add MIPS64r2 optimizations

Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agolttng-tools: adds DEPENDS to util-linux
Ming Liu [Fri, 23 Sep 2016 11:14:48 +0000 (13:14 +0200)]
lttng-tools: adds DEPENDS to util-linux

lttng-utils rdepends on util-linux-libuuid, this fixes a do_package_qa
QA warning.

Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agolttng-tools: fixes a wrong header issue
Ming Liu [Fri, 23 Sep 2016 10:58:53 +0000 (12:58 +0200)]
lttng-tools: fixes a wrong header issue

This fixes a following compiling issue:
| agent.c:33:19: fatal error: error.h: No such file or directory
|  #include "error.h"

it's back-ported from lttng-tools upstream, we need it in SRC_URI
since 2.8 is still the latest release.

Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agolib/oe/patch: improve accuracy of patch header extraction
Paul Eggleton [Fri, 23 Sep 2016 09:22:11 +0000 (21:22 +1200)]
lib/oe/patch: improve accuracy of patch header extraction

When PATCHTOOL = "git", if we need to manually apply a patch and then
commit it (i.e. when git am doesn't work) we try to extract the author /
date / shortlog from the patch header. Make the following improvements
to that extraction process:

* If there's no explicit Subject: but the first line is followed by a
  blank line, isn't an Upstream-Status: or Index: marker and isn't too
  long, then assume it's good enough to be the shortlog. This avoids
  having too many patches with "Upgrade to version x.y" as the shortlog
  (since that is often when patches get added).
* Add --follow to the command we use to find the commit that added the
  patch, so we mostly get the commit that added the patch rather than
  getting stuck on upgrade commits that last moved/renamed the patch
* Populate the date from the commit that added the patch if we were able
  to get the author but not the date from the patch (otherwise you get
  today's date which is less useful).

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agolib/oe/patch: exclude "From <hash>" from commit message when PATCHTOOL is "git"
Paul Eggleton [Fri, 23 Sep 2016 09:22:10 +0000 (21:22 +1200)]
lib/oe/patch: exclude "From <hash>" from commit message when PATCHTOOL is "git"

If you leave "From <hash>" lines in the commit message it can actually
break git rebase because it tries to interpret the line in the context
of the current repository, and if the hash is invalid then a rebase
will blow up with:

  fatal: git cat-file: could not get object info

or in newer git versions:

  error: unable to find <hash>
  fatal: git cat-file <hash>: bad file

(I hit this when I tried to do a devtool upgrade on openssl to 1.0.2i
the first time I did "git rebase --skip")

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agonativesdk-qemu-helper: drop old Zaurus flash tools
Paul Eggleton [Fri, 23 Sep 2016 09:17:52 +0000 (21:17 +1200)]
nativesdk-qemu-helper: drop old Zaurus flash tools

These tools are relics of an earlier time when the Zaurus devices were
reference platforms - these days they are no longer needed. It seems
amazing that they survived earlier purges.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agobluez5: remove duplicated udev setting from FILES_${PN}
Robert Yang [Wed, 27 Jul 2016 07:03:10 +0000 (00:03 -0700)]
bluez5: remove duplicated udev setting from FILES_${PN}

bitbake.conf already sets it.

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
8 years agopcmciautils: remove duplicated udev setting from FILES_${PN}
Robert Yang [Wed, 27 Jul 2016 07:03:10 +0000 (00:03 -0700)]
pcmciautils: remove duplicated udev setting from FILES_${PN}

bitbake.conf already sets it.

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
8 years agoeudev: don't move udev directory
Robert Yang [Thu, 21 Jul 2016 09:53:46 +0000 (02:53 -0700)]
eudev: don't move udev directory

The code did "mv ${D}${base_libdir}/udev ${D}${nonarch_base_libdir}"
which is not needed any more, eudev can work with ${base_libdir}/udev.

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
8 years agoxf86-input-vmmouse: remove duplicated udev setting from FILES_${PN}
Robert Yang [Thu, 21 Jul 2016 09:29:56 +0000 (02:29 -0700)]
xf86-input-vmmouse: remove duplicated udev setting from FILES_${PN}

bitbake.conf already sets it.

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
8 years agomdadm: remove duplicated udev setting from FILES_${PN}
Robert Yang [Thu, 21 Jul 2016 09:29:56 +0000 (02:29 -0700)]
mdadm: remove duplicated udev setting from FILES_${PN}

bitbake.conf already sets it.

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
8 years agoofono: remove duplicated udev setting from FILES_${PN}
Robert Yang [Thu, 21 Jul 2016 09:29:56 +0000 (02:29 -0700)]
ofono: remove duplicated udev setting from FILES_${PN}

It doesn't have files in udev dir, and bitbake.conf already sets it.

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
8 years agolibinput: fix udevdir
Robert Yang [Thu, 21 Jul 2016 06:36:47 +0000 (23:36 -0700)]
libinput: fix udevdir

* Use "pkg-config --variable=udevdir udev" to fix udevdir, otherwise it
  would use ${libdir}/udev which is incorrect for systemd's udev.

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
8 years agosystemd: install udev.pc
Robert Yang [Thu, 21 Jul 2016 03:35:53 +0000 (20:35 -0700)]
systemd: install udev.pc

It provides udev, but doesn't install udev.pc, which causes other
recipes failed to figure out udevdir.

Fixed when systemd in DISTRO_FEATURES:
$ bitbake pcmciautils (or btrfs-tools):

Package udev was not found in the pkg-config search path.
Perhaps you should add the directory containing `udev.pc'
to the PKG_CONFIG_PATH environment variable
No package 'udev' found

Their udev rules file may not be installed according to each pkg's
implementation.

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
8 years agobitbake.conf: add eudev's udevdir to FILES_${PN}
Robert Yang [Thu, 21 Jul 2016 09:03:30 +0000 (02:03 -0700)]
bitbake.conf: add eudev's udevdir to FILES_${PN}

* The eudev's udevdir can be ${base_libdir}/udev or ${libdir}/udev, it
  doesn't have to be hardcoded to /lib/udev, so add them FILES_${PN}.

* Use /lib/udev rather than /lib/udev/rules.d for FILES_${PN} since
  there might be files in /lib/udev except subdir rules.d

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
8 years agobuildtools/uninative-tarball: Fix deployment overlap issues uninative-1.4
Richard Purdie [Fri, 23 Sep 2016 17:05:16 +0000 (18:05 +0100)]
buildtools/uninative-tarball: Fix deployment overlap issues

We still have problems where deploying SDKMACHINE=i686 can cause removal
of SDKMACHINE=x86_64 artefacts.

The reason is that x86_64 is a BUILD_ARCH as well as an SDK_ARCH and
the manifest namespaces overlap. To fix this, set PACKAGE_ARCH and
the stamp-extra-into to include SDK_OS. SDK_OS may not be entirely correct
but it is what sstate.bbclass uses for nativesdk and fixing that is
a separate issue.

This is confirmed to resolve artefact problems on the AB which have been
delaying a new uninative release.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agotoolchain-shar-relocate.sh: Fix typo
Richard Purdie [Fri, 23 Sep 2016 16:49:22 +0000 (17:49 +0100)]
toolchain-shar-relocate.sh: Fix typo

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agooeqa/selftest/base: backup and restore local configuration files
Jose Lamego [Wed, 21 Sep 2016 19:54:59 +0000 (12:54 -0700)]
oeqa/selftest/base: backup and restore local configuration files

Selftests' cleanup method during test setup is not capable of
restoring local configuration files that remain modified after
aborting a test through a keyboard interruption.
This change creates backups for local.conf and bblayers.conf at
test setup, restore them when found, and deletes them at cleanup.

[YOCTO #9390]

Signed-off-by: Jose Lamego <jose.a.lamego@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agotestimage.bbclass: Add package manager dependency
Mariano Lopez [Wed, 21 Sep 2016 13:50:43 +0000 (13:50 +0000)]
testimage.bbclass: Add package manager dependency

The feature to install packages in the target requires to
build the package manager. It would fail, with very obtuse
errors, if a test requires to install something and the
package manager hasn't been build. This will add the package
manager as dependency for testimage.

[YOCTO #10260]

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agoscripts/runqemu: Using a cpio* rootfs has no special network
Nathan Rossi [Thu, 22 Sep 2016 13:53:01 +0000 (23:53 +1000)]
scripts/runqemu: Using a cpio* rootfs has no special network

When booting a system with the rootfs being of cpio* type the networking
setup should still work the same as for all other root filesystem types.
This change removes the clearing of the NETWORK_CMD variable allowing
for the slirp/tap setup to be provided to QEMU.

Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agorunqemu: Move virtio RNG to machine configuration
Nathan Rossi [Thu, 22 Sep 2016 13:53:00 +0000 (23:53 +1000)]
runqemu: Move virtio RNG to machine configuration

Not all QEMU machines (outside of those available in OE-Core) are
capable of using the virtio-rng-pci device due to various machine models
not having a pci/virtio bus. This makes it such that the use of the
'-device virtio-rng-pci' flag to QEMU is machine specific.

This patch removes the general addition of the flag to all runqemu
targets and adds the flag into the QB_OPT_APPEND for all the qemu*
machines in OE-Core that support its use (which is all of them).

Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agocmake-native: prefer native sysroot libraries over host
Ross Burton [Thu, 22 Sep 2016 16:11:47 +0000 (17:11 +0100)]
cmake-native: prefer native sysroot libraries over host

Explicitly set CMAKE_LIBRARY_PATH so that find_library() looks in the native
sysroot before the host.

Also pass --verbose to configure which sets CMAKE_VERBOSE_MAKEFILE for detailed
compile logs.

Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agogstreamer1.0-libav: Add 'valgrind' config option
Otavio Salvador [Thu, 22 Sep 2016 12:33:49 +0000 (09:33 -0300)]
gstreamer1.0-libav: Add 'valgrind' config option

This fixes following error:

,----
| src/libavutil/log.c:51:31: fatal error: valgrind/valgrind.h: No such file or directory
|  #include <valgrind/valgrind.h>
`----

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agowpa_supplicant: Security Advisory-CVE-2016-4477
Zhixiong Chi [Thu, 22 Sep 2016 07:54:27 +0000 (15:54 +0800)]
wpa_supplicant: Security Advisory-CVE-2016-4477

Add CVE-2016-4477 patch for avoiding \n and \r characters in passphrase
parameters, which allows remote attackers to cause a denial of service
(daemon outage) via a crafted WPS operation.
Patches came from http://w1.fi/security/2016-1/

Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agowpa_supplicant: Security Advisory-CVE-2016-4476
Zhixiong Chi [Thu, 22 Sep 2016 07:54:20 +0000 (15:54 +0800)]
wpa_supplicant: Security Advisory-CVE-2016-4476

Add CVE-2016-4476 patch for avoiding \n and \r characters in passphrase
parameters, which allows remote attackers to cause a denial of service
(daemon outage) via a crafted WPS operation.
Patches came from http://w1.fi/security/2016-1/

Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agoencodings: Add dependency to mkfontdir-native
Gratian Crisan [Wed, 21 Sep 2016 18:40:25 +0000 (13:40 -0500)]
encodings: Add dependency to mkfontdir-native

Currently adding a font recipe to an image doesn't have enough
dependencies to cause mkfontdir-native to be included in the native
sysroot. This creates problems with the postinstall scripts for fonts
which call mkfontdir to create font index files: font.dir. The end
result is missing font.dir files in the built image and a malfunctioning
font system.

Dependencies for the relevant recipes currently look like this:

  * <font.bb>   [D ] -> font-util-native
                [R ] -> encodings, font-util
                [RN] -> font-util-native

  * font-util   [D ] -> encodings
                [R ] -> mkfontdir, mkfontscale, encodings
                [RN] -> mkfontdir-native, mkfontscale-native

  * encodings   [D ] -> mkfontscale-native, font-util-native

  * mkfontdir   [R ] -> mkfontscale
                [RN] -> mkfontscale-native

  * mkfontscale [D ] -> libfontenc

  * libfontenc  [D ] -> font-util

Where:
  * D = DEPENDS
  * R = RDEPENDS
  * RN = RDEPENDS_class-native
  * <font.bb> e.g. font-adobe-100dpi*.bb
Some details where omitted for clarity e.g. dependencies on util-macros.

I believe the intent behind the RDEPENDS_class-native chain:
  * <font.bb> -> font-util-native -> mkfontdir-native
was to provide the necessary dependency on mkfontdir. However because
the native sysroot is not built from packages this RDEPENDS_class-native
chain doesn't have the desire effect (i.e. it doesn't pull in
mkfontdir-native).

Changing the RDEPENDS_class-native chain into a DEPENDS_class-native
chain is a non-starter because of the build time dependency loop it
creates:
  * font-util-native -> mkfontscale-native -> libfontenc-native -> font-util-native

Having upstream remove the build time dependency of libfontenc on
font-util is also a non-starter[1] even though it does create problems
in other distributions, for example on Debian see [2], [3].

Instead add a DEPENDS on mkfontdir-native in the encodings recipe in
addition to the mkfontscale-native dependency it already contains. This
solves the missing mkfontdir in the native sysroot problem without
introducing a build dependency loop.

[1] https://bugs.freedesktop.org/show_bug.cgi?id=97631
[2] https://wiki.debian.org/CircularBuildDependencies
[3] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=717843

Signed-off-by: Gratian Crisan <gratian.crisan@ni.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agobitbake.conf: add a lazy default for SDKMACHINE
Ross Burton [Thu, 22 Sep 2016 12:24:30 +0000 (13:24 +0100)]
bitbake.conf: add a lazy default for SDKMACHINE

If the user doesn't set SDKMACHINE in their local.conf then uninative and
buildtools will fail in obscure ways, so ensure that a default value is set.

Also as SDK_ARCH will be overritten then loading the machine-sdk configuration
file, don't bother assigning it.

Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agobuildtools-tarball: improve stamp independence
Joshua Lock [Thu, 22 Sep 2016 13:05:51 +0000 (14:05 +0100)]
buildtools-tarball: improve stamp independence

buildtools-tarball shouldn't be regenerated when MACHINE changes,
nor should variants for other SDKMACHINE be removed from the deploy
directory when SDKMACHINE changes.

Remove target architecture dependencies so that deploy artefacts
can overlap.

Signed-off-by: Joshua Lock <joshua.g.lock@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agotoolchain-scripts-base: add base class for toolchain_create_sdk_version
Joshua Lock [Thu, 22 Sep 2016 13:05:50 +0000 (14:05 +0100)]
toolchain-scripts-base: add base class for toolchain_create_sdk_version

We use toolchain_create_sdk_version() in buildtools-tarball but
don't want the extra classes toolchain-scripts pulls in, therefore
split out a separate base class for this function which both
toolchain-scripts and the buildtools-tarball can inherit.

Signed-off-by: Joshua Lock <joshua.g.lock@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agoxserver-xorg: fix qa warnings
Kai Kang [Thu, 22 Sep 2016 10:04:24 +0000 (18:04 +0800)]
xserver-xorg: fix qa warnings

When build lib32-xserver-xorg it has qa warning:

| WARNING: lib32-xserver-xorg-2_1.18.4-r0 do_package_qa: QA Issue:
| Package lib32-xf86-video-modesetting contains Xorg driver
| (modesetting_drv.so) but no xorg-abi- dependencies [xorg-driver-abi]

The qa check xorg-driver-abi has been skipped for xserver-xorg and make
it to skip for multilib package too.

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agobase.bbclass: Drop unnecessary dirs setting
Richard Purdie [Wed, 21 Sep 2016 21:30:03 +0000 (22:30 +0100)]
base.bbclass: Drop unnecessary dirs setting

${D} is listed in cleandirs so no need to list it in dirs as well.
The default directory is ${B} so this is a cleanup which should have
no changes to the execution.

[YOCTO #10017]

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agoautotools/siteinfo: Tweak CONFIG_SITE handling for determism/races
Richard Purdie [Wed, 21 Sep 2016 10:53:57 +0000 (11:53 +0100)]
autotools/siteinfo: Tweak CONFIG_SITE handling for determism/races

As things stand there are multiple races in the CONFIG_SITE handling
where checksums can change depending on whether site directories
exist or not when parsing happens. This is bad.

Secondly, there is a build race that occurs if you build virtuals
in parallel with the "main" recipe, since the main recipe is parsed
when the virtual is (since it sets variables like BBCLASSEXTEND)
and with the current code, it may look for files and directories
which could be created/destroyed which the loop is executing. This
is also bad.

The aclocal-copy directory should only ever be accessed by the call
from autotools.bbclass. This changes the parameter name to make it
clear and ensures all callers have the right usage, neatly avoiding
all the problems above. Also added better comments.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agoasciidoc: set CLEANBROKEN to fix rebuild
Robert Yang [Tue, 20 Sep 2016 10:32:57 +0000 (03:32 -0700)]
asciidoc: set CLEANBROKEN to fix rebuild

The make clean removes doc/a2x.1 and doc/asciidoc.1, then it would cause
build failures since in the second build:
Fixing CONF_DIR in asciidoc.py
Fixing CONF_DIR in a2x.py
python a2x.py -f manpage doc/a2x.1.txt
a2x: ERROR: "xmllint" --nonet --noout --valid "/path/to/asciidoc-native/8.6.9-r0/asciidoc-8.6.9/doc/a2x.1.xml" returned non-zero exit status 4
make: *** [doc/a2x.1] Error 1

The xmllint failed because "--nonext" is used:
I/O error : Attempt to load network entity http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd
/buildarea/lyang1/test_arm/tmp/work/x86_64-linux/asciidoc-native/8.6.9-r0/asciidoc-8.6.9/doc/a2x.1.xml:2: warning: failed to load external entity "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"

Avoid running make clean will fix the problem.

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agodirectdisk*.wks: add serial console support
Ed Bartosh [Tue, 20 Sep 2016 12:13:31 +0000 (15:13 +0300)]
directdisk*.wks: add serial console support

Added serial console to kernel command line to to make it
easier to boot wic images on devices without display.

Tested on MinnowBoard MAX.

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agoperf: Fix to obey LD failure on qemux86-64
Christopher Larson [Wed, 21 Sep 2016 05:17:42 +0000 (10:47 +0530)]
perf: Fix to obey LD failure on qemux86-64

When built on an i686 host for qemux86-64 without the
fix to obey LD and it fails:

/scratch/dogwood/toolchains/x86_64/bin/i686-pc-linux-gnu-ld:
Relocatable linking with relocations from format elf64-x86-64
(/scratch/dogwood/perf-ld-test/build/tmp/work/qemux86_64-mel-linux/perf/1.0-r9/perf-1.0/fs/fs.o)
to format elf32-i386 (/scratch/dogwood/perf-ld-test/build/tmp/work/qemux86_64-mel-linux/perf/1.0-r9/perf-1.0/fs/libapi-in.o)
is not supported

This is because LD includes HOST_LD_ARCH, which contains TUNE_LDARGS,
which is -m elf32_x86_64 for x86_64. Without that, direct use of ld will fail.

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Sujith Haridasan <Sujith_Haridasan@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agolibunwind: fix build by linking with bfd instead of gold
Andreas Müller [Wed, 21 Sep 2016 05:30:43 +0000 (07:30 +0200)]
libunwind: fix build by linking with bfd instead of gold

works around:
<native-sysroot>/ld: error: Gperf-simple.o: cannot make copy relocation for protected symbol '_Uarm_local_addr_space', defined in ../src/.libs/libunwind-arm.so
collect2: error: ld returned 1 exit status
Makefile:1038: recipe for target 'Gperf-simple' failed
make[1]: *** [Gperf-simple] Error 1
make[1]: *** Waiting for unfinished jobs....
<...>
<native-sysroot>/ld: error: Lperf-simple.o: cannot make copy relocation for protected symbol '_ULarm_local_addr_space', defined in ../src/.libs/libunwind.so
collect2: error: ld returned 1 exit status
Makefile:1094: recipe for target 'Lperf-simple' failed
make[1]: *** [Lperf-simple] Error 1
<...>
ERROR: oe_runmake failed
<native-sysroot>/ld: error: Gperf-trace.o: cannot make copy relocation for protected symbol '_Uarm_local_addr_space', defined in ../src/.libs/libunwind-arm.so
collect2: error: ld returned 1 exit status
Makefile:1042: recipe for target 'Gperf-trace' failed
make[1]: *** [Gperf-trace] Error 1
<native-sysroot>/ld: error: Lperf-trace.o: cannot make copy relocation for protected symbol '_ULarm_local_addr_space', defined in ../src/.libs/libunwind.so
collect2: error: ld returned 1 exit status
Makefile:1098: recipe for target 'Lperf-trace' failed
make[1]: *** [Lperf-trace] Error 1
<...>
<native-sysroot>/ld: error: test-coredump-unwind.o: cannot make copy relocation for protected symbol '_UCD_accessors', defined in ../src/.libs/libunwind-coredump.so
collect2: error: ld returned 1 exit status
Makefile:1186: recipe for target 'test-coredump-unwind' failed

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agosystemd: fix indentation
Maciej Borzecki [Wed, 21 Sep 2016 08:19:58 +0000 (10:19 +0200)]
systemd: fix indentation

Signed-off-by: Maciej Borzecki <maciej.borzecki@rndity.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agox264: add textrel to INSANE_SKIP
Fahad Usman [Wed, 21 Sep 2016 09:42:43 +0000 (15:12 +0530)]
x264: add textrel to INSANE_SKIP

Tried by adding CFLAGS_append = " -fpic " to
the recipe. But that couldn't help resolve the
warning message:

x264/r2491+gitAUTOINC+c8a773ebfc-r0/packages-split/x264/usr/lib/libx264.so.144' has relocations in .text [textrel]

It was found that this warning is emitted because of the
assembly files in the source code. And it is not easy to
get rid of TEXTREL's which are coming from the assembly
source files.

Adding textrel to INSANE_SKIP resolves this issue.
This issue was observed in cyclone5 and imx6qsabresd BSP's.
So generalizing the patch.

Signed-off-by: Fahad Usman <fahad_usman@mentor.com>
Signed-off-by: Sujith Haridasan <Sujith_Haridasan@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agoperl: fix CVE-2015-8607
Mingli Yu [Wed, 21 Sep 2016 09:47:32 +0000 (17:47 +0800)]
perl: fix CVE-2015-8607

Backport patch to fix CVE-2015-8607 from perl upstream:
http://perl5.git.perl.org/perl.git/commitdiff/0b6f93036de171c12ba95d415e264d9cf7f4e1fd

Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agoperl: fix CVE-2016-6185
Mingli Yu [Wed, 21 Sep 2016 09:47:31 +0000 (17:47 +0800)]
perl: fix CVE-2016-6185

Backport patch to fix CVE-2016-6185 from perl upstream:
http://perl5.git.perl.org/perl.git/commitdiff/08e3451d7

Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agotoolchain-shar-relocate.sh: Add error-handling
Mariano Lopez [Wed, 21 Sep 2016 07:54:25 +0000 (07:54 +0000)]
toolchain-shar-relocate.sh: Add error-handling

The relocation script of the SDK doesn't have enough
error handling when replacing host perl with SDK perl
or changing the symlinks. This will add those checks
along with a sanity check of xargs.

[YOCTO #10114]

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agolibnewt: link whiptail properly with libnewt
Andreas Müller [Wed, 21 Sep 2016 20:46:38 +0000 (22:46 +0200)]
libnewt: link whiptail properly with libnewt

Configuration failed to detect gold as GNU linker. It was searching for
'GNU ld' but gold returns 'GNU gold (GNU Binutils 2.27.0.20160806) 1.12' which
does not match. When not linking by GNU linker Makefile did some magic link
target alignment:

ifneq ($(GNU_LD),)
SHLIBFLAGS= -Wl,--version-script,newt.0.52.ver -Wl,-soname,$(LIBNEWTSONAME)
else
SHLIBFLAGS=
endif

which caused:

| WARNING: libnewt-0.52.19-r0 do_package_qa: QA Issue: /usr/bin/whiptail contained in package whiptail requires libnewt.so, but no providers found in RDEPENDS_whiptail? [file-rdeps]

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agouninative-tarball: Make stamp independent
Richard Purdie [Wed, 21 Sep 2016 23:24:03 +0000 (00:24 +0100)]
uninative-tarball: Make stamp independent

The uninative tarball only contains nativesdk compoents. It should
not get regenerated when MACHINE changes for example. Currently its
sstate arch is also incorrect so changing SDKMACHINE results in other
variants being removed from the deploy directory.

This patch removes the target architecture dependencies so that
deploy artefacts can overlap and it doesn't continually rebuild. This
also fixes various autobuilder/release artefact issues we're having
as a result of these issues.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agobuildtools-tarball: add SDKMACHINE to stamps-extra-info
Joshua Lock [Wed, 21 Sep 2016 18:44:47 +0000 (19:44 +0100)]
buildtools-tarball: add SDKMACHINE to stamps-extra-info

Otherwise the stamps for x86-64 and i686 uninative tarballs match
and we can't deploy both to the DEPLOYDIR.

Signed-off-by: Joshua Lock <joshua.g.lock@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agorunqemu: don't fail during check_arg_machine()
Joshua Lock [Wed, 21 Sep 2016 19:35:39 +0000 (20:35 +0100)]
runqemu: don't fail during check_arg_machine()

If DEPLOY_DIR_IMAGE doesn't exist during check_arg_machine() we
will attempt to guess a suitable value later when check_and_set()
calls validate_paths(), therefore this shouldn't raise an exception

Signed-off-by: Joshua Lock <joshua.g.lock@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agorunqemu: don't try and invoke bitbake when running in a toolchain env
Joshua Lock [Wed, 21 Sep 2016 19:35:38 +0000 (20:35 +0100)]
runqemu: don't try and invoke bitbake when running in a toolchain env

If a MACHINE value is passed we can't validate it by running bitbake
as the toolchain environment doesn't include the build system, we
must assume that the passed value for MACHINE is correct.

Signed-off-by: Joshua Lock <joshua.g.lock@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agorunqemu: try and guess qemu-system binary when MACHINE isn't set
Joshua Lock [Wed, 21 Sep 2016 19:35:37 +0000 (20:35 +0100)]
runqemu: try and guess qemu-system binary when MACHINE isn't set

Emulate some logic from the prior, shell based, version of runqemu
to try and infer the correct setting for MACHINE from the kernel
and rootfs filenames.

Signed-off-by: Joshua Lock <joshua.g.lock@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agorunqemu: validate paths and attempt to infer unset paths
Joshua Lock [Wed, 21 Sep 2016 19:35:36 +0000 (20:35 +0100)]
runqemu: validate paths and attempt to infer unset paths

We need to validate and ensure all paths are set regardless of
whether runqemu was invoked with a .qemuboot.conf file or
otherwise. Split this logic out into a separate method called
during check_and_set()

Signed-off-by: Joshua Lock <joshua.g.lock@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agolinux-yocto/4.8: introduce preempt-rt
Bruce Ashfield [Tue, 20 Sep 2016 15:16:38 +0000 (11:16 -0400)]
linux-yocto/4.8: introduce preempt-rt

Paul Gortmaker has made the preempt-rt patch available for the
4.8 kernel.

This commit merges his queue to standard/preempt-rt/rebase, which
will be kept up to date with a clean history, and it also makes
it available in standard/preempt-rt/base, which will be kept fast
forward for board support.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agolinux-yocto/4.8: integrate 4.8-rc7
Bruce Ashfield [Tue, 20 Sep 2016 15:16:37 +0000 (11:16 -0400)]
linux-yocto/4.8: integrate 4.8-rc7

Updating to the latest release candidate.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agolinux-yocto/4.1: 4.1.32 content and configuration warning fixes
Bruce Ashfield [Tue, 20 Sep 2016 15:16:36 +0000 (11:16 -0400)]
linux-yocto/4.1: 4.1.32 content and configuration warning fixes

The LINUX_VERSION was previously updated to 4.1.32, but the
SRCREVs for the actual content were missed. This gets our actual
version and the PV back in sync.

We also update the meta data to fix configuration audit warnings
from the beaglebone builds.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
squash with 4.1

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agokernel.bbclass: Add kernel_version_sanity_check function
California Sullivan [Fri, 16 Sep 2016 23:48:24 +0000 (16:48 -0700)]
kernel.bbclass: Add kernel_version_sanity_check function

The kernel being built should match what the recipe claims it is
building. This function ensures that happens by comparing the version
information in the kernel's Makefile to the PV the recipe is using.

v2 changes:
* Match against PV instead of LINUX_VERSION
* Match against EXTRAVERSION as well (e.g., -rc4)
* Cleaned up version string building

Fixes [YOCTO #6767].

Signed-off-by: California Sullivan <california.l.sullivan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agoboost: Replace math::static_lcm with integer
Jackie Huang [Tue, 13 Sep 2016 05:32:31 +0000 (13:32 +0800)]
boost: Replace math::static_lcm with integer

Replace math with integer according to the commit upstream:

(From OE-Core rev: 2e2ecd867d47ee24b37f61af6db5338df5059844)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agouninative-tarball: add SDKMACHINE to stamps-extra-info
Joshua Lock [Wed, 21 Sep 2016 09:26:41 +0000 (10:26 +0100)]
uninative-tarball: add SDKMACHINE to stamps-extra-info

Otherwise the stamps for x86-64 and i686 uninative tarballs match
and we can't deploy both to the DEPLOYDIR.

Signed-off-by: Joshua Lock <joshua.g.lock@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agopopulate_sdk_base: fix support for changing SDKMACHINE settings
Joshua Lock [Wed, 21 Sep 2016 09:26:22 +0000 (10:26 +0100)]
populate_sdk_base: fix support for changing SDKMACHINE settings

Include SDKMACHINE in the tasks stamp information and the name of
the sstate-inputdirs so that changing SDKMACHINE doesn't result in
valid output of the task being deleted when SDKMACHINE is changed.

Without this patch changing SDKMACHINE and building an SDK resulted
in toolchain installers for other  SDKMACHINE's being deleted from
the deploy directoy.

[YOCTO #10275]

Signed-off-by: Joshua Lock <joshua.g.lock@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agooeqa/selftest/lic-checksum: don't report the expected failure to errors.yp
Ross Burton [Tue, 20 Sep 2016 08:13:51 +0000 (09:13 +0100)]
oeqa/selftest/lic-checksum: don't report the expected failure to errors.yp

This test has a bitbake invocation that is expected to fail, so inhibit
report-error running.

Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agoopenssl: fix do_configure error when cwd is not in @INC
Robert Yang [Tue, 20 Sep 2016 05:34:36 +0000 (22:34 -0700)]
openssl: fix do_configure error when cwd is not in @INC

Fixed when building on Debian-testing:
| Can't locate find.pl in @INC (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.22.2 /usr/local/share/perl/5.22.2 /usr/lib/x86_64-linux-gnu/perl5/5.22 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.22 /usr/share/perl/5.22 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at perlpath.pl line 7.

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agogcc-configure: Enable initfini-array
Saul Wold [Mon, 19 Sep 2016 17:16:00 +0000 (10:16 -0700)]
gcc-configure: Enable initfini-array

This adds the correct support for initfini-array which replaces .init
and .fini with .init-array and .fini-array.  There is no appreciable
size difference with this change.

The change is needed since configure will not correctly detect support
when building cross-compilers.

Signed-off-by: Haitao Huang <haitao.huang@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agooeqa/runtime/parselogs.py: Add ignore of tsc calibration fail in x86
Aníbal Limón [Mon, 19 Sep 2016 16:50:19 +0000 (11:50 -0500)]
oeqa/runtime/parselogs.py: Add ignore of tsc calibration fail in x86

We are experimenting failures to calibrate CPU's using TSC in x86
VM's due to usage of nested KVM [1], this is a known issue [2][3]
in virtualization environments, for detail explnation see [4].

Also we already have an ignore for 'TSC Fast calibration fail'.

[1] http://errors.yoctoproject.org/Errors/Details/83684/
[2] https://bugzilla.redhat.com/show_bug.cgi?id=814231
[3] https://lists.nongnu.org/archive/html/qemu-devel/2010-09/msg01547.html
[4] https://www.kernel.org/doc/Documentation/virtual/kvm/timekeeping.txt

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agoenchant: add PACKAGECONFIG for *spell
Martin Jansa [Mon, 19 Sep 2016 14:17:31 +0000 (16:17 +0200)]
enchant: add PACKAGECONFIG for *spell

* use PACKAGECONFIG for various *spell implementations

* keep aspell enabled by default

* prevent hunspell/myspell being autodetected as reported in "bitbake world status" e-mails:
  WARN: enchant: enchant rdepends on hunspell, but it isn't a build dependency?

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agoboost: switch to using C++11 atomics when available
André Draszik [Mon, 19 Sep 2016 10:26:06 +0000 (11:26 +0100)]
boost: switch to using C++11 atomics when available

The alleviates the need to use and maintain hand-written
assembly, just relying on the compiler to do the right
thing.

Signed-off-by: André Draszik <git@andred.net>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agorunqemu: improve finding of rootfs, kernel and dtb
Robert Yang [Sun, 18 Sep 2016 07:05:33 +0000 (00:05 -0700)]
runqemu: improve finding of rootfs, kernel and dtb

* Search rootfs in the following order:
  - IMAGE_NAME*.FSTYPE
  - IMAGE_LINK_NAME*.FSTYPE

* Search kernel in the following order:
  - QB_DEFAULT_KERNEL
  - KERNEL_IMAGETYPE
  - KERNEL_IMAGETYPE*

* Search dtb in the following order:
   - QB_DTB
   - QB_DTB*
   - *.dtb

* Fix DTB, it should only work with "-kernel" option.

[YOCTO #10265]

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agolinux-firmware: package carl9170 separately
Ioan-Adrian Ratiu [Thu, 1 Sep 2016 12:45:39 +0000 (15:45 +0300)]
linux-firmware: package carl9170 separately

Package the carl9170 binary firmware separately because it is needed
by various usb dongles and installing whole linux-firmware is overkill.

carl9170 is an atheros-based firmware, the succesor of ar9170 which is
deprecated and its driver (ar9170) was removed from the kernel tree.
carl9170 comes both as a binary blob and also with free sources; the
sources are deleted in linux-firmware.bb to avoid depeding on bash/etc.

Also we should keep ar9170 as is because OOT drivers might still use it.

The license for carl9170 is GPLv2 (sources are beside the bin in the
linux-firmware git repo).

Signed-off-by: Ioan-Adrian Ratiu <adrian.ratiu@ni.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agorunqemu-gen-tapdevs: remove /etc/runqemu-nosudo when remove taps
Robert Yang [Mon, 19 Sep 2016 09:18:58 +0000 (02:18 -0700)]
runqemu-gen-tapdevs: remove /etc/runqemu-nosudo when remove taps

It creats /etc/runqemu-nosudo when creats taps, so should remove it when
remove taps.

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agodefault-distrovars.inc: remove libidn from LGPLv2_WHITELIST_GPL-3.0
Jackie Huang [Thu, 1 Sep 2016 02:48:21 +0000 (10:48 +0800)]
default-distrovars.inc: remove libidn from LGPLv2_WHITELIST_GPL-3.0

The libidn recipe is now buildable in distros which blacklist
GPL-3.0 without needing to be explicitly whitelisted (since it
provides at least one non GPLv3 package).

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agoopenssh: fix potential signed overflow to enable compilation with -ftrapv
Yuanjie Huang [Fri, 26 Aug 2016 01:57:33 +0000 (09:57 +0800)]
openssh: fix potential signed overflow to enable compilation with -ftrapv

Pointer arithmatic results in implementation defined signed integer
type, so that 's - src' in strlcpy and others may trigger signed overflow.
In case of compilation by gcc or clang with -ftrapv option, the overflow
would lead to program abort.

Upstream-status: Submitted [https://bugzilla.mindrot.org/show_bug.cgi?id=2608]

Signed-off-by: Yuanjie Huang <yuanjie.huang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agoimage_types: add parted-native to do_image_wic depends
Ed Bartosh [Fri, 16 Sep 2016 14:32:53 +0000 (17:32 +0300)]
image_types: add parted-native to do_image_wic depends

As parted is always used by wic it makes sense to make do_image_wic
dependent on parted-native:do_populate_sysroot. This should help
to avoid adding it to all wic image recipes.

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agogawk-3.1.5: fix non-glibc & gcc >= v4 builds
André Draszik [Fri, 16 Sep 2016 15:11:19 +0000 (16:11 +0100)]
gawk-3.1.5: fix non-glibc & gcc >= v4 builds

See commit message of patch added

Signed-off-by: André Draszik <git@andred.net>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agopackage_manager.py: Change diagnostic messages per IRC
Mark Hatle [Thu, 15 Sep 2016 22:47:39 +0000 (17:47 -0500)]
package_manager.py: Change diagnostic messages per IRC

Based on a discussion with IRC user: Ulfalizer

It was suggested that removing the diagnostic list, and replacing it with a
simple hint to what might be causing the problem was a better solution.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agopackage_manager.py: Adjust error message order
Mark Hatle [Thu, 15 Sep 2016 22:47:38 +0000 (17:47 -0500)]
package_manager.py: Adjust error message order

Move the debug before the error (as it can take many pages.)  This makes it
much easier for the user to see the actual error message as it is still on
the screen.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
8 years agoqemuboot.bbclass: don't fail on very first build
André Draszik [Fri, 16 Sep 2016 10:06:29 +0000 (11:06 +0100)]
qemuboot.bbclass: don't fail on very first build

During the very first build, the DEPLOY_DIR_IMAGE
directory might not have been created yet, causing
the creation of the qemuboot.conf config file to
fail.

This is because write_qemuboot_conf() runs at
rootfs creation time, i.e. before deploy.

So let's create the directory if necessary before
trying to write the config file.

Signed-off-by: André Draszik <git@andred.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agoexternalsrc.bbclass: Make reparsing work for BBCLASSEXTENDed recipes
Peter Kjellerstedt [Sat, 17 Sep 2016 01:18:08 +0000 (03:18 +0200)]
externalsrc.bbclass: Make reparsing work for BBCLASSEXTENDed recipes

To make sure changes to any source files are detected when externalsrc
is used, it sets BB_DONT_CACHE to force the recipe to be reparsed
every time. Previously, this was done conditionally based on whether
EXTERNALSRC was set. This worked fine for building the base recipe.
But if one tried to build, e.g., a native version of it (provided via
BBCLASSEXTEND), the recipe would not be reparsed as expected.

To solve the above problem, BB_DONT_CACHE is now set for the base
recipe if EXTERNALSRC is set for it or any of it derivatives.

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agokernel.bbclass: assign INITRAMFS_BASE_NAME using ?=
Andre McCurdy [Fri, 16 Sep 2016 22:52:29 +0000 (15:52 -0700)]
kernel.bbclass: assign INITRAMFS_BASE_NAME using ?=

Default values for KERNEL_IMAGE_BASE_NAME and MODULE_IMAGE_BASE_NAME
are already assigned using ?= and anyone wanting to over-ride one is
likely to want to over-ride them all. Make the three consistent with
each other.

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agodropbear: deterministic selection of system -vs- bundled libtom libs
Andre McCurdy [Fri, 16 Sep 2016 22:29:12 +0000 (15:29 -0700)]
dropbear: deterministic selection of system -vs- bundled libtom libs

Dropbear will use system versions of libtommath and libtomcrypt if
available. To make builds deterministic, add a PACKAGECONFIG option
to choose system libs or force use of the bundled versions.

Note that currently there are no libtommath or libtomcrypt recipes
in oe-core, so default to using the bundled versions.

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agodropbear: fix -ltomcrypt -ltommath order when using system libtom libs
Andre McCurdy [Fri, 16 Sep 2016 22:29:11 +0000 (15:29 -0700)]
dropbear: fix -ltomcrypt -ltommath order when using system libtom libs

To prevent build failures when using system libtom libraries and
linking with --as-needed, LIBTOM_LIBS should be in the order
-ltomcrypt -ltommath, not the other way around, ie libs should be
prepended to LIBTOM_LIBS as they are found, not appended.

Note that LIBTOM_LIBS is not used when linking with the bundled
libtom libs.

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agorunqemu: use OECORE_NATIVE_SYSROOT from sdk
Robert Yang [Sun, 18 Sep 2016 07:39:29 +0000 (00:39 -0700)]
runqemu: use OECORE_NATIVE_SYSROOT from sdk

There is no STAGING_DIR_NATIVE or bitbake in a extracted sdk,
so check OECORE_NATIVE_SYSROOT and use it.

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agorunqemu: work even if a *.qemuboot.conf isn't found
Joshua Lock [Sun, 18 Sep 2016 07:39:28 +0000 (00:39 -0700)]
runqemu: work even if a *.qemuboot.conf isn't found

A qemuboot conf file is a convenience but it should still be
possible to invoke runqemu without them, especially for examples
such as using the SDK with an extracted rootfs via NFS.

As read_qemuboot() is always called we need to be sure that function
can return cleanly, without throwing Exceptions, even if a qemuboot
conf file isn't found.

Signed-off-by: Joshua Lock <joshua.g.lock@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agorunqemu: try symlinks when kernel or rootfs can't be found
Joshua Lock [Sun, 18 Sep 2016 07:39:27 +0000 (00:39 -0700)]
runqemu: try symlinks when kernel or rootfs can't be found

If the kernel or rootfs names written to the qemuboot.conf can't
be found, try and find the symlinked variant of the filename.

This will help usability of runqemu, for example where a user
downloads an image and associated files as the symlinked names
yet the qemuboot.conf variables point to the full, non-linked,
file names.

Signed-off-by: Joshua Lock <joshua.g.lock@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agoqemuboot: also write the kernel link name to the conf file
Joshua Lock [Sun, 18 Sep 2016 07:39:26 +0000 (00:39 -0700)]
qemuboot: also write the kernel link name to the conf file

This will allow runqemu to fall back to trying the link name when
a file matching the full name can't be found.

Signed-off-by: Joshua Lock <joshua.g.lock@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agorunqemu: clarify an INFO message
Joshua Lock [Sun, 18 Sep 2016 07:39:25 +0000 (00:39 -0700)]
runqemu: clarify an INFO message

Make it clearer that we are looking for a file which ends with
qemuboot.conf

Signed-off-by: Joshua Lock <joshua.g.lock@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agoqemuboot: write the full kernel filename, not the link name
Joshua Lock [Sun, 18 Sep 2016 07:39:24 +0000 (00:39 -0700)]
qemuboot: write the full kernel filename, not the link name

KERNEL_IMAGETYPE gives the filename of a symlink to the kernel,
which may not be available i.e. if the user downloads some build
artefacts to run on a local machine. It's also possible that the
link will point to a newer kernel than was intended for use with
the rootfs in the qemuboot.conf.

It's much more reliable to read the name of the file
KERNEL_IMAGETYPE is linking to and assign the full filename to
QB_DEFAULT_KERNEL.

[YOCTO #10285]

Signed-off-by: Joshua Lock <joshua.g.lock@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agorunqemu: add guidance to resolve issues with missing files
Joshua Lock [Sun, 18 Sep 2016 07:39:23 +0000 (00:39 -0700)]
runqemu: add guidance to resolve issues with missing files

When a required binary cannot be found print some guidance pointing
to using a sourced OE build environment or a qemuboot.conf file,
based on a similar message from the previous shell-based runqemu.

Signed-off-by: Joshua Lock <joshua.g.lock@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agodevtool: add: drop superfluous validation for recipe name
Paul Eggleton [Sun, 18 Sep 2016 20:08:13 +0000 (08:08 +1200)]
devtool: add: drop superfluous validation for recipe name

Now that recipeutils.validate_pn() properly validates characters used in
the name, we can drop this bit checking for '/' since that's not
permitted by validate_pn(). (The FIXME comment here - that I myself
apparently wrote - is questionable since that function was clearly never
intended to allow '/', perhaps I was misled because it was broken and
did so).

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agolib/oe/recipeutils: fix invalid character detection in validate_pn()
Paul Eggleton [Sun, 18 Sep 2016 20:08:12 +0000 (08:08 +1200)]
lib/oe/recipeutils: fix invalid character detection in validate_pn()

* validate_pn() is supposed to protect against invalid characters, fix
  the function so that it actually does (unanchored regex strikes
  again...)
* However, now that the function is enforcing the restrictions, we do
  still want to allow + in recipe names (e.g. "gtk+")

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agorecipetool: create: support git short form URLs
Paul Eggleton [Sun, 18 Sep 2016 20:08:11 +0000 (08:08 +1200)]
recipetool: create: support git short form URLs

In keeping with making recipetool create / devtool add as easy to use as
possible, users shouldn't have to know how to reformat git short form ssh
URLs for consumption by BitBake's fetcher (for example
user@git.example.com:repo.git should be expressed as
git://user@git.example.com/repo.git;protocol=ssh ) - instead we should
just take care of that automatically. Add some logic in the appropriate
places to do that.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agorecipetool: create: tweak license crunching
Paul Eggleton [Sun, 18 Sep 2016 20:08:10 +0000 (08:08 +1200)]
recipetool: create: tweak license crunching

Filter out a plain "Licensed under the XXXX license" statement, as seen
in the capnproto project (and no doubt others).

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agorecipetool: create: pick up AC_PROG_SWIG
Paul Eggleton [Sun, 18 Sep 2016 20:08:09 +0000 (08:08 +1200)]
recipetool: create: pick up AC_PROG_SWIG

AX_PKG_SWIG is not the only commonly-used macro for detecting swig -
there's also AC_PROG_SWIG. As per AX_PKG_SWIG, add swig-native to
DEPENDS if AC_PROG_SWIG is found in configure.ac.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agorecipetool: create: detect python autoconf macros
Paul Eggleton [Sun, 18 Sep 2016 20:08:08 +0000 (08:08 +1200)]
recipetool: create: detect python autoconf macros

If python is required then we need to inherit pythonnative (or
python3native) otherwise do_configure will probably fail since it won't
be able to find python.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agorecipetool: create: fix error with git tree and no network
Paul Eggleton [Sun, 18 Sep 2016 20:08:07 +0000 (08:08 +1200)]
recipetool: create: fix error with git tree and no network

When creating a recipe for an existing local git clone, we attempt to
use the fetcher to determine if it supports the SRCREV variable.
Unfortunately running this code does a network check to get the latest
revision as a direct result of us using '${AUTOREV}' as a default value.
If you don't have a network connection this will of course fail. Rather
than have this block creating the recipe, catch the exception and just
guess from the URL.

Ultimately this should probably be fixed in the fetcher but for now this
will at least resolve the issue on this end.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agorecipetool: create: fix name/version extraction from filename
Paul Eggleton [Sun, 18 Sep 2016 20:08:06 +0000 (08:08 +1200)]
recipetool: create: fix name/version extraction from filename

I ran into an example where recipetool was getting the name/version
completely wrong:

https://bitbucket.org/sortsmill/libunicodenames/downloads/libunicodenames-1.1.0_beta1.tar.xz

>From this it would create a libunicodenames-1.1.0-beta1_1.1.0-beta1.bb
file (likely because it couldn't split the file name and therefore took
all of it, then got the version from one of the files inside the
tarball). When this happens it's just irritating because you then have
to delete the recipe / run devtool reset and then run recipetool create
/ devtool add again and specify the version manually.

This patch is the result of systematically running the
determine_from_filename() function over the files on the Yocto Project
source mirror and my local downloads directory and fixing as many of the
generic issues as reasonably practical - it now gets the name and
version correct much more often. There are still cases where it won't,
but they are now in the minority.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agorecipetool: create: improve python recipe license handling
Paul Eggleton [Sun, 18 Sep 2016 20:08:05 +0000 (08:08 +1200)]
recipetool: create: improve python recipe license handling

Try to ensure that for Apache, GPL and LGPL where the values extracted
from the "Classifiers" field may not be version-specific, if there is a
versioned license in the free-form license field then use that instead.
Also insert the free-form license field as a comment in the recipe for
the user's reference.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agorecipetool: create: fix picking up name from local python source tree
Paul Eggleton [Sun, 18 Sep 2016 20:08:04 +0000 (08:08 +1200)]
recipetool: create: fix picking up name from local python source tree

Make use of the extravalues dict to send back other variable values from
the python handling plugin, and enable passing back PV and PN. This not
only places variable values in the final recipe a bit more consistently
with other types of source, it also allows the name and version to be
picked up fron a local source tree and not just when the recipe is
fetched from a remote URL that happens to have those in it.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agorunqemu: acquire_lock() should fail when failed to open the file
Robert Yang [Mon, 19 Sep 2016 07:20:08 +0000 (00:20 -0700)]
runqemu: acquire_lock() should fail when failed to open the file

The open(self.lock, 'w') may fail when the lock is created by other
users, return false for this case to let it try other devices.

Fixed:
runqemu - INFO - Running /sbin/ip link...
runqemu - INFO - Acquiring lockfile /tmp/qemu-tap-locks/tap0.lock...
Traceback (most recent call last):
  File "/buildarea/lyang1/poky/scripts/runqemu", line 972, in <module>
    ret = main()
  File "/buildarea/lyang1/poky/scripts/runqemu", line 963, in main
    config.setup_network()
  File "/buildarea/lyang1/poky/scripts/runqemu", line 810, in setup_network
    self.setup_tap()
  File "/buildarea/lyang1/poky/scripts/runqemu", line 761, in setup_tap
    if self.acquire_lock():
  File "/buildarea/lyang1/poky/scripts/runqemu", line 182, in acquire_lock
    lock_descriptor = open(self.lock, 'w')
PermissionError: [Errno 13] Permission denied: '/tmp/qemu-tap-locks/tap0.lock'

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agoqemuppc.conf: adjust kernel console
Robert Yang [Mon, 19 Sep 2016 06:29:24 +0000 (23:29 -0700)]
qemuppc.conf: adjust kernel console

Fixed kernel trace when booting:
[   12.825809] random: crng init done
[   13.918323] irq 36: nobody cared (try booting with the "irqpoll" option)
[   13.924821] CPU: 0 PID: 335 Comm: getty Not tainted 4.8.0-rc5-yocto-standard #1
[   13.930492] Call Trace:
[   13.936214] [cff73f20] [c00790f0] __report_bad_irq.isra.0+0x3c/0x128 (unreliable)
[   13.941908] [cff73f40] [c0079518] note_interrupt+0x2b8/0x304
[   13.947265] [cff73f70] [c00766f4] handle_irq_event_percpu+0x5c/0x74
[   13.952503] [cff73f90] [c0076768] handle_irq_event+0x5c/0xdc
[   13.957667] [cff73fa0] [c007a29c] handle_fasteoi_irq+0xdc/0x234
[   13.962984] [cff73fc0] [c007592c] generic_handle_irq+0x3c/0x58
[   13.968288] [cff73fd0] [c0006c74] __do_irq+0x54/0x18c
[   13.973612] [cff73ff0] [c000f9c8] call_do_irq+0x24/0x3c
[   13.978742] [cf0cdb70] [c0006e40] do_IRQ+0x94/0x110
[   13.983992] [cf0cdba0] [c001215c] ret_from_except+0x0/0x14
[   13.989281] --- interrupt: 501 at pmz_set_termios+0x130/0x6d8
[   13.989281]     LR = pmz_set_termios+0xf0/0x6d8
[   13.999353] [cf0cdc90] [c049f130] uart_change_speed.isra.2+0x60/0x168
[   14.004436] [cf0cdcb0] [c049fdbc] uart_startup.part.8+0xec/0x1e0
[   14.009625] [cf0cdce0] [c04a0ab4] uart_open+0x138/0x16c
[   14.014723] [cf0cdd00] [c047e510] tty_open+0x118/0x65c
[   14.019743] [cf0cdd60] [c01894c8] chrdev_open+0xdc/0x1e0
[   14.024616] [cf0cdd90] [c01807d0] do_dentry_open+0x23c/0x358
[   14.029418] [cf0cddc0] [c0194878] path_openat+0x58c/0x1084
[   14.034054] [cf0cde50] [c01965b4] do_filp_open+0xbc/0x10c
[   14.038539] [cf0cdf00] [c01822fc] do_sys_open+0x154/0x224
[   14.043105] [cf0cdf40] [c0011a44] ret_from_syscall+0x0/0x38
[   14.047828] --- interrupt: c01 at 0xfeef5a0
[   14.047828]     LR = 0xfeef544
[   14.056543] handlers:
[   14.060980] [<c04a2b10>] pmz_interrupt
[   14.065468] Disabling IRQ #36

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agogroff: not ship /usr/bin/glilypond
Mingli Yu [Tue, 6 Sep 2016 02:39:37 +0000 (10:39 +0800)]
groff: not ship /usr/bin/glilypond

Not ship /usr/bin/glilypond and related files such
as man file /usr/share/man/man1/glilypond.1 and other
three files related to glilypond under
/usr/lib/groff/glilypond in embedded system, it is because:

- Remove the confusion about glilypond fails to run
  because it lacks dependency on File::HomeDir perl
  module

- We don't often have need for sheet music conversion
  in groff in embedded or IoT devices (glilypond
  transforms sheet music written in the lilypond language
  into the groff language using the .PSPIC request, such
  that groff can transform it into a format that can be
  displayed directly).

Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agolinux-firmware: Add missing ralink-firmware License
Saul Wold [Fri, 16 Sep 2016 21:37:47 +0000 (14:37 -0700)]
linux-firmware: Add missing ralink-firmware License

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
8 years agolinux-firmware: Correct the LICENSE setting of license packages
Saul Wold [Fri, 16 Sep 2016 21:37:38 +0000 (14:37 -0700)]
linux-firmware: Correct the LICENSE setting of license packages

This change causes the licenses of the linux-firmware-*-license to be the license
that it contains instead of all the licenses of the linux-firmware package.

[YOCTO #10251]

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>