yasm: add from meta-oe and tweak

This is needed for x264. Enabling it for libav also improves performance
on x86 and x86-64. Two minor changes from the meta-oe recipe:

* Set SUMMARY instead of DESCRIPTION
* Drop setting of S - it was setting it to the same as the default

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
x264: add from meta-oe, update and tweak

This is required by the default configuration of libav being brought over
from meta-oe. Changes from the meta-oe recipe:

* Update to the latest revision from the stable branch (upstream does
  not seem to provide stable releases.)
* Add LICENSE_FLAGS = "commercial"
* Enable PIC to fix text relocation warnings and disable warning for
  i586 (since PIC can't be used there)
* Make SUMMARY value slightly shorter
* Indent SRC_URI consistently with other recipes in OE-Core

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
libav: add from meta-oe, update and tweak

Changes from the meta-oe recipe:
* Update stable recipe to 0.8.8
* Update git recipe to the tag for 9.8 (for now)
* Switch over to a tarball for the release version recipe
* Add LICENSE_FLAGS = "commercial"
* Set SUMMARY instead of DESCRIPTION
* Add yasm-native to DEPENDS since there is now a recipe for it
* Remove libvpx from DEPENDS and add a PACKAGECONFIG option for it,
  disabled by default since it wasn't actually being enabled
* Add a PACKAGECONFIG option for x11 to enable/disable x11grab, and
  add the proper DEPENDS if so (still defaults to enabled)
* Add a number of other PACKAGECONFIG options, replacing some old
  comments as well as offering the ability to disable x264.
* Hide text relocation warning when building for i586 (PIC can't be
  enabled for 32-bit x86).
* Drop PR

Notes for the git recipe:
* This hasn't been able to be built recently in meta-oe since there was
  a circular dependency between libav and libpostproc. libpostproc is
  part of libav 0.8.x but was split out in 9+ and is not needed at all
  anymore by libav itself, so this dependency was removed.
* Additionally the recipe was filtering out the option to enable
  libpostproc but this option wasn't being added by the inc file and
  thus the filter wasn't doing anything, so I dropped this as well.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
gst-ffmpeg: merge in bbappend from meta-oe

* Enable external libav for better optimisations/additional bugfixes
  (internal ffmpeg copy is quite old), default enabled but can be
  disabled using PACKAGECONFIG
* Add a PACKAGECONFIG for orc, disabled by default in line with other
  gstreamer recipes
* Bump PR to r7 so the bbappend can be dropped without PR going
  backwards

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
gst-ffmpeg: enable using yasm during build

A recipe is now available for this, and it should enhance performance on
x86/x86-64.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
gst-ffmpeg: set SUMMARY instead of DESCRIPTION

We only have a short description, so set SUMMARY and DESCRIPTION will be
defaulted from it.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
mesa: fix and enable out-of-tree builds

One patch (submitted upstream) for when Gallium is enabled, and another
(inappropriate for upstream) to fix out-of-tree builds with
0003-EGL-Mutate-NativeDisplayType-depending-on-config.

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
classes/testimage: create a link for qemu boot log

The full name for the log is confusing when there are multiple files.
Also move the ssh log path stuff where it's needed.

Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
oeqa/utils/qemurunner: get ip old fashioned way and use tcp serial console

The way we read data from the serial console was unreliable and blocking (AutoBuilder
seems to hit that often), so change the serial console type from unix socket to tcp
and reverse the connection - don't let qemu act as server (wait for a connection).
So now the serial console is used to save the boot log and make sure that we reached
the login prompt. Until a better way is found this should solve some of the AutoBuilder
failures (one being YB#4904).

Also we need to use the same method as the old qemuimagetest to get the ip
(from the qemu process arguments), because that it's more reliable.
The first version used here was to log into the target and use the output of
"ip addr show eth0" but then systemd decides that it should rename interfaces,
so that was changed to get the ip of the interface that has the default gw,
but if there is no default gw we'll get the loopback ip and we end up trying to
ssh into the host machine (some recent AutoBuilder runs showed that).

Changed in V2:
 - use -ww for ps, as output might get truncated

Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
lib/oeqa/runtime: rework syslog test

Add separate tests for restarting syslog and using logger, and
skip the configuration test for systemd images which always fail
because syslog's systemd service doesn't read a config by default
(see YB#4860).

Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
lib/oeqa/runtime: add new systemd tests

New systemd runtime tests for enable/disable service, start/stop service and list services.

Signed-off-by: Alexandru Palalau <alexandrux.palalau@intel.com>
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
grub_0.97: Fix to correctly ship files under /usr/lib

The grub_fix_for_automake-1.12.patch replaced pkglib with pkgdata to
make grub_0.97 build with automake-1.12. However, it forgot to set up
the pkgdatadir, thus causing grub_0.97 not shipping files under /usr/lib.
This in turn resulted in an unworkable grub.

This patch fixes this problem by setting up the pkgdatadir correctly.

[YOCTO #4997]

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
linux-dtb.inc: Replace /boot/ with /${KERNEL_IMAGEDEST}/

Devicetree files were installed hard-coded in /boot. When KERNEL_IMAGEDEST
is anything else but "boot", the postinstall script and the file locations
no longer match and the postinstall will fail.

Replace "boot" with "${KERNEL_IMAGEDEST}" to fix this problem, and to allow
the devicetree files to be installed in another location.

Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
rpm: Change references from RPM_VENDOR_POKY to RPM_VENDOR_OE

Change the #define references to match RPM_VENDOR_OE.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
rpm: Enable compatibility with older RPM packages that have invalid platforms

Some LSB packages appear to have the platform set to '%{_target_platform}'
which is not a valid platform field.  This causes a failure of the type:

warning: package lsb-test-core-4.1.15-1.x86_64 is intended for a %{_target_platform} platform

When we detect an invalid platform, fall back and try to construct a new
platform name that may be valid based on the arch and os contents of the
package.  (This should only ever be needed by invalid or older RPM packages.)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
image.bbclass: Move runtime_mapping_rename to avoid conflict w/ multilib

[YOCTO #4993]

Move the runtime_mapping_rename into a prefunc for the do_rootfs function.
Otherwise doing it in the python section could occur BEFORE the multilib
classes renaming.

If the package 'b' is a kernel module, then lib32-b and b should both
point to the same package.  The runtime_mapping code will do this
automatically.

Before if you ran: bitbake lib32-<image>

It may do:

start PACKAGE_INSTALL (a b c)
remap  (a b c)
MULTILIB naming (lib32-a lib32-b lib32-c)

What we want is:

start PACKAGE_INSTALL (a b c)
MULTILIB naming (lib32-a lib32-b lib32-c)
remap (lib32-a b lib32-c)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
groff: Fix License to be GPLv3

Signed-off-by: Saul Wold <sgw@linux.intel.com>
groff: Add GPLv2 version

Apparrently a LICENSE change was missed, so we add the GPLv2 version back in

Signed-off-by: Saul Wold <sgw@linux.intel.com>
kernel.bbclass: Correct post(inst|rm) package association

Fixes [YOCTO #4991]

The kernel image is installed as part of the kernel-image package, but
the symlink creation/removal via alternatives is being done in
pkg_post(inst|rm)_kernel-base.

Move the postinst alternatives logic into the kernel-image functions.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
opkg: Fix possible installation of GPLv3 header

opkg is GPLv2+ licensed but it has optional support for sha256 checksums which
was GPLv3+ licensed. This code is not built unless '--enable-sha256' is passed
to the configure script, the default is equivalent to '--disable-sha256'.

However, the header 'sha256.h', which is GPLv3+ licensed, is in the list of
header files to be installed and thus could end up in the libopkg-dev package.
As this header is installed to '/usr/include/libopkg' it is very unlikely that
it will ever be used. However, if you're uncomfortable with GPLv3 code going
anywhere near your target filesystem you won't want this to happen.

The simplest solution is to replace the sha256 implementation in opkg with the
implementation from coreutils-6.9 which is licensed under GPLv2+. This is
committed to the opkg subversion repository as r652/r653.

The only intervening commit between r650 (previous SRCREV) and this is r651,
which integrates 'obsolete_automake_macros.patch' into the opkg sources. Thus
this patch isn't needed in oe-core anymore.

(Note: Before 873689bbabba25e7be5c12317c04519a7bc8d0ef, this header is only
installed if opkg is built in its source tree (ie. ${B}=${S}). After that commit
the header will always be installed)

Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
Signed-off-by: Saul Wold <sgw@linux.intel.com>