ddimage: fix incompatibility with dash

On systems with dash as /bin/sh there were failures while invoking ddimage.
Fix to let it work with both bash and dash shells.

[YOCTO #4617]

(From OE-Core master rev: 4c6f7a5d8bd6ada434b91037ecd5db06f3eac814)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
avahi: inherit python classes, use PACKAGECONFIG

Without using our python classes and having appropriate dependencies, the
build is nondeterministic, and whether a python-avahi package is produced will
vary depending on the host environment, yet avahi-discover is always produced,
and it depends on python-avahi.

(From OE-Core master rev: 4599ef630c13224506671bf84569bfc240cd3032)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
ofono: Add run time dependency for ofono test scripts

Some ofono test scripts i.e. enable-modem use python-dbus module
and this must be installed along with ofono-tests package.

(From OE-Core master rev: e5422ed7f3e4b1ee8554ffe3a98006477fb52c4d)

Signed-off-by: Muhammad Shakeel <muhammad_shakeel@mentor.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
runqemu: when tunctl can't be found, say what package builds it

If runqemu is used without actually building any qemu images (i.e. you
downloaded the images) it's likely that qemu-helper-native hasn't been built.
Instead of just saying what command can't be found, tell the user how to solve
their problem.

(From OE-Core master rev: 1498c431a161e8b3ddebefb5f03f4f11d5796c1d)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
bind: backport six CVE patches

(From OE-Core master rev: de1238a589ade1220d51cb4b9277cc17479f6f17)

Signed-off-by: Roy.Li <rongqing.li@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
openssl: fix documentation build errors with Perl 5.18 pod2man

(From OE-Core master rev: 8792b7fb4ef8d66336d52de7e81efbb818e16b08)

Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
openssl: Add fix for cipher des-ede3-cfb1

Add patch file for one of the ciphers used in openssl, namely the cipher
des-ede3-cfb1. Details of the bug, without this patch, can be found here.
http://rt.openssl.org/Ticket/Display.html?id=2867

(From OE-Core master rev: ed61c28b9af2f11f46488332b80752b734a3cdeb)

Signed-off-by: Muhammad Shakeel <muhammad_shakeel@mentor.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
directfb:filter out -fno-omit-frame-pointer option on x86 arch

directfb need -fomit-frame-pointer option of gcc to build some inline
asm code about mmx. But once -fno-omit-frame-pointer was added
into TARGET_CFLAGS. That will cause directfb build error on x86 arch.

(From OE-Core master rev: 07f4030909dcc14c4ce4d6d3690a192c0b4040a9)

Signed-off-by: Roy.Li <rongqing.li@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
grep: fix for CVE-2012-5667

Multiple integer overflows in GNU Grep before 2.11 might allow
context-dependent attackers to execute arbitrary code via vectors
involving a long input line that triggers a heap-based buffer overflow.

http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2012-5667

(From OE-Core master rev: 7dd4d0178e2b057f76cd2b0b6fe8402f8c1ab23d)

Signed-off-by: Ming Liu <ming.liu@windriver.com>
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
bind: use /var/run/named instead of /var/run/bind/run

Change /var/run/bind/run to /var/run/named to avoid the following error message.

  chmod: cannot access '/var/run/bind/run': No such file or directory

[YOCTO #4429]

(From OE-Core master rev: a32c05f691ef5620516b2f84452fb5129e16bb14)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
linux-firmware: Look for RTL license in the right directory

The rtl-license package FILES was pointing to the wrong directory as it
was removed from there in commit:

acd3735 linux-firmware: Remove duplicaed license from rtlwifi subdir

This resulted in a do_rootfs failure for core-image-sato-sdk for fri2
with ipk when the linux-firmware-dev package tried to install
linux-firmware-rtl-license which wasn't created as it was empty.

Tested on core-image-sato-sdk build for fri2 on dylan commit:
789b2b7e0cca404ff8ba8ed5ba823d215e6ba5b4

Cc: Saul Wold <sgw@linux.intel.com>
Cc: Beth Flanagan <elizabeth.flanagan@intel.com>
Cc: Otavio Salvador <otavio@ossystems.com.br>
(From OE-Core master rev: fc7fafcb3bb5c12bad07e12c15ac3a489bd0291f)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
qt4: disable gdb_dwarf_index

* qmake is trying to call native gdb and we don't depend on gdb-native
  (or even provide gdb-native)
* fixes errors like this:
  /bin/sh: gdb: command not found
  /bin/sh: line 0: test: -gt: unary operator expected

(From OE-Core master rev: 6456b596a73232429e0d223089f32dc350ea20b0)

Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
base.bbclass: Ensure finalised data is displayed in build banner

The build banner displayed at the start of builds can be misleading since
the data store has not been finalised. As easy way to illustrate this is
to use something like:

DEFAULTTUNE = "i586"
DEFAULTTUNE_<machineoverride> = "core2"

and the banner will display the i586 tune yet the core2 tune will be
used. We can avoid this if we finalise a copy of the data before
displaying it.

[YOCTO #4225]

(From OE-Core master rev: bdce39f22a0e8c8e1cf237322657220e4201077d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
qt4: add eglibc-gconv-utf-16 to QtCore RRECOMMENDS when using glibc

This fixes the following warnings when running Qt applications:
QIconvCodec::convertFromUnicode: using Latin-1 for conversion, iconv_open failed
QIconvCodec::convertToUnicode: using Latin-1 for conversion, iconv_open failed

Qt's QString class stores strings internally using UTF-16 encoding.
The UTF-16 iconv module is needed to convert between the system's local
8-bit representation and QString's UTF-16 encoding.

For example, the following functions would be affected:
QString::fromLocal8Bit(...)
QString::toLocal8Bit(...)

If the UTF-16 iconv module couldn't be loaded, it would use Latin-1
encoding instead of the system's encoding for conversion.

[YOCTO #349]

(From OE-Core master rev: 2e9c8007bca684149d72e96423f30433b6665fad)

Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
libpam: Fix for CVE-2010-4708

Change default for user_readenv to 0 and document the
new default for user_readenv.

This fix from:
http://pam.cvs.sourceforge.net/viewvc/pam/Linux-PAM/modules/pam_env
/pam_env.c?r1=1.22&r2=1.23&view=patch
http://pam.cvs.sourceforge.net/viewvc/pam/Linux-PAM/modules/pam_env
/pam_env.8.xml?r1=1.7&r2=1.8&view=patch

(From OE-Core master rev: 871ae7a6453b3b66610fd8bbaa770c92be850e19)

Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
systemd-udevd: fix invoking init script failed

root@emenlow-noemgd:~# /etc/init.d/systemd-udevd restart
Stopping udevd
Starting udev
corrupt queue file
root@emenlow-noemgd:~# /etc/init.d/systemd-udevd status
udevd is stopped
root@emenlow-noemgd:~# ps
3805 root      8728 S    /lib/systemd/systemd-udevd

The process name is systemd-udevd rather than udev which is
used in systemd-udevd's init script.

[YOCTO #4746]

(From OE-Core master rev: 8f59aa06f3eb955d58600dfc628bd3b5d2aa0f9a)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
archiver.bbclass: check if package contains a copyleft license

The copyleft filter is only excluding packages that contain a
closed source license. This is because oe.license.is_included()
returns a boolean value that indicates if the license is excluded,
and a string that contains the matched included licenses. If the
string is empty it indicates that no licenses were matched.

Reject packages that do not contain a copyleft license.

[YOCTO 4630]

(From OE-Core master rev: 3d0f9ee3d2fcce331d35467d5965ff44b825427f)

Signed-off-by: Kevin Strasser <kevin.strasser@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
archive-*-source.bbclass: handle dependency in anonymous function

Using "before do_rootfs" would have this task added to do_rootfs
dependencies regardless of the filtering options. Instead, add this
dependency in the anonymous python function.

(From OE-Core master rev: 2400a74923e51e17ecfa94c2d63908b0b2aac76a)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
sstate.bbclass: make hard links for staging files

Make hard links for staging files instead of copy to save the disk space
(3G will be saved for a core-image-sato build), and it doesn't affect
much on the build time.

The following directories are affected:
1) The sysroot
2) The DEPLOY_DIR
3) The pkgdata

[YOCTO #4372]

(From OE-Core master rev: 5853e0f482b22258c909268fe71673a29e31989b)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
path.py: Deal with race issue

The change to use copyhardlinktree in some of the sstate code instead of
copytree exposed a race condition. This is due to cp failing if it finds
a directory doesn't exist yet some other process creates it while cp was
trying to create it itself. tar doesn't error in this case.

To fix this we need to create the directory structure with tar, then
use cp to hardlink the files. Messy but probably worth doing.

I also took the opportunity to remove src_bak since the code is neater
without it.

(From OE-Core master rev: 2f954a9a6932f1e6c564e7e7aacaac628a75eed7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>