lib/oe/path: Fix performance issue got copyhardlinktree()

With the directory copy was added to avoid race issues, it wasn't noticed that
tar was recursing the directories and copying files too. This is completely
crazy when we hardlink those files in the next command.

Resolve the issue by telling tar not to recurse. This gives a significant
performance boost to various parts of the system (do_package for linux-yocto
256s -> 178s for example).

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
glib-2.0: move more logic to the .inc

The .bb was getting larger with configuration being arbitarily split between .bb
and .inc.  To help adding a glib_git recipe, strip the .bb down to SRC_URI.

Also don't remove $libdir/gio as it should be owned by glib.

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
kernel: Use hardlinks for do_populate_sysroot for speed

The kernel tree is large and doesn't need to be copied. Override
the default sysroot handling function to use a hardlink copying
function in python.

This commit also drops the copying of the /lib directory which
just contains the kernel modules. We never use those in the sysroot
so there is little point in carrying those around.

For linux-yocto this takes the do_populate_sysroot time 24s -> 14s.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
kernel: Use hardlinks during do_install for speed

Whilst the comment says we can't do this, its incorrect, install operates
on WORKDIR and its hard for different parts of WORKDIR to be on different
filesystems. Hardlinking instead of copying is therefore a nice performance
gain.

Also, completely skip the Documentation directory (adding a dummy Makefile
to keep make happy) and tweak the other cp commands to link since if we
don't we'd get "this is the same file" type errors from cp for some kernel
versions.

For do_install on linux-yocto, this takes it from 227s -> 84s.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
syslinux: add APPEND to dependency list

Changing APPEND wasn't causing syslinux to re-run, so add a manual dependency.

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>