autotools: Limit aclocal files to those in dependencies

We still occasionally see race issues with cp-noerror, and it copies
too many files, we should limit the the m4 files to those explicitly in
the DEPENDS for the recipe.

This change takes advantage of the BB_TASKDEPDATA data from bitbake to
only copy in those files listed in the manifest of the recipes in DEPENDS.

I've had this testing locally for some time, its ready for wider
review/testing.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
oprofile: Partially fix separate builddir support

It doesn't make separate build completely work but its worth
merging as one step in the right direction.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
bitbake.conf: Drop -fpermissive

Drop the -fpermissive C++ compiler flag. We've had this around for years, most
code should have been fixed long ago. Its possible some recipes may fail
however we can (and should) just use the flag where needed.

An OE-Core world build seems to work just fine with this change.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
bitbake.conf/base.bbclass: Drop PRINC support

PRINC is no longer needed since we have the PR service instead
which people should be using. Drop the PRINC code.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
acpica: Add recipe for latest version

This is now used by multiple architectures and is useful when working
with firmware. I'd love to see more BSPs shipping working firmware
builds and this should bring us a step closer to that.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
autotools: Enable separate builddir by default

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
sstate-cache-management: improve shown numbers of removed files

* deleted files were counting .siginfo and .done files, but total_files were counting only .tgz archives
  so it could show confusing output like:
  Figuring out the sstate:xxx_packagedata.tgz ... (21098 from 15162 files for packagedata suffix will be removed)
* split the counts and show both
* fix .sigdata sometimes used instead of .siginfo
* this will also show new "suffixes" which have only .siginfo files but
  no .tgz, e.g.:
  Figuring out the sstate:xxx_rm_work.tgz ... (0 from 0 .tgz files for
  rm_work suffix will be removed or 0 from 107630 when counting also
  .siginfo and .done files)
  because now we're storing siginfo files from all intermediate tasks,
  but they are not being removed by this script

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
sstate-cache-management.sh: Allow to remove old .siginfo and .done files for all tasks

* this allows to remove them even for tasks without sstate archives (e.g. rm_work, multilib_install, ..)
  whole list of tasks found in one of my sstate-cache directories:
  sstate:xxx_boostconfig.tgz ... 6
  sstate:xxx_bundle_initramfs.tgz ... 31
  sstate:xxx_compile.tgz ... 47894
  sstate:xxx_compile_kernelmodules.tgz ... 31
  sstate:xxx_compile_ptest_base.tgz ... 68
  sstate:xxx_configure.tgz ... 48247
  sstate:xxx_configure_ptest_base.tgz ... 68
  sstate:xxx_deploy.tgz ... 8
  sstate:xxx_evacuate_scripts.tgz ... 58
  sstate:xxx_fetch.tgz ... 7045
  sstate:xxx_generate.tgz ... 812
  sstate:xxx_generate_qt_config_file.tgz ... 576
  sstate:xxx_generate_toolchain_file.tgz ... 219
  sstate:xxx_install.tgz ... 48273
  sstate:xxx_install_locale.tgz ... 58
  sstate:xxx_install_ptest_base.tgz ... 68
  sstate:xxx_kernel_checkout.tgz ... 14
  sstate:xxx_kernel_configcheck.tgz ... 34
  sstate:xxx_kernel_configme.tgz ... 17
  sstate:xxx_kernel_link_vmlinux.tgz ... 30
  sstate:xxx_make_scripts.tgz ... 42
  sstate:xxx_multilib_install.tgz ... 29
  sstate:xxx_package.tgz ... 13848
  sstate:xxx_package_write_ipk.tgz ... 4615
  sstate:xxx_packagedata.tgz ... 4613
  sstate:xxx_pam_sanity.tgz ... 3
  sstate:xxx_patch.tgz ... 7883
  sstate:xxx_populate_adt.tgz ... 28
  sstate:xxx_populate_ide_support.tgz ... 33
  sstate:xxx_populate_lic.tgz ... 1718
  sstate:xxx_populate_sysroot.tgz ... 5094
  sstate:xxx_prepare_qmake_symlink.tgz ... 6
  sstate:xxx_prepsources.tgz ... 168
  sstate:xxx_rm_work.tgz ... 107630
  sstate:xxx_rm_work_all.tgz ... 52563
  sstate:xxx_rootfs.tgz ... 13
  sstate:xxx_sanitize_sources.tgz ... 8
  sstate:xxx_sizecheck.tgz ... 31
  sstate:xxx_strip.tgz ... 31
  sstate:xxx_uboot_mkimage.tgz ... 31
  sstate:xxx_unpack.tgz ... 7857
  sstate:xxx_unpack_extra.tgz ... 6
  sstate:xxx_validate_branches.tgz ... 14

* with this patches most of these files are removed as well
  Figuring out the sstate:xxx_compile ... (0 from 0 .tgz files for
  compile suffix will be removed or 42310 from 47795 when counting also
  .siginfo and .done files)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
sstate-cache-management.sh: Don't use echo -n

* when debug is enabled it causes more confusion than what it's gaining
  without debug enabled

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
testimage: add task level lock

For machines other than qemu it will not be okay to run
multiple testimage tasks in parallel.

Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
image.bbclass: add BAD_RECOMMENDATIONS/NO_RECOMMENDATIONS rootfs vardeps

Changes to BAD_RECOMMENDATIONS or NO_RECOMMENDATIONS require the rootfs
for the image to be rebuilt.

[YOCTO #5898]

Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
sstate: Ensure SSTATEPOSTINSTFUNCS is accounted for in signatures

Bitbake can't interpret the python execution of these functions so
include the dependency manually.

[YOCTO #4507]

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
gstreamer: Fix valgrind header detection

--disable-valgrind isn't enough, it also looks for the header since the binary
may be present without the -dev headers. Add in a configure value to
ensure the header is disabled as well.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
alsa-tools/autotools: Ensure that aclocal files can be present with AUTOTOOLS_COPYACLOCAL variable

Introduce a AUTOTOOLS_COPYACLOCAL variable which forces the copy of the aclocal
files even when a configure.ac/.in file isn't present.

Use this new feature in alsa-tools.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
bzip: Add extra files as a specific task

This means that do_configure prefunc code can see the files in question
and ensures aclocal files get copied in.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
openjade: Fix configure assumptions about file moves

This means that do_configure prefunc code can see the files in question
and ensures aclocal files get copied in.

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