useradd: Ensure -native recipes don't depend on target recipes

Without this change, dbus-native can end up depending upon base-passwd
for example. This change mirrors the existing nativesdk code.

Based on a patch from Henning Heinold <heinold@inf.fu-berlin.de>
but with some additions from me.

(From OE-Core rev: eba81d1c606ec29ffb793c1cb3cfed9562d552bc)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <josh@linux.intel.com>
useradd.bbclass: Execute user addition code before do_package_setscene, not after do_populate_sysroot_setscene

The user addition needs to happen before the do_package files are extracted
by do_package_setscene since those are the ones we need to preserve the file
ownership information for. This patch ensures this happens.

(From OE-Core rev: 34282c1b996ef008384af456735692d66ddabc13)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <josh@linux.intel.com>
useradd.bbclass: Ensure pseudo can load in the pseudo unloaded case

In the do_populate_sysroot_setscene case, pseudo has been unloaded and we need
to reload it. This code change ensures all the pseudo options are specified
so pseudo loads correctly.

It also improves some of the comments so all the different contexts are listed.

(From OE-Core rev: 76345cd61c9523ce6755ef8e923dec37800b7a98)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <josh@linux.intel.com>
useradd.bbclass: Add explict setscene dependencies to ensure correct ordering of setscene tasks

(From OE-Core rev: ffc7bbcf0011de3f1f6e8d95f1de0b8f7164fa51)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <josh@linux.intel.com>
useradd: Ensure dependencies are only added for target recipes, not native or nativesdk

(From OE-Core rev: 63d006b2d3fc2223c74f81b91f70f5c841108c80)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <josh@linux.intel.com>
useradd.bbclass: Fix missing quote

(From OE-Core rev: d7b13cd42ab8d5f44f97e119b73ec2e363677d26)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <josh@linux.intel.com>
useradd.bbclass: skip processing on virtclass-cross extended packages

(From OE-Core rev: 4308acbbd43e6b8b37123d95df6675233007dae4)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <josh@linux.intel.com>
useradd.bbclass: override USERADDSETSCENEDEPS to empty when building cross packages

(From OE-Core rev: 5650eb44ea28c87f2f87ea3c5a557b9f08d58775)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <josh@linux.intel.com>
shadow-sysroot: Fix for multilib

Fix following error in multilib build:
"ERROR: Task do_package_setscene depends upon nonexistant task
poky/meta/recipes-extended/shadow/shadow-sysroot_4.1.4.3.bb:do_populate_sysroot_setscene"

>From richard.purdie@linuxfoundation.org

(From OE-Core rev: 5de2c22fb42c12783abc090a81f10db9eb39732f)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <josh@linux.intel.com>
useradd.bbclass: retry useradd/groupadd commands to avoid lock race issues

A race condition can occur when adding users and groups to the
passwd and group files, causing errors like the following:

 ERROR: Function 'useradd_sysroot' failed
 Tried to access "/etc/group" but this was locked.

This fix will cause the useradd code to retry the useradd and
groupadd commands up to 10 times (with a 1s sleep in between
attempts) before failing.

This fixes [YOCTO #1794]

(From OE-Core rev: 68c589f1b5ee36f0aff151b728447ffdae14622c)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <josh@linux.intel.com>
syslinux: Avoid using linux.ext2_fs.h if possible

Fixes [YOCTO 2236]

With recent Linux kernel headers, such as 3.3 in Fedora 16, the linux/ext2_fs.h
header has been removed. This causes compile failures for syslinux-native.
Backport a fix to address this from syslinux-4.06-pre3.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Ross Burton <ross.burton@intel.com>
CC: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Joshua Lock <josh@linux.intel.com>
sstate: Add SSTATE_SCAN_FILES

We process all files in the native/cross cases for finding and
fixing relocation issues. In the target case we've only processed
.la and binconfig files. Since there are other files which are
in need of this processing, this change allows recipes to specify
files that may be outside the normal set. This means hardcoded
paths that need to be fixmepathed to work correctly are handled
and addresses some sstate relocation bugs that have been seen.

Based on a patch from Saul Wold <sgw@linux.intel.com>

(From OE-Core rev: 6ffdcd9120b572fa41659029c3bda7bf00ebcb77)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <josh@linux.intel.com>
sstate.bbclass: Add support for sstate preinst functions

(From OE-Core rev: f2b0a71b3100a0d2ceb80300d7f3823a31eb907a)

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

Signed-off-by: Joshua Lock <josh@linux.intel.com>
sstate.bbclass: Remove possibility of file corruption and make package writing atomic

There is currently a race window when creating sstate packages since we don't
atomically write the files to SSTATE_DIR. This change ensures we do so by writing
to a temporary file and then doing an atomic move.

(From OE-Core rev: 52bf113e786a57123a9da98f64442afbc2f1471e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <josh@linux.intel.com>
package_rpm.bbclass: ensure base-passwd and shadow get installed first

When generating images, we need to make sure that base-passwd and
shadow get installed before other packages, which might need to create
custom user accounts.

Thanks to Richard Purdie for the initial version of this fix.

This fixes [YOCTO #2127]

(From OE-Core rev: 3d2d3cb379608301b17ce57787d324c2f06bf4f9)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <josh@linux.intel.com>
zlib: install pc file

Joshua Immanuel reported, and provided a patch to fix, that our custom
autotooling for zlib does not install the pc file.

Fixes [YOCTO #1983]

Patch-from: Joshua Immanuel <josh@hipro.co.in>
Signed-off-by: Joshua Lock <josh@linux.intel.com>
icon-naming-utils-native: add SRC_URI checksums

[YOCTO #1866] reported errors with fetching icon-naming-utils. This turned out
to be an issue with upstream which was impaired by the recipe not containing
checksums.

Without a checksum failure we were trying to decompress the error page we
received from upstream.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
common-licenses: Adding/updating to current

[YOCTO #2230]

1.1+ had some incorrect license text. This corrects that text and
adds licenses that didn't exist in 1.1+.

Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Joshua Lock <josh@linux.intel.com>
populate_sdk_ipk.bbclass: Ensure the correct environment is setup for postinstalls

Without this, various postinstalls get run with incorrect environments
leading to various failures when building the toolchains.

This adds some duplication and some variables we'd be better off
removing. It does unbreak the SDK ipk code for now though. This needs
revisiting.

(From OE-Core rev: c5e6a533eab2f5af4a52d22f8efe5b49b77cd26c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <josh@linux.intel.com>