gnu-efi: fix the LIBDIR

Its LIBDIR in Makefile is:

LIBDIR = $(PREFIX)/lib

This is incorrect for 64 bit bsp, thus will cause build failures on gummiboot:

ld: cannot open linker script file /path/to/usr/lib64/elf_x86_64_efi.lds: No such file or directory

[YOCTO #6053]

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
gummiboot: add COMPATIBLE_HOST

The gummiboot depends on gnu-efi which had set:

COMPATIBLE_HOST = "(x86_64.*|i.86.*)-linux"

We also need set this for gummiboot, otherwise there would be build
failures for other non-x86 archs.

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
gummiboot: use objcopy from the env

Fix the error:
[snip]
| nm -D -u src/efi/gummiboot.so | grep ' U ' && exit 1 || :
| objcopy -j .text -j .sdata -j .data -j .dynamic \
|   -j .dynsym -j .rel -j .rela -j .reloc -j .eh_frame \
|   --target=efi-app-x86_64 src/efi/gummiboot.so gummibootx64.efi
| objcopy: src/efi/gummiboot.so: Invalid bfd target
| make[1]: *** [gummibootx64.efi] Error 1
| make[1]: *** Waiting for unfinished jobs....
| make: *** [all] Error 2
[snip]

It uses the "objcopy" directly, which is not suitable for cross compile.

[YOCTO #6054]

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
gummiboot: fix the installed but not shipped warning

Fix the warning:
WARNING: QA Issue: gummiboot: Files/directories were installed but not shipped
  /usr/lib
  /usr/lib/gummiboot
  /usr/lib/gummiboot/gummibootx64.efi

This is because it uses "/usr/lib" in gummibootlibdir, use ${libdir} to
fix it.

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
build-appliance-image: update to head ae938eba92b2c89a9fd91161e57c5dbc594ad4ad

Build Appliance includes a more recent version
of poky, up to commit:
ae938eba92b2c89a9fd91161e57c5dbc594ad4ad.

Adds bitbake fixes/optimizations;

Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
run-postinsts: fix issue with checking IMAGE_FEATURES

The old implementation was wrong. It was not very generic and it checked
IMAGE_FEATURES while building the recipe, which led to various issues
with the generation of the final script. That is, the run-postinsts
script was generated once, while building the package for the first
time. Hence, any other changes to IMAGE_FEATURES, like removing/adding
'package-management' did not reflect in the final script.

This commit makes run-postinsts script autodetect the backend used for
creating the image, making it generic.

[YOCTO #5666]
[YOCTO #5972]

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
cryptodev-linux: add recipe

Yocto kernel linux-yocto uses cryptodev-linux to use device /dev/crypto.
So add cryptodev-linux which is one alternative of ocf-linux and then
remove ocf-linux later.

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
openssl: replace dependency ocf-linux with cryptodev-linux

ocf-linux only provides header files but no implementation in kernel.
And Yocto kernel linux-yocto use cryptodev-linux to implement
/dev/crypto interface. So replace dependency ocf-linux with
cryptodev-linux for openssl.

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
ocf-linux: remove recipe

ocf-linux only provides header file and no kernel module is built. We
can't use ocf-linux without its implementation. And linux-yocto uses an
alternative project cryptodev-linux, so we remove ocf-linux and use
cryptodev-linux instead.

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>