distutils/distutils3: Fix bashism

read -d is a bashism. Replace with a direct exec to avoid the problem
in this case. This fixes silent build failures in do_install of
tasks on systems with dash as /bin/sh.

Also merge the fix to distutils for only changing necessary files
to disutils3 as well.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
initrdscripts: Try to boot if boot label is unknown

The init-live.sh scripts assumes that the boot label set by
the LABELS variable is either "boot", "install", or
"install-efi".  If that variable is overridden to something else
we fall off the end of the case statement and the system locks
up.  If the boot label is unknown, at least attempt to boot.

Signed-off-by: Drew Moseley <drew_moseley@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
recipes-devtools: fix segfault in lib32-gcc with "." multilib_dir

When enabling a lib32-gcc in a 64 bit build, without doing any
other configuration, the mutilib dir is unspecified, which is
represented internally in gcc as "." and as such uncovers an
invalid free on a non-malloc'd pointer.

As suggested by the gcc folks, simply make sure the "." case
is also stored in a malloc'd pointer, so that the intended
runtime behaviour of the code remains unchanged.

Patch has been accepted by upstream maintainers of gcc.

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
patch.bbclass: unset TMPDIR after use

GNU Patch < 2.6.1 has a race condition so we create a per-instance TMPDIR to
avoid this.  This was implemented by setting os.environ[TMPDIR] but at the end
of do_patch the temporary directory is deleted but TMPDIR is not unset.

In general this doesn't cause a problem but if do_patch is embedded in a larger
function then TMPDIR is set to a directory that doesn't exist.  Avoid this by
removing TMPDIR from os.environ when the directory is deleted.

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
sstate-diff-machines.sh: Return non-zero return code when there was some failure detected

* add --analyze option, which is useful when using from jenkins job
  where you don't want to read output just to dectect how bad it was
* I was always using something like this inside jenkins job, but better
  to share it in original script

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
test-dependencies.sh: Return non-zero return code when there was some failure detected

* this is useful when using from jenkins job where you don't want to read
  output just to dectect how bad it was
* add .log suffix to all files, so they can be easily downloaded from
  http servers without default mimetype set to something useful
* add recipes failed in step 1 to steps 2 and 3 to generate standalone
  logs for them

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
libusb: add missing build dependency on udev

This fixes the ./configure error in case libusb is built before udev/systemd.

Signed-off-by: Fabien Chereau <fabien.chereau@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
classes/report-error: tweak summary message

* We don't want everyone to remove their identifying info, just if they
  feel the need to
* Split lines for clarity
* A couple of grammar/spelling tweaks

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
populate_sdk_base: add auto-completion in setup

Signed-off-by: Dennis Meier <meier.dennis@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
populate_sdk_base: Remove confusing echo

Remove a confusing echo after the previous commit, thanks for a suggestion
from Laurentiu.

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

A
classes/kernel: Use full path for symlink in update-alternatives.

Use a fully qualified path for the <path> parameter in calls
to update-alternatives.  The chkconfig-alternatives version
requires a full path and without it, the symlink is not
properly created.

Signed-off-by: Drew Moseley <drew_moseley@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Revert "libusb: add missing build dependency on udev"

This reverts commit 6cebce6e355c4c7a87f4088bfa849d0a1c3439da.

Leads to build failures as nativesdk-udev doesn't exist (nor should it).

It also leads to circular dependencies and build failures from these.
oeqa/selftest/toaster.py: renamed to _toaster.py

In order not to run the toaster selftests by default, we renamed to _toaster.py

Signed-off-by: Ionut Chisanovici <ionutx.chisanovici@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
oeqa/selftest/_toaster.py: fix 'IndentationError' issues

There were some indentation errors when the _toaster.py was merged into master.
This patch fix those errors.

Signed-off-by: Ionut Chisanovici <ionutx.chisanovici@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
adt_installer: Fix sed file not found error

We need to look for the installed file within the sysroot we just installed
so add in the missing prefix. This avoids errors like:

Installing cross canadian packages for qemux86 ...
sed: no input files

[YOCTO #6443]

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
python3: fix builtins imports

The intent of this code is to generate things like -L=/usr/lib/foo so
for paths which start with "/" we should appent the "=". We should not do this
for ".". On some recent versions of binutils or patchsets on some recent
distros this appears to work differently and causes build failures, for example
on Ubuntu 14.04 LTS.

The simple fix is to check for "." as the path prefix.

[YOCTO #6467].

Signed-off-by: Roxana <roxana.ciobanu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
udev: Add udev rule to handle CHANGE event

When an SD card is ejected from a card reader without proper
unmounting, the kernel may generated a CHANGE event instead
of a REMOVE event if polling is enabled in:
    /sys/module/block/parameters/events_dfl_poll_msecs

Add udev rules to handle this and unmount the partitions.

Signed-off-by: Abbas Raza <Abbas_Raza@mentor.com>
Signed-off-by: Drew Moseley <drew_moseley@mentor.com>
init-install-efi.sh: improve hard drive searching process

(This patch was originally done against init-install.sh in
OE-Core rev 358f0584d779825307eec08c023b5ff14e72cf9e)

Previously, only unremovable hard drives are searched and are treated
as candidates of target disks to intall into.

However, it's possible that we're going to install the live image into
a removable media such as an USB. This patch enables this possibility.

In addition, this patch presents more information about the hard drives
so that user may have more knowledge about which hard drive they are
going to install their image into.

Signed-off-by: Drew Moseley <drew_moseley@mentor.com>
init-install-efi.sh: fix to handle the boot partition correctly

(This patch was originally done against init-install.sh in
OE-Core rev aa67b1333b4774e1845f562085f7048df65a644f)

Previously, the boot partition was created for the target hard drive
but there was no corresponding entry for it in /etc/fstab. Besides,
even if the boot partition was mounted, it would just result in odd
directory hierarchy like /boot/boot/grub. However, what we really need
is /boot/grub. This patch fixes this problem.

Besides, for future maintance work, this patch also renames some of the
intermediate directories. It uses more descriptive names like /tgt_root
and /src_root. The name of /ssd is dropped.

Signed-off-by: Drew Moseley <drew_moseley@mentor.com>
init-install-efi.sh: Verify /sys based files exist before catting them

Signed-off-by: Drew Moseley <drew_moseley@mentor.com>