bitbake: toaster-requirements.txt: document requirements for the python environment

Since Toaster adds a number of specific requirements managed
by pip, we document these requirements in order to be able
to run bitbake and toaster under virtualenv. The target here
is to break the dependency on distro packages for specific
python libraries.

In order to start bitbake/Toaster in a distro-independent manner,
we use virtualenv and pip. We add venv to the .gitignore list
to make room for the virtualenv deployment in this directory.

Use this command sequence to setup the virtualenv:

$ virtualenv venv
$ . venv/bin/activate
$ cat toaster-requirements.txt | xargs pip install

bitbake and Toaster will then run normally under virtualenv.

We also fix bugs related to toaster starting in managed mode
through this script:
  * toaster will not use bldcontrol application in interactive mode
  * a proper message will be displayed if toaster detects a managed
start request in a build environment

(Bitbake rev: b5789c7ea7e6d1a4b67ec60fc0e4233ec543ba3a)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
bitbake: toasterui: fixing event.data clash

This patch fixes a name collision on the event.data
in the MetadataEvent class. event.data is used in the
event system as a copy of "d" in certain situations,
and this collision triggered a bug leading to data loss.

[YOCTO #6332]

(Bitbake rev: 3f191b7cfe95aea4d4e96babf001d62d45dd3aaa)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
image.bbclass/rootfs.py: add variables to rootfs[vardeps]

Added base variables and package backend specific variables to
rootfs[vardeps] in order for rootfs to rebuild when changes are made.

Set some variables as [func] to inform bitbake that they are shell
scripts, so that it invokes its shell dependency parsing. Without
marking them as functions, changes in the actual function body would
not trigger rootfs rebuilds.

[YOCTO #6502]

(From OE-Core rev: b8b6214b885a0757f0e628937f8fe21c92c45155)

Signed-off-by: Roxana Ciobanu <roxana.ciobanu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
connman: Fix PPTP VPN plugin QA issue

This error was seen when building ConnMan. Fixed by not
building ConnMan pptp plugin with module versioning info.

ERROR: QA Issue: non -dev/-dbg/-nativesdk package contains symlink .so: connman-plugin-vpn-pptp path '/work/core2-32-oe-linux/connman/1.24+gitAUTOINC+42779cd63c-r20/packages-split/connman-plugin-vpn-pptp/usr/lib/connman/scripts/libppp-plugin.so' [dev-so]
ERROR: QA run found fatal errors. Please consider fixing them.
ERROR: Function failed: do_package_qa

(From OE-Core rev: d2328d6aa52fd4f0b47ae3292ae6ae07301bf9d0)

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
mkefidisk.sh: Remove initrd entry for gummiboot

My previous patch adding gummiboot support was missing the line to
remove the initrd line from the boot config. This was an oversight in
copying over the grub setup to gummiboot. Add the necessary logic to
remove it.

(From OE-Core rev: c7355550dc21a1ef3c2e828ed5f51e94e12fac5f)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
busybox: mdev: Make /dev/shm world-writable

Otherwise, users cannot use named semaphores or shared memory.

(From OE-Core rev: a8f35be467836d8fa0bc8f8e85eba6f89a13f087)

Signed-off-by: Richard Tollerton <rich.tollerton@ni.com>
Signed-off-by: Ben Shelton <ben.shelton@ni.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
busybox: mdev: Use mdev.seq

/dev/mdev.seq exists to synchronize concurrently running instances of
mdev and to ensure that they execute in the proper order.  Without this
synchronization, it is possible to have inconsistent mount points, to
leak device nodes, or to have a node erroneously removed in rapid
hotplug scenarios.

Enable the use of mdev.seq by creating an empty /dev/mdev.seq at boot.

(From OE-Core rev: 3b256653ae9ab2cf56b21cb82a8bd2a562397b27)

Signed-off-by: Richard Tollerton <rich.tollerton@ni.com>
Signed-off-by: Ben Shelton <ben.shelton@ni.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
busybox: mdev: Ensure /dev/initctl exists after tmpfs mount

During boot, there is a brief window during which /dev/initctl is
missing, which breaks initscripts that would need to access it. This
occurs because /etc/init.d/mountall.sh (rcS.d/S02...) attempts to ensure
/dev/initctl is present, but /etc/init.d/mdev (rcS.d/S06...) mounts over
/dev and clobbers the work done by mountall, and then does not wait
synchronously until initctl is ready before continuing.

To close this window, in /etc/init.d/mdev, we check whether /dev/initctl
is present, and if not, we remove it and recreate it.  This is the same
thing that is done by /etc/init.d/mountall.sh, and we have verified that
any writers of /dev/initctl will wait synchronously until sysvinit
notices the change in fd and does the read, so no race exists.

(From OE-Core rev: 53543363a8ab4424c17ed7aec0e8aefc4df86b3d)

Signed-off-by: Richard Tollerton <rich.tollerton@ni.com>
Signed-off-by: Ben Shelton <ben.shelton@ni.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
mkefidisk.sh: Fix redirection to 1

The current script intends to redirect stderr to stdout, but instead
redirects to a file named 1. No doubt a regex replace error.

Replace all instances of 2>1 with 2>&1.

(From OE-Core rev: 1864ca9751c28cca248cfba77a3d23fc58ff43bb)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
mkefidisk.sh: Add signal handling

Add basic signal handling to unmount and remove any temporary files.
Correct a quoting issue with the die() function caught testing signal
handling.
Fix a minor typo in "formatting" output.

(From OE-Core rev: a085cdf0e2dcf6543f61a8bdf68f83bcf8006373)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
shadow: fix the behavior of su

In systems where bash is not installed and /bin/sh is provided by
busybox. Commands like `su -l -c '/home/root/test' xuser' would fail
complaining the the 'su' applet could not be found.

This patch references the old version of shadow to keep the behaviour
the way it was in old version so that we would avoid the problem mentioned
above.

(From OE-Core rev: ab0115d1b8a0cb0b25bdb14fd2a3e6c6bb9a44f8)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
systemd: change dependency relationships

When building out a systemd based image, the udev-hwdb postinstall
script always fails at rootfs time. This is because that the 'udevadm'
command used in udev-hwdb postinstall script is now in the udev
package and udev recommends udev-hwdb.

Instead of letting udev recommends udev-hwdb, we let systemd do it
and make udev-hwdb rdepend on udev.

(From OE-Core rev: f14ee284da19665f157453021e3fa0e3a0dbf75d)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
adt-installer: fix sed input file error

When use default install directory, we can't get the environment setup
script path. The reason is that opkg-cl list incorrect files paths.
This patch sets env_script variable to make us get correct environment
setup script path.

[YOCTO #6443]

(From OE-Core rev: e0080f279d5ebb320c2ba285765048fcca523fe7)

Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
gst-plugins-good: fix integer overrun for mulawdec

There might be more than 65535 samples in a chunk of data, so use
32 bit integer instead of 16 bit.

(From OE-Core rev: 60de6e5d9d3dec482256ea4db8837204ca3ba628)

Signed-off-by: Wang Zidan <b50113@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
gstreamer: fix a bug for gstbaseparse

self-comparison will always evaluates to true.

(From OE-Core rev: ecd6764843f1bb3a8eeb8580db9e22231ec3c94d)

Signed-off-by: Wang Zidan <b50113@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
gstreamer1.0-libav: avoid using non-growable pool for videodec

Using growable pool with at least 32 buffers for decoders.

(From OE-Core rev: 81ae7794ddbc7e2d97118092e0613249793214ef)

Signed-off-by: Wang Zidan <b50113@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
gstreamer1.0: pass rate of input segment to output segment in gstbaseparse.

(From OE-Core rev: e25c5b228178f13b2f9e25b5bd423d5ef7b40765)

Signed-off-by: Wang Zidan <b50113@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
gstreamer1.0-plugins-base: do not change eos event to gap event if no data has passed to streamsynchronizer.

(From OE-Core rev: 8b85075e592e867e7ffba919b10fca150f6a62b0)

Signed-off-by: Wang Zidan <b50113@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
gstreamer1.0-plugins-base: get caps from src pad when query caps in gsttagdemux

(From OE-Core rev: b9a2aacfc0343d522cce9183dae15f1ae042b36d)

Signed-off-by: Wang Zidan <b50113@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
kernel-module-split.bbclass: Allow autoloading multiple modules or modules where basename != module name

* new KERNEL_MODULE_AUTOLOAD syntax doesn't support modules where basename and
  module name don't match (usually - and _), e.g.:

  module_autoload_bq27x00_battery = "bq27x00-battery"

* sometimes it's useful to load modules in particular order and
  module_autoload allowed to just list multiple modules, e.g.:

  module_autoload_snd-soc-neo1973-wm8753 = "snd-soc-s3c24xx snd_soc_s3c24xx_i2s snd-soc-dfbmcs320 snd-soc-wm8753 snd-soc-neo1973-wm8753"
  or
  module_autoload_g_ether = "s3c2410_udc g_ether"

  restore this possibility which is useful for incorrect dependencies
  between modules

(From OE-Core rev: e9cd8ba3dda624615b68c601eac04427d9483f14)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>