linux-firmware: Drop allarch

* the recipe itself is allarch, but update-alternatives adds dependency on
  virtual/${MLPREFIX}update-alternatives which can be TUNE_PKGARCH opkg
  causing linux-firmware signature to be different for different TUNE_PKGARCHs
  Hash for dependent task opkg_svn.bb.do_populate_sysroot changed from 8d215059308161841a84542dd1dcbf3a to 80b280c741c392cf5b30dd67b61dd56e

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
ppp-dialin: Drop allarch

* depends on some TUNE_PKGARCH recipes:
  base-passwd, ppp_, shadow-sysroot, shadow

  Hash for dependent task base-passwd_3.5.26.bb.do_populate_sysroot changed from ff08f0198f5424a21ccb61957325ffdf to d9d962e2d8c0d591b916ed68aa826efe
  Hash for dependent task ppp_2.4.5.bb.do_populate_sysroot changed from 515251fb9d5196733f9b6ca0f6cc041b to 5cfb0b7b71f4440c3147da52c22234cc
  Hash for dependent task shadow-sysroot_4.1.4.3.bb.do_populate_sysroot changed from 3e5bddc578887636c1809e4cdf28c1c2 to 8f03231a1d4bb1aea6c4adce1febc1b4
  Hash for dependent task shadow_4.1.4.3.bb.do_populate_sysroot changed from 518f7edcba3545e5c60c3a13cef23169 to 7dbf1646de02a117bf0d573276b878c0

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
resolvconf: Drop allarch

* has runtime dependency on TUNE_PKGARCH bash
  Hash for dependent task bash_4.2.bb.do_packagedata changed from d6eafb155c37bc2da7327492afa449fb to 0ae080aaa92025af690cf16ef0cd2b7e

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
initramfs-framework: Drop allarch

* depends on TUNE_PKGARCH busybox and udev
  Hash for dependent task busybox_1.20.2.bb.do_packagedata changed from b814437371de0c3253bdd3610c051f30 to 7dd9c851d5f7c675dd65cc7872c30743
  Hash for dependent task udev_182.bb.do_packagedata changed from 1034300ce0e27d444e0e7d9e2a239605 to c13031b26b2a86dcf9bcce33b7823477

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
DO-NOT-MERGE: distutils3.bbclass: Don't use MACHINE variable

The original patch says this about MACHINE variables:

    Use MACHINE for sysroot when not building for build host

    Python's machinery replaces directories in sysroot path to match OE's
    staging area sysroots. Earlier we use to have HOST_SYS represent sysroot
    always but now we use MACHINE to represent target sysroots but HOST_SYS
    to represent host sysroot. This patch caters to that difference

But I think we need to find some different solution, because right now the only
user of distutils3 bbclass python3-distribute becames effectivelly MACHINE_ARCH
because of this. Detected with sstate-diff-machines.sh script:

 == Comparing signatures for python3-distribute.do_populate_sysroot.sigdata between qemux86 and qemux86copy ==
  Hash for dependent task python3-distribute_0.6.32.bb.do_install changed from ef2f64ea6aecf1f9c2c6a0f201c52f67 to 7afd17fd366b28cf4a0353c7dd5e1c5b

  $ bitbake-diffsigs sstate-diff/1403174194/qemux86*/i586*/python3-distribute*/*do_install*
    basehash changed from 5311d29c25ff324645de9c17cdefe083 to 2f079b81b13427faddeb040e7a115965
    Variable MACHINE value changed from 'qemux86copy' to 'qemux86'
    Hash for dependent task python3-distribute_0.6.32.bb.do_compile changed from 4fcb29eb2a0df7bef2f9806a0d9cdd92 to e7df3cdd7b82733d69c87f1822b7177b

  $ bitbake-diffsigs sstate-diff/1403174194/qemux86*/i586*/python3-distribute*/*do_compile*
    basehash changed from 870a9e01c2c4eb73dd57451eeb2a7f0c to c061ae11d7f16d74d49f667243a21be0
    Variable MACHINE value changed from 'qemux86copy' to 'qemux86'

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
usbinit, weston-init, run-postinsts, qt-demo-init: Drop allarch

* update-rc.d.bbclass now adds dependency on TUNE_PKGARCH initscripts, so these cannot be allarch

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
update-rc.d: Allow to use different initscripts provider

* until now all recipes were respecting VIRTUAL-RUNTIME_initscripts
  variable but commit bba835fed88c3bd5bb5bd58962034aef57c408d8
  hardcoded "initscripts" runtime dependency

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
package.bbclass: add SHLIBSSEARCHDIRS to define where to search for shlib providers

* when package contains some files matching "^.*\.so", but in directory
  not default linker search paths (e.g. /opt/package/bundled-lib/libfoo.so)
  don't register it as libfoo provider, because it's possible that there
  is different package providing libfoo.so in ${libdir} and that would
  be better shlib provider for other packages to depend on
* recipes providing libs intentionally in some other directory can
  define own SHLIBSSEARCHDIRS value

[YOCTO #4628]

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
qemux86: Add identical qemux86copy variant for tests

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
report-error: Allow to upload reports automatically

* useful when distro wants to collect build statistics from
  all users/developers without any manual interaction from them

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
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>
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>