shadow: Make useradd work correctly with --root again

Even if useradd --root <root> is used it would still read login.defs
before doing the chroot() and thus use the one provided by the host
rather than the sysroot.

(From OE-Core rev: b85917a4ebe636316fa7305017cd32a47b392039)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
sstate: Fix incorrect return value handling

The use of [ and && here means $? is reset and the exit 1 error
interception wasn't working, leading to "file changed as we read it"
errors from sstate_create_package when heavily using hardlinks.

Fix this by placing $? into a variable.

(From OE-Core rev: 6e51f900b76b06c09a3d6927f8db7398e2c035ed)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
license: Improve disk usage

Currently copies of the license files are made which wastes disk space
and adversely affects performance. We can link these instead in most
cases for small performance gains.

(From OE-Core rev: 0b0f3631fd22f731b6aeedb73965e367b695028b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
sstate.bbclass: fix sstate_hardcode_path()

The "grep -e (x|y)" doesn't work, for example:
$ echo xy | grep -e '(x|y)'
No output

We can use "grep -E" (extended regexp) or "grep -e x -e y" to fix it.
It only affected the cross recipes.

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
gstreamer1.0-plugins-bad.inc: Add rtmp support in gstreamer.

RTMP feature depends on rtmpdump.

Signed-off-by: Marie Kowalczyk <marie.kowalczyk@vodalys.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
grub-efi: Replace _BSD_SOURCE macro with _DEFAULT_SOURCE

This is needed with glibc 2.20 since _BSD_SOURCE
macro is gone

Khem fixed grub, but the grub-efi also needs it, the patch can't apply
to grub-efi, so made a new patch for it.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
at-spi2-core: fix DBIND_CHECK_ALIGNOF m4 macro

Modify the macro so it will work when cross-compiling.
Note that the values checked are normally in a site file
so the macro rarely has to discover them.

Signed-off-by: Joe Slater <jslater@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
dropbear: add pam modules dependencies

If pam distro feature enabled, dropbear will need below pam rpms
to work:

  * libpam-runtime
  * pam-plugin-deny
  * pam-plugin-permit
  * pam-plugin-unix

Just add the runtime dependencies explicitly.

Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
portmap: fix INITSCRIPT_PARAMS

Fix portmap init to make it run at runlevel 2,3,4,5.

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
portmap: add systemd service file

Add systemd service file for systemd support.

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
i2c-tools: create i2c-tools-misc package for perl scripts

The patch is to split those perl scripts from the main package.
Add perl to RDEPENDS_i2c-tools-misc.

Signed-off-by: Michel Thebeau <michel.thebeau@windriver.com>
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
lttng-tools: add PACKAGECONFIG to support --enable-python-bindings and lttng-ust

Add PACKAGECONFIG to support --enable-python-bindings
Add PACKAGECONFIG to support lttng-ust

And python-bindings requires swig-native as DEPENDS, and
swig-native is not in oe-core, so disable python-bindings
by default

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
systemd: fix to use ${libdir} for libraries

We need to use ${libdir} instead of ${exec_prefix}/lib for libraries.
Otherwise, we would meet do_install errors if multilib is enabled.

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
rsync: Add PACKAGECONFIG for acl/attr

Add PACKAGECONFIG for acl/attr
and setting the default value to enable them

[ RB: fix PACKAGECONFIG assignment ]

Signed-off-by: Roy Li <rongqing.li@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
rsync: remove trailing whitespace

Signed-off-by: Ross Burton <ross.burton@intel.com>
build-appliance-image: remove hardwired path

Remove wrong absolute hardwired path
for the VM disk image.

Fixes [YOCTO #6728].

Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
libgcrypt: Fix ARM assembly when building __PIC__

libgcrypt.so.20 contains .text relocations, backport a patch
to fix it.

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
gcc-configure/gcc-common: Move preconfigure definition to common include

There is a race where:

NOTE: recipe libgcc-initial-4.9.1-r0: task do_configure: Started
NOTE: recipe gcc-runtime-4.9.1-r0: task do_preconfigure: Started

| checking build system type... /home/pokybuild/yocto-autobuilder/yocto-worker/nightly-deb/build/build/tmp/work-shared/gcc-4.9.1-r0/gcc-4.9.1/libgcc/../config.sub: line 1711: syntax error near unexpected token `;;'
| /home/pokybuild/yocto-autobuilder/yocto-worker/nightly-deb/build/build/tmp/work-shared/gcc-4.9.1-r0/gcc-4.9.1/libgcc/../config.sub: line 1711: `		;;'
| configure: error: /bin/bash /home/pokybuild/yocto-autobuilder/yocto-worker/nightly-deb/build/build/tmp/work-shared/gcc-4.9.1-r0/gcc-4.9.1/libgcc/../config.sub x86_64-linux failed
| WARNING: exit code 2 from a shell command.

so we need to make sure the preconfigure task executes in all shared
work contexts.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
sstatesig/sstate: Add support for locked down sstate cache usage

I've been giving things some thought, specifically why sstate doesn't
get used more and why we have people requesting external toolchains. I'm
guessing the issue is that people don't like how often sstate can change
and the lack of an easy way to lock it down.

Locking it down is actually quite easy so patch implements some basics
of how you can do this (for example to a specific toolchain). With an
addition like this to local.conf (or wherever):

SIGGEN_LOCKEDSIGS = "\
gcc-cross:do_populate_sysroot:a8d91b35b98e1494957a2ddaf4598956 \
eglibc:do_populate_sysroot:13e8c68553dc61f9d67564f13b9b2d67 \
eglibc:do_packagedata:bfca0db1782c719d373f8636282596ee \
gcc-cross:do_packagedata:4b601ff4f67601395ee49c46701122f6 \
"

the code at the end of the email will force the hashes to those values
for the recipes mentioned. The system would then find and use those
specific objects from the sstate cache instead of trying to build
anything.

Obviously this is a little simplistic, you might need to put an override
against this to only apply those revisions for a specific architecture
for example. You'd also probably want to put code in the sstate hash
validation code to ensure it really did install these from sstate since
if it didn't you'd want to abort the build.

This patch also implements support to add to bitbake -S which dumps the
locked sstate checksums for each task into a ready prepared include file
locked-sigs.inc (currently placed into cwd). There is a function,
bb.parse.siggen.dump_lockedsigs() which can be called to trigger the
same functionality from task space.

A warning is added to sstate.bbclass through a call back into the siggen
class to warn if objects are not used from the locked cache. The
SIGGEN_ENFORCE_LOCKEDSIGS variable controls whether this is just a warning
or a fatal error.

A script is provided to generate sstate directory from a locked-sigs file.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
sstatesig: Improve to handle locking of multiple machines

Instead of a single monolithic SIGGEN_LOCKEDSIGS, split this into
separate variables, one per sstate package architecture. Add in
a new SIGGEN_LOCKEDSIGS_TYPES variable which lists the package
architectures to load in.

SIGGEN_LOCKEDSIGS_TYPES is made machine specific using overrides.

Also sort the hashes in the lists by PN to make diffing them easier.

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