summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/ovmf/ovmf_git.bb
diff options
context:
space:
mode:
authorRicardo Neri <ricardo.neri-calderon@linux.intel.com>2019-07-29 19:59:15 -0400
committerRichard Purdie <richard.purdie@linuxfoundation.org>2019-08-12 16:23:57 +0100
commitbc59000e77b08d50d5dca3f38f8e52c9b6796304 (patch)
treef112b334077ea81ba20b6c2b295dbbff4891c613 /meta/recipes-core/ovmf/ovmf_git.bb
parentb2dd0b1c7c75522f9bef63160d921585c2e4300b (diff)
downloadopenembedded-core-contrib-bc59000e77b08d50d5dca3f38f8e52c9b6796304.tar.gz
ovmf: Update to version edk2-stable201905
Fixes [YOCTO #13438] Update OVMF to edk2-stable201905. Since the last update, several things have changed. Many of the patches we were carrying have now been taken upstream in EDK2 or become obsolete. See below for details. Also, as of commit 0c1ffb9504c3("CryptoPkg: Adding OpenSSL as one submodule of EDKII repo"), openssl is not embedded into EDK2 using a patching script but a git submodule. Then, use the gitsm bitbabke fetcher and drop the extra SRC_URI from openssl when building with secureboot enabled. Also remove all related variables. OVMF switched to BSD+Patent license as detailed in https://bugzilla.tianocore.org/show_bug.cgi?id=1373. Hence, update LIC_FILES_CHKSUM accordingly to reflect this change. Patches are updated as follows: Drop 0001-ia32-Dont-use-pie.patch as it is implemented in upstream EDK2 in commits are 11d0cd23dd1b ("BaseTools/tools_def IA32: drop -no-pie linker option for GCC49" and c25d3905523a ("BaseTools/tools_def IA32: disable PIE code generation explicitly") for the applicable GCC versions. Rebase 0003-BaseTools-makefile-adjust-to-build-in-under-bitbake.patch to edk2-stable201905. Drop VfrCompile-increase-path-length-limit.patch as it has been taken upstream in EDK2 in commit ba78032bc8c9f("BaseTools/VfrCompile: Remove the MAX_PATH limitation"). Rebase no-stack-protector-all-archs.patch to keep behavior on not using stack protector on all archs. Drop 0001-BaseTools-header.makefile-add-Wno-stringop-truncatio.patch, 0002-BaseTools-header.makefile-add-Wno-restrict.patch, and 0003-BaseTools-header.makefile-revert-gcc-8-Wno-xxx-optio.patch. These patches have been taken in upstream EDK2 in commits 9222154ae7b3("BaseTools /header.makefile: add "-Wno-restrict"), 1d212a83df0e("BaseTools/ header.makefile: add "-Wno-stringop-truncation"), and 777f4aa083e9 ("BaseTools/header.makefile: revert gcc-8 '-Wno-xxx' options on OSX"), respectively. Also, drop 0004-BaseTools-GenVtf-silence-false-stringop-overflow-war.patch. GenVtf has been removed from EDK2 in commit 64ab2c82e8f6("BaseTools: Remove GenVtf"). Also, this patch had been taken in EDK2 upstream in commit 9de306701312("BaseTools/GenVtf: silence false 'stringop-overflow' warning with memcpy()"). Drop patch 0007-OvmfPkg-EnrollDefaultKeys-application-for-enrolling-.patch as it also has been taken by EDK2. Patches 0002-ovmf-update-path-to-native-BaseTools.patch and 0004-ovmf-enable-long-path-file.patch did not need any update. Lastly, add a needed dependency on bc. Cc: Ross Burton <ross.burton@intel.com> Cc: Patrick Ohly <patrick.ohly@intel.com> (From OE-Core rev: 1f64ecf92fa77b682b18efe72fb6b27ff64ee052) Signed-off-by: Ricardo Neri <ricardo.neri-calderon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-core/ovmf/ovmf_git.bb')
-rw-r--r--meta/recipes-core/ovmf/ovmf_git.bb28
1 files changed, 5 insertions, 23 deletions
diff --git a/meta/recipes-core/ovmf/ovmf_git.bb b/meta/recipes-core/ovmf/ovmf_git.bb
index 71828d8d8d..11793f0d1a 100644
--- a/meta/recipes-core/ovmf/ovmf_git.bb
+++ b/meta/recipes-core/ovmf/ovmf_git.bb
@@ -4,7 +4,7 @@ Virtual Machines. OVMF contains sample UEFI firmware for QEMU and KVM"
HOMEPAGE = "https://github.com/tianocore/tianocore.github.io/wiki/OVMF"
LICENSE = "BSD"
LICENSE_class-target = "${@bb.utils.contains('PACKAGECONFIG', 'secureboot', 'BSD & OpenSSL', 'BSD', d)}"
-LIC_FILES_CHKSUM = "file://OvmfPkg/License.txt;md5=343dc88e82ff33d042074f62050c3496"
+LIC_FILES_CHKSUM = "file://OvmfPkg/License.txt;md5=06357ddc23f46577c2aeaeaf7b776d65"
# Enabling Secure Boot adds a dependency on OpenSSL and implies
# compiling OVMF twice, so it is disabled by default. Distros
@@ -12,30 +12,15 @@ LIC_FILES_CHKSUM = "file://OvmfPkg/License.txt;md5=343dc88e82ff33d042074f62050c3
PACKAGECONFIG ??= ""
PACKAGECONFIG[secureboot] = ",,,"
-SRC_URI = "git://github.com/tianocore/edk2.git;branch=master \
- file://0001-ia32-Dont-use-pie.patch \
+SRC_URI = "gitsm://github.com/tianocore/edk2.git;branch=master;protocol=git \
file://0002-ovmf-update-path-to-native-BaseTools.patch \
file://0003-BaseTools-makefile-adjust-to-build-in-under-bitbake.patch \
file://0004-ovmf-enable-long-path-file.patch \
- file://VfrCompile-increase-path-length-limit.patch \
file://no-stack-protector-all-archs.patch \
- file://0001-BaseTools-header.makefile-add-Wno-stringop-truncatio.patch \
- file://0002-BaseTools-header.makefile-add-Wno-restrict.patch \
- file://0003-BaseTools-header.makefile-revert-gcc-8-Wno-xxx-optio.patch \
- file://0004-BaseTools-GenVtf-silence-false-stringop-overflow-war.patch \
"
UPSTREAM_VERSION_UNKNOWN = "1"
-OPENSSL_RELEASE = "openssl-1.1.0e"
-
-SRC_URI_append_class-target = " \
- ${@bb.utils.contains('PACKAGECONFIG', 'secureboot', 'http://www.openssl.org/source/${OPENSSL_RELEASE}.tar.gz;name=openssl;subdir=${S}/CryptoPkg/Library/OpensslLib', '', d)} \
- file://0007-OvmfPkg-EnrollDefaultKeys-application-for-enrolling-.patch \
-"
-
-SRCREV="ec4910cd3336565fdb61dafdd9ec4ae7a6160ba3"
-SRC_URI[openssl.md5sum] = "51c42d152122e474754aea96f66928c6"
-SRC_URI[openssl.sha256sum] = "57be8618979d80c910728cfc99369bf97b2a1abd8f366ab6ebdee8975ad3874c"
+SRCREV="20d2e5a125e34fc8501026613a71549b2a1a3e54"
inherit deploy
@@ -44,7 +29,7 @@ PARALLEL_MAKE = ""
S = "${WORKDIR}/git"
DEPENDS_class-native="util-linux-native iasl-native"
-DEPENDS_class-target="ovmf-native"
+DEPENDS_class-target="ovmf-native bc-native"
DEPENDS_append = " nasm-native"
@@ -191,12 +176,9 @@ do_compile_class-target() {
ln ${build_dir}/${OVMF_ARCH}/Shell.efi ${WORKDIR}/ovmf/
if ${@bb.utils.contains('PACKAGECONFIG', 'secureboot', 'true', 'false', d)}; then
- # See CryptoPkg/Library/OpensslLib/Patch-HOWTO.txt and
- # https://src.fedoraproject.org/cgit/rpms/edk2.git/tree/ for
- # building with Secure Boot enabled.
+ # Repeat build with the Secure Boot flags.
bbnote "Building with Secure Boot."
rm -rf ${S}/Build/Ovmf$OVMF_DIR_SUFFIX
- ln -sf ${OPENSSL_RELEASE} ${S}/CryptoPkg/Library/OpensslLib/openssl
${S}/OvmfPkg/build.sh $PARALLEL_JOBS -a $OVMF_ARCH -b RELEASE -t ${FIXED_GCCVER} ${OVMF_SECURE_BOOT_FLAGS}
ln ${build_dir}/FV/OVMF.fd ${WORKDIR}/ovmf/ovmf.secboot.fd
ln ${build_dir}/FV/OVMF_CODE.fd ${WORKDIR}/ovmf/ovmf.secboot.code.fd