valgrind: integration of regression tests to ptest

Modifies valgrind's regression test framework to be compatible
with the yocto PTEST framework as follows:
 * existing recipe valgrind*bb adds new methods: do_compile_ptest and
   do_install_ptest.
 * new file run-ptest adds the wrapper interface to the valgrind
   regression test script vg_regtest.
 * existing valgrind regression test script 'vg_regtest' changes
   to report the status of the valgrind component tests in the
   format that PTEST expects, instead of the valgrind formats, but only
   when vg_regtest is invoked with an optional --yocto-ptest argument
 * four new patches disable building tests that don't compile with
   the yocto compiler and default options. See the patches for details.

Signed-off-by: Dave Lerner <dave.lerner@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
uclibc: Add new functionality needed for systemd 209

implement eventfd_read and eventfd_write and setns

Define F_SETPIPE_SZ and F_GETPIPE_SZ

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
update-rc.d.bbclass: fix inhibit check

In update-rc.d.bbclass it checks variable INHIBIT_UPDATERCD_BBCLASS to
inhibit from inheriting this class. But it is wrong logic that when
'sysvinit' is in 'DISTRO_FEATURES', INHIBIT_UPDATERCD_BBCLASS will not
be checked.

Replace 'or' with 'and' to fix it.

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
openssh: enable PAM at runtime based on DISTRO_FEATURES

Everything is setup to use PAM except for the server config. If 'pam' is
in DISTRO_FEATURES the configs will be changed to enable it.

Syslog will now show:

	Feb 19 09:28:36 beast sshd[2980]: pam_unix(sshd:session): session opened for user koen by (uid=0)

And more importantly:

	koen@beast:~$ loginctl
	   SESSION        UID USER             SEAT
	        c1       1000 koen             seat0
	        c3       1000 koen             seat0
	       c13       1000 koen

	3 sessions listed.

Systemd now registers the session properly so it won't kill things like 'screen'
and 'tmux' when disconnecting the ssh session.

Signed-off-by: Koen Kooi <koen.kooi@linaro.org>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
git: update to 1.9.0 release

Signed-off-by: Fathi Boudra <fathi.boudra@linaro.org>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
gtk+3: upgrade to 3.10.7

(*) removed patches that were already
    commited upstream
(*) added new patch to solve the build issue
(*) changed the package URL because
    the old one is unreliable.

Signed-off-by: Valentin Popa <valentin.popa@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
insserv: enable ptest support

Install insserv test suite and run it as ptest.

Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
runqemu: Ensure ROOTFS path is absolute

There is a problem if a relative path is passed to the kernel for NFS usage
that it will not correctly find it, so ensure that the ROOTFS path is absolute.

[YOCTO #2807]

Signed-off-by: Saul Wold <sgw@linux.intel.com>
libglade: don't use gnome.bbclass

gnome.bbclass pulls in more functionality than this recipe needs (icon cache,
MIME, GConf), so instead just use gnomebase.bbclass.

[ YOCTO #5842 ]

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
psmisc: Update to 22.21

Signed-off-by: Saul Wold <sgw@linux.intel.com>
manifest.py: add create_full for OpkgManifest class

The function create_full creates the manifest after the package in
initial manifest has been dummy installed. It lists all *to be
installed* packages. There is no real installation, just a test.

[YOCTO #1894]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
package_manager.py: support ipk incremental image generation

Add the following three functions to OpkgPM class:
- The 'dummy_install' is used to dummy install pkgs, and returns the log
  of output;
- The 'backup_packaging_data' is used to back up the current opkg
  database;
- The 'recover_packaging_data' is used to recover the opkg database
  which backed up by the previous image creation;

Tweak 'remove' function in OpkgPM class, which the options for remove
with dependencies was incorrect.

Tweak 'handle_bad_recommendations' function in OpkgPM class:
- Fix none value check;
- Add the existance check of opkg status file;

[YOCTO #1894]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
rootfs.py: support ipk incremental image generation

The incremental image generation is based on the previous existing
image, adds new packages, upgrades existing packages, and removes unused
packages.

[YOCTO #1894]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
rootfs.py: support BAD_RECOMMENDATIONS for ipk incremental image generation

While incremental image generation enabled and the previous image is
existed, if BAD_RECOMMENDATIONS is changed, the operation on the
existing image is complicated, so remove the old image in this situation.

The same with PACKAGE_EXCLUDE and NO_RECOMMENDATIONS.

[YOCTO #1894]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
rootfs.py: tweak _multilib_sanity_test for ipk incremental image generation

The _multilib_sanity_test installs multilib packages in a temporary
root fs, and compare with the current image to figure out duplicated
files that come from different packages.

While incremental image generation enabled and the previous image
was existed, there was an Multilib check error:
...
ERROR: Multilib check error: duplicate files tmp/work/qemux86_64-poky-
linux/core-image-minimal/1.0-r0/multilib/lib32/lib/libc.so.6 tmp/work/
qemux86_64-poky-linux/core-image-minimal/1.0-r0/rootfs/lib/libc.so.6
is not the same
...

The reason is the file in the existing image has been prelinked by
previous image generation and the file in a temporary root fs is not
prelinked, even though both of them came from the same package, the
Multilib check failed.

[YOCTO #1894]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
manifest.py: remove redundant import line

The import oe.package_manager line is redundant, let's remove it.

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
image_types.bbclass: fix cpio IMAGE_CMD to preserve working directory

The working directory is changed in a subshell when executing cpio to
preserve the working directory for any subsequent commands. This is to
keep the working directory consistent when generating multiple image
types.

Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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>
WIP: Add KERNEL_EXTRA_ARGS?