Date: Tuesday, April 21, 2020 @ 15:48:16 Author: dvzrv Revision: 380686
archrelease: copy trunk to testing-any Added: edk2/repos/testing-any/50-edk2-ovmf-i386-secure.json (from rev 380685, edk2/trunk/50-edk2-ovmf-i386-secure.json) edk2/repos/testing-any/50-edk2-ovmf-x86_64-secure.json (from rev 380685, edk2/trunk/50-edk2-ovmf-x86_64-secure.json) edk2/repos/testing-any/60-edk2-ovmf-i386.json (from rev 380685, edk2/trunk/60-edk2-ovmf-i386.json) edk2/repos/testing-any/60-edk2-ovmf-x86_64.json (from rev 380685, edk2/trunk/60-edk2-ovmf-x86_64.json) edk2/repos/testing-any/PKGBUILD (from rev 380685, edk2/trunk/PKGBUILD) edk2/repos/testing-any/edk2-ovmf.install (from rev 380685, edk2/trunk/edk2-ovmf.install) edk2/repos/testing-any/edk2-shell.install (from rev 380685, edk2/trunk/edk2-shell.install) Deleted: edk2/repos/testing-any/50-edk2-ovmf-i386-secure.json edk2/repos/testing-any/50-edk2-ovmf-x86_64-secure.json edk2/repos/testing-any/60-edk2-ovmf-i386.json edk2/repos/testing-any/60-edk2-ovmf-x86_64.json edk2/repos/testing-any/PKGBUILD ---------------------------------+ 50-edk2-ovmf-i386-secure.json | 68 +++---- 50-edk2-ovmf-x86_64-secure.json | 70 +++---- 60-edk2-ovmf-i386.json | 66 +++---- 60-edk2-ovmf-x86_64.json | 68 +++---- PKGBUILD | 354 +++++++++++++++++++------------------- edk2-ovmf.install | 5 edk2-shell.install | 1 7 files changed, 323 insertions(+), 309 deletions(-) Deleted: 50-edk2-ovmf-i386-secure.json =================================================================== --- 50-edk2-ovmf-i386-secure.json 2020-04-21 15:48:02 UTC (rev 380685) +++ 50-edk2-ovmf-i386-secure.json 2020-04-21 15:48:16 UTC (rev 380686) @@ -1,34 +0,0 @@ -{ - "description": "UEFI firmware for i386, with Secure Boot and SMM", - "interface-types": [ - "uefi" - ], - "mapping": { - "device": "flash", - "executable": { - "filename": "/usr/share/edk2-ovmf/ia32/OVMF_CODE.secboot.fd", - "format": "raw" - }, - "nvram-template": { - "filename": "/usr/share/edk2-ovmf/ia32/OVMF_VARS.fd", - "format": "raw" - } - }, - "targets": [ - { - "architecture": "i386", - "machines": [ - "pc-q35-*" - ] - } - ], - "features": [ - "acpi-s3", - "requires-smm", - "secure-boot", - "verbose-dynamic" - ], - "tags": [ - - ] -} Copied: edk2/repos/testing-any/50-edk2-ovmf-i386-secure.json (from rev 380685, edk2/trunk/50-edk2-ovmf-i386-secure.json) =================================================================== --- 50-edk2-ovmf-i386-secure.json (rev 0) +++ 50-edk2-ovmf-i386-secure.json 2020-04-21 15:48:16 UTC (rev 380686) @@ -0,0 +1,34 @@ +{ + "description": "UEFI firmware for i386, with Secure Boot and SMM", + "interface-types": [ + "uefi" + ], + "mapping": { + "device": "flash", + "executable": { + "filename": "/usr/share/edk2-ovmf/ia32/OVMF_CODE.secboot.fd", + "format": "raw" + }, + "nvram-template": { + "filename": "/usr/share/edk2-ovmf/ia32/OVMF_VARS.fd", + "format": "raw" + } + }, + "targets": [ + { + "architecture": "i386", + "machines": [ + "pc-q35-*" + ] + } + ], + "features": [ + "acpi-s3", + "requires-smm", + "secure-boot", + "verbose-dynamic" + ], + "tags": [ + + ] +} Deleted: 50-edk2-ovmf-x86_64-secure.json =================================================================== --- 50-edk2-ovmf-x86_64-secure.json 2020-04-21 15:48:02 UTC (rev 380685) +++ 50-edk2-ovmf-x86_64-secure.json 2020-04-21 15:48:16 UTC (rev 380686) @@ -1,35 +0,0 @@ -{ - "description": "UEFI firmware for x86_64, with Secure Boot and SMM", - "interface-types": [ - "uefi" - ], - "mapping": { - "device": "flash", - "executable": { - "filename": "/usr/share/edk2-ovmf/x64/OVMF_CODE.secboot.fd", - "format": "raw" - }, - "nvram-template": { - "filename": "/usr/share/edk2-ovmf/x64/OVMF_VARS.fd", - "format": "raw" - } - }, - "targets": [ - { - "architecture": "x86_64", - "machines": [ - "pc-q35-*" - ] - } - ], - "features": [ - "acpi-s3", - "amd-sev", - "requires-smm", - "secure-boot", - "verbose-dynamic" - ], - "tags": [ - - ] -} Copied: edk2/repos/testing-any/50-edk2-ovmf-x86_64-secure.json (from rev 380685, edk2/trunk/50-edk2-ovmf-x86_64-secure.json) =================================================================== --- 50-edk2-ovmf-x86_64-secure.json (rev 0) +++ 50-edk2-ovmf-x86_64-secure.json 2020-04-21 15:48:16 UTC (rev 380686) @@ -0,0 +1,35 @@ +{ + "description": "UEFI firmware for x86_64, with Secure Boot and SMM", + "interface-types": [ + "uefi" + ], + "mapping": { + "device": "flash", + "executable": { + "filename": "/usr/share/edk2-ovmf/x64/OVMF_CODE.secboot.fd", + "format": "raw" + }, + "nvram-template": { + "filename": "/usr/share/edk2-ovmf/x64/OVMF_VARS.fd", + "format": "raw" + } + }, + "targets": [ + { + "architecture": "x86_64", + "machines": [ + "pc-q35-*" + ] + } + ], + "features": [ + "acpi-s3", + "amd-sev", + "requires-smm", + "secure-boot", + "verbose-dynamic" + ], + "tags": [ + + ] +} Deleted: 60-edk2-ovmf-i386.json =================================================================== --- 60-edk2-ovmf-i386.json 2020-04-21 15:48:02 UTC (rev 380685) +++ 60-edk2-ovmf-i386.json 2020-04-21 15:48:16 UTC (rev 380686) @@ -1,33 +0,0 @@ -{ - "description": "UEFI firmware for i386", - "interface-types": [ - "uefi" - ], - "mapping": { - "device": "flash", - "executable": { - "filename": "/usr/share/edk2-ovmf/ia32/OVMF_CODE.fd", - "format": "raw" - }, - "nvram-template": { - "filename": "/usr/share/edk2-ovmf/ia32/OVMF_VARS.fd", - "format": "raw" - } - }, - "targets": [ - { - "architecture": "i386", - "machines": [ - "pc-i440fx-*", - "pc-q35-*" - ] - } - ], - "features": [ - "acpi-s3", - "verbose-dynamic" - ], - "tags": [ - - ] -} Copied: edk2/repos/testing-any/60-edk2-ovmf-i386.json (from rev 380685, edk2/trunk/60-edk2-ovmf-i386.json) =================================================================== --- 60-edk2-ovmf-i386.json (rev 0) +++ 60-edk2-ovmf-i386.json 2020-04-21 15:48:16 UTC (rev 380686) @@ -0,0 +1,33 @@ +{ + "description": "UEFI firmware for i386", + "interface-types": [ + "uefi" + ], + "mapping": { + "device": "flash", + "executable": { + "filename": "/usr/share/edk2-ovmf/ia32/OVMF_CODE.fd", + "format": "raw" + }, + "nvram-template": { + "filename": "/usr/share/edk2-ovmf/ia32/OVMF_VARS.fd", + "format": "raw" + } + }, + "targets": [ + { + "architecture": "i386", + "machines": [ + "pc-i440fx-*", + "pc-q35-*" + ] + } + ], + "features": [ + "acpi-s3", + "verbose-dynamic" + ], + "tags": [ + + ] +} Deleted: 60-edk2-ovmf-x86_64.json =================================================================== --- 60-edk2-ovmf-x86_64.json 2020-04-21 15:48:02 UTC (rev 380685) +++ 60-edk2-ovmf-x86_64.json 2020-04-21 15:48:16 UTC (rev 380686) @@ -1,34 +0,0 @@ -{ - "description": "UEFI firmware for x86_64", - "interface-types": [ - "uefi" - ], - "mapping": { - "device": "flash", - "executable": { - "filename": "/usr/share/edk2-ovmf/x64/OVMF_CODE.fd", - "format": "raw" - }, - "nvram-template": { - "filename": "/usr/share/edk2-ovmf/x64/OVMF_VARS.fd", - "format": "raw" - } - }, - "targets": [ - { - "architecture": "x86_64", - "machines": [ - "pc-i440fx-*", - "pc-q35-*" - ] - } - ], - "features": [ - "acpi-s3", - "amd-sev", - "verbose-dynamic" - ], - "tags": [ - - ] -} Copied: edk2/repos/testing-any/60-edk2-ovmf-x86_64.json (from rev 380685, edk2/trunk/60-edk2-ovmf-x86_64.json) =================================================================== --- 60-edk2-ovmf-x86_64.json (rev 0) +++ 60-edk2-ovmf-x86_64.json 2020-04-21 15:48:16 UTC (rev 380686) @@ -0,0 +1,34 @@ +{ + "description": "UEFI firmware for x86_64", + "interface-types": [ + "uefi" + ], + "mapping": { + "device": "flash", + "executable": { + "filename": "/usr/share/edk2-ovmf/x64/OVMF_CODE.fd", + "format": "raw" + }, + "nvram-template": { + "filename": "/usr/share/edk2-ovmf/x64/OVMF_VARS.fd", + "format": "raw" + } + }, + "targets": [ + { + "architecture": "x86_64", + "machines": [ + "pc-i440fx-*", + "pc-q35-*" + ] + } + ], + "features": [ + "acpi-s3", + "amd-sev", + "verbose-dynamic" + ], + "tags": [ + + ] +} Deleted: PKGBUILD =================================================================== --- PKGBUILD 2020-04-21 15:48:02 UTC (rev 380685) +++ PKGBUILD 2020-04-21 15:48:16 UTC (rev 380686) @@ -1,173 +0,0 @@ -# Maintainer: David Runge <dv...@archlinux.org> - -# openssl > 1.1.1d is not yet compatible with edk2-ovmf -_openssl_ver=1.1.1d -pkgbase=edk2 -pkgname=('edk2-shell' 'edk2-ovmf') -pkgver=202002 -pkgrel=3 -pkgdesc="Modern, feature-rich firmware development environment for the UEFI specifications" -arch=('any') -url="https://github.com/tianocore/edk2" -license=('BSD') -makedepends=('acpica' 'iasl' 'libutil-linux' 'nasm' 'python') -options=(!makeflags) -source=("$pkgbase-$pkgver.tar.gz::https://github.com/tianocore/${pkgbase}/archive/${pkgbase}-stable${pkgver}.tar.gz" - "https://www.openssl.org/source/openssl-${_openssl_ver}.tar.gz"{,.asc} - "50-edk2-ovmf-i386-secure.json" - "50-edk2-ovmf-x86_64-secure.json" - "60-edk2-ovmf-i386.json" - "60-edk2-ovmf-x86_64.json") -sha512sums=('e43090f9c0916b48452fa14bbcd9cd125330304c44b904502ef4ac035bbfb1b0529336f76a0512c0cdbcb4092722839e70b07866e845e76280f6a90b7fb093ab' - '2bc9f528c27fe644308eb7603c992bac8740e9f0c3601a130af30c9ffebbf7e0f5c28b76a00bbb478bad40fbe89b4223a58d604001e1713da71ff4b7fe6a08a7' - 'SKIP' - '55e4187b11b27737f61e528c02ff43b9381c0cb09140e803531616766f9cb9401115d88d946b56171784cc028f9571279640eb39b6a9fa8e02ec0c8d1b036a3e' - 'a1236585b30d720540de2e9527d8c90ff2d428e800b3da545b23461dc698dc91fe441b62bb8cbca76e08f4ec1eb485619e9ab26157deb06e7fb33e7f5f9dd8b6' - 'c81e072aabfb01d29cf5194111524e2c4c8684979de6b6793db10299c95bb94f7b1d0a98b057df0664d7a894a2b40e9b4c3576112fae400a95eaf5fe5fc9369b' - '2030dc1d49d56fce8af56c5777fd40f04041e39ff806dd8c021e161227bdd646982024db6758230b8332dc68f16bc6918e1d54ad3c022e21e148d6b65ea778b3') -validpgpkeys=('8657ABB260F056B1E5190839D9C4D26D0E604491') # Matt Caswell <m...@openssl.org> -_arch_list=('IA32' 'X64') -_build_type='RELEASE' -_build_plugin='GCC5' - -prepare() { - mv -v "$pkgbase-$pkgbase-stable$pkgver" "$pkgbase-$pkgver" - cd "$pkgbase-$pkgver" - # symlinking openssl into place - rm -rfv CryptoPkg/Library/OpensslLib/openssl - ln -sfv "${srcdir}/openssl-$_openssl_ver" CryptoPkg/Library/OpensslLib/openssl - # openssl 1.1.1d has a typo that causes a compile error - sed -e 's/return return/return/g' \ - -i "../openssl-$_openssl_ver/crypto/threads_none.c" - # -Werror, not even once - sed -e 's/ -Werror//g' \ - -i BaseTools/Conf/*.template BaseTools/Source/C/Makefiles/*.makefile -} - -build() { - cd "$pkgbase-$pkgver" - local _arch - make -C BaseTools - . edksetup.sh - for _arch in ${_arch_list[@]}; do - # shell - echo "Building shell (${_arch})." - BaseTools/BinWrappers/PosixLike/build -p ShellPkg/ShellPkg.dsc \ - -a "${_arch}" \ - -b "${_build_type}" \ - -n "$(nproc)" \ - -t "${_build_plugin}" - # ovmf - if [[ "${_arch}" == 'IA32' ]]; then - echo "Building ovmf (${_arch}) with secure boot" - OvmfPkg/build.sh -p OvmfPkg/OvmfPkgIa32.dsc \ - -a "${_arch}" \ - -b "${_build_type}" \ - -n "$(nproc)" \ - -t "${_build_plugin}" \ - -D NETWORK_IP6_ENABLE \ - -D TPM2_ENABLE \ - -D HTTP_BOOT_ENABLE \ - -D TLS_ENABLE \ - -D FD_SIZE_2MB \ - -D SECURE_BOOT_ENABLE \ - -D SMM_REQUIRE \ - -D EXCLUDE_SHELL_FROM_FD - mv -v Build/Ovmf{Ia32,IA32-secure} - echo "Building ovmf (${_arch}) without secure boot" - OvmfPkg/build.sh -p OvmfPkg/OvmfPkgIa32.dsc \ - -a "${_arch}" \ - -b "${_build_type}" \ - -n "$(nproc)" \ - -t "${_build_plugin}" \ - -D NETWORK_IP6_ENABLE \ - -D TPM2_ENABLE \ - -D HTTP_BOOT_ENABLE \ - -D TLS_ENABLE \ - -D FD_SIZE_2MB - mv -v Build/Ovmf{Ia32,IA32} - fi - if [[ "${_arch}" == 'X64' ]]; then - echo "Building ovmf (${_arch}) with secure boot" - OvmfPkg/build.sh -p "OvmfPkg/OvmfPkg${_arch}.dsc" \ - -a "${_arch}" \ - -b "${_build_type}" \ - -n "$(nproc)" \ - -t "${_build_plugin}" \ - -D NETWORK_IP6_ENABLE \ - -D TPM2_ENABLE \ - -D FD_SIZE_2MB \ - -D TLS_ENABLE \ - -D HTTP_BOOT_ENABLE \ - -D SECURE_BOOT_ENABLE \ - -D SMM_REQUIRE \ - -D EXCLUDE_SHELL_FROM_FD - mv -v Build/OvmfX64{,-secure} - echo "Building ovmf (${_arch}) without secure boot" - OvmfPkg/build.sh -p "OvmfPkg/OvmfPkg${_arch}.dsc" \ - -a "${_arch}" \ - -b "${_build_type}" \ - -n "$(nproc)" \ - -t "${_build_plugin}" \ - -D NETWORK_IP6_ENABLE \ - -D TPM2_ENABLE \ - -D FD_SIZE_2MB \ - -D TLS_ENABLE \ - -D HTTP_BOOT_ENABLE - fi - done -} - -package_edk2-shell() { - pkgdesc="EDK2 UEFI Shell" - provides=('uefi-shell') - cd "$pkgbase-$pkgver" - local _arch - # minimal UEFI shell, as defined in ShellPkg/Application/Shell/ShellPkg.inf - local _min='7C04A583-9E3E-4f1c-AD65-E05268D0B4D1' - # full UEFI shell, as defined in ShellPkg/ShellPkg.dsc - local _full='EA4BB293-2D7F-4456-A681-1F22F42CD0BC' - for _arch in ${_arch_list[@]}; do - install -vDm 644 "Build/Shell/${_build_type}_${_build_plugin}/${_arch}/Shell_${_min}.efi" \ - "${pkgdir}/usr/share/${pkgname}/${_arch,,}/Shell.efi" - install -vDm 644 "Build/Shell/${_build_type}_${_build_plugin}/${_arch}/Shell_${_full}.efi" \ - "${pkgdir}/usr/share/${pkgname}/${_arch,,}/Shell_Full.efi" - done - # license - install -vDm 644 License.txt -t "${pkgdir}/usr/share/licenses/${pkgname}" - # docs - install -vDm 644 {Readme.md,Maintainers.txt} \ - -t "${pkgdir}/usr/share/doc/${pkgname}" -} - -package_edk2-ovmf() { - pkgdesc="Open Virtual Machine Firmware to support firmware for Virtual Machines" - provides=('ovmf') - conflicts=('ovmf') - replaces=('ovmf') - license+=('MIT') - cd "$pkgbase-$pkgver" - local _arch - # installing the various firmwares - for _arch in ${_arch_list[@]}; do - install -vDm 644 "Build/Ovmf${_arch}/${_build_type}_${_build_plugin}/FV/OVMF_CODE.fd" \ - -t "${pkgdir}/usr/share/${pkgname}/${_arch,,}" - install -vDm 644 "Build/Ovmf${_arch}/${_build_type}_${_build_plugin}/FV/OVMF_VARS.fd" \ - -t "${pkgdir}/usr/share/${pkgname}/${_arch,,}" - install -vDm 644 "Build/Ovmf${_arch}-secure/${_build_type}_${_build_plugin}/FV/OVMF_CODE.fd" \ - "${pkgdir}/usr/share/${pkgname}/${_arch,,}/OVMF_CODE.secboot.fd" - done - # installing qemu descriptors in accordance with qemu: - # https://git.qemu.org/?p=qemu.git;a=tree;f=pc-bios/descriptors - # https://bugs.archlinux.org/task/64206 - install -vDm 644 ../*"${pkgname}"*.json -t "${pkgdir}/usr/share/qemu/firmware" - # adding a symlink for legacy applications - ln -svf "/usr/share/${pkgname}" "${pkgdir}/usr/share/OVMF" - # licenses - install -vDm 644 License.txt -t "${pkgdir}/usr/share/licenses/${pkgname}" - install -vDm 644 OvmfPkg/License.txt \ - "${pkgdir}/usr/share/licenses/${pkgname}/OvmfPkg.License.txt" - # docs - install -vDm 644 {OvmfPkg/README,Readme.md,Maintainers.txt} \ - -t "${pkgdir}/usr/share/doc/${pkgname}" -} Copied: edk2/repos/testing-any/PKGBUILD (from rev 380685, edk2/trunk/PKGBUILD) =================================================================== --- PKGBUILD (rev 0) +++ PKGBUILD 2020-04-21 15:48:16 UTC (rev 380686) @@ -0,0 +1,181 @@ +# Maintainer: David Runge <dv...@archlinux.org> + +# openssl > 1.1.1d is not yet compatible with edk2-ovmf +_openssl_ver=1.1.1d +pkgbase=edk2 +pkgname=('edk2-shell' 'edk2-ovmf') +pkgver=202002 +pkgrel=4 +pkgdesc="Modern, feature-rich firmware development environment for the UEFI specifications" +arch=('any') +url="https://github.com/tianocore/edk2" +license=('BSD') +makedepends=('acpica' 'iasl' 'libutil-linux' 'nasm' 'python') +options=(!makeflags) +source=("$pkgbase-$pkgver.tar.gz::https://github.com/tianocore/${pkgbase}/archive/${pkgbase}-stable${pkgver}.tar.gz" + "https://www.openssl.org/source/openssl-${_openssl_ver}.tar.gz"{,.asc} + "50-edk2-ovmf-i386-secure.json" + "50-edk2-ovmf-x86_64-secure.json" + "60-edk2-ovmf-i386.json" + "60-edk2-ovmf-x86_64.json") +sha512sums=('e43090f9c0916b48452fa14bbcd9cd125330304c44b904502ef4ac035bbfb1b0529336f76a0512c0cdbcb4092722839e70b07866e845e76280f6a90b7fb093ab' + '2bc9f528c27fe644308eb7603c992bac8740e9f0c3601a130af30c9ffebbf7e0f5c28b76a00bbb478bad40fbe89b4223a58d604001e1713da71ff4b7fe6a08a7' + 'SKIP' + '55e4187b11b27737f61e528c02ff43b9381c0cb09140e803531616766f9cb9401115d88d946b56171784cc028f9571279640eb39b6a9fa8e02ec0c8d1b036a3e' + 'a1236585b30d720540de2e9527d8c90ff2d428e800b3da545b23461dc698dc91fe441b62bb8cbca76e08f4ec1eb485619e9ab26157deb06e7fb33e7f5f9dd8b6' + 'c81e072aabfb01d29cf5194111524e2c4c8684979de6b6793db10299c95bb94f7b1d0a98b057df0664d7a894a2b40e9b4c3576112fae400a95eaf5fe5fc9369b' + '2030dc1d49d56fce8af56c5777fd40f04041e39ff806dd8c021e161227bdd646982024db6758230b8332dc68f16bc6918e1d54ad3c022e21e148d6b65ea778b3') +validpgpkeys=('8657ABB260F056B1E5190839D9C4D26D0E604491') # Matt Caswell <m...@openssl.org> +_arch_list=('IA32' 'X64') +_build_type='RELEASE' +_build_plugin='GCC5' + +prepare() { + mv -v "$pkgbase-$pkgbase-stable$pkgver" "$pkgbase-$pkgver" + cd "$pkgbase-$pkgver" + # symlinking openssl into place + rm -rfv CryptoPkg/Library/OpensslLib/openssl + ln -sfv "${srcdir}/openssl-$_openssl_ver" CryptoPkg/Library/OpensslLib/openssl + # openssl 1.1.1d has a typo that causes a compile error + sed -e 's/return return/return/g' \ + -i "../openssl-$_openssl_ver/crypto/threads_none.c" + # -Werror, not even once + sed -e 's/ -Werror//g' \ + -i BaseTools/Conf/*.template BaseTools/Source/C/Makefiles/*.makefile +} + +build() { + cd "$pkgbase-$pkgver" + local _arch + make -C BaseTools + . edksetup.sh + for _arch in ${_arch_list[@]}; do + # shell + echo "Building shell (${_arch})." + BaseTools/BinWrappers/PosixLike/build -p ShellPkg/ShellPkg.dsc \ + -a "${_arch}" \ + -b "${_build_type}" \ + -n "$(nproc)" \ + -t "${_build_plugin}" + # ovmf + if [[ "${_arch}" == 'IA32' ]]; then + echo "Building ovmf (${_arch}) with secure boot" + OvmfPkg/build.sh -p OvmfPkg/OvmfPkgIa32.dsc \ + -a "${_arch}" \ + -b "${_build_type}" \ + -n "$(nproc)" \ + -t "${_build_plugin}" \ + -D NETWORK_IP6_ENABLE \ + -D TPM2_ENABLE \ + -D HTTP_BOOT_ENABLE \ + -D TLS_ENABLE \ + -D FD_SIZE_2MB \ + -D SECURE_BOOT_ENABLE \ + -D SMM_REQUIRE \ + -D EXCLUDE_SHELL_FROM_FD + mv -v Build/Ovmf{Ia32,IA32-secure} + echo "Building ovmf (${_arch}) without secure boot" + OvmfPkg/build.sh -p OvmfPkg/OvmfPkgIa32.dsc \ + -a "${_arch}" \ + -b "${_build_type}" \ + -n "$(nproc)" \ + -t "${_build_plugin}" \ + -D NETWORK_IP6_ENABLE \ + -D TPM2_ENABLE \ + -D HTTP_BOOT_ENABLE \ + -D TLS_ENABLE \ + -D FD_SIZE_2MB + mv -v Build/Ovmf{Ia32,IA32} + fi + if [[ "${_arch}" == 'X64' ]]; then + echo "Building ovmf (${_arch}) with secure boot" + OvmfPkg/build.sh -p "OvmfPkg/OvmfPkg${_arch}.dsc" \ + -a "${_arch}" \ + -b "${_build_type}" \ + -n "$(nproc)" \ + -t "${_build_plugin}" \ + -D NETWORK_IP6_ENABLE \ + -D TPM2_ENABLE \ + -D FD_SIZE_2MB \ + -D TLS_ENABLE \ + -D HTTP_BOOT_ENABLE \ + -D SECURE_BOOT_ENABLE \ + -D SMM_REQUIRE \ + -D EXCLUDE_SHELL_FROM_FD + mv -v Build/OvmfX64{,-secure} + echo "Building ovmf (${_arch}) without secure boot" + OvmfPkg/build.sh -p "OvmfPkg/OvmfPkg${_arch}.dsc" \ + -a "${_arch}" \ + -b "${_build_type}" \ + -n "$(nproc)" \ + -t "${_build_plugin}" \ + -D NETWORK_IP6_ENABLE \ + -D TPM2_ENABLE \ + -D FD_SIZE_2MB \ + -D TLS_ENABLE \ + -D HTTP_BOOT_ENABLE + fi + done +} + +package_edk2-shell() { + pkgdesc="EDK2 UEFI Shell" + provides=('uefi-shell') + cd "$pkgbase-$pkgver" + local _arch + # minimal UEFI shell, as defined in ShellPkg/Application/Shell/ShellPkg.inf + local _min='7C04A583-9E3E-4f1c-AD65-E05268D0B4D1' + # full UEFI shell, as defined in ShellPkg/ShellPkg.dsc + local _full='EA4BB293-2D7F-4456-A681-1F22F42CD0BC' + for _arch in ${_arch_list[@]}; do + install -vDm 644 "Build/Shell/${_build_type}_${_build_plugin}/${_arch}/Shell_${_min}.efi" \ + "${pkgdir}/usr/share/${pkgname}/${_arch,,}/Shell.efi" + install -vDm 644 "Build/Shell/${_build_type}_${_build_plugin}/${_arch}/Shell_${_full}.efi" \ + "${pkgdir}/usr/share/${pkgname}/${_arch,,}/Shell_Full.efi" + done + # license + install -vDm 644 License.txt -t "${pkgdir}/usr/share/licenses/${pkgname}" + # docs + install -vDm 644 {Readme.md,Maintainers.txt} \ + -t "${pkgdir}/usr/share/doc/${pkgname}" +} + +package_edk2-ovmf() { + pkgdesc="Open Virtual Machine Firmware to support firmware for Virtual Machines" + provides=('ovmf') + conflicts=('ovmf') + replaces=('ovmf') + license+=('MIT') + install="${pkgname}.install" + cd "$pkgbase-$pkgver" + local _arch + # installing the various firmwares + for _arch in ${_arch_list[@]}; do + install -vDm 644 "Build/Ovmf${_arch}/${_build_type}_${_build_plugin}/FV/OVMF_CODE.fd" \ + -t "${pkgdir}/usr/share/${pkgname}/${_arch,,}" + install -vDm 644 "Build/Ovmf${_arch}/${_build_type}_${_build_plugin}/FV/OVMF_VARS.fd" \ + -t "${pkgdir}/usr/share/${pkgname}/${_arch,,}" + install -vDm 644 "Build/Ovmf${_arch}-secure/${_build_type}_${_build_plugin}/FV/OVMF_CODE.fd" \ + "${pkgdir}/usr/share/${pkgname}/${_arch,,}/OVMF_CODE.secboot.fd" + # adding symlinks for previous ovmf location (only secure boot was provided as the default) + # https://bugs.archlinux.org/task/66322 + install -vdm 755 "${pkgdir}/usr/share/ovmf/${_arch,,}" + ln -sfv "/usr/share/${pkgname}/${_arch,,}/OVMF_CODE.secboot.fd" \ + "${pkgdir}/usr/share/ovmf/${_arch,,}/OVMF_CODE.fd" + ln -sfv "/usr/share/${pkgname}/${_arch,,}/OVMF_VARS.fd" \ + "${pkgdir}/usr/share/ovmf/${_arch,,}/OVMF_VARS.fd" + done + # installing qemu descriptors in accordance with qemu: + # https://git.qemu.org/?p=qemu.git;a=tree;f=pc-bios/descriptors + # https://bugs.archlinux.org/task/64206 + install -vDm 644 ../*"${pkgname}"*.json -t "${pkgdir}/usr/share/qemu/firmware" + # adding a symlink for applications with questionable heuristics (such as lxd) + ln -svf "/usr/share/${pkgname}" "${pkgdir}/usr/share/OVMF" + # licenses + install -vDm 644 License.txt -t "${pkgdir}/usr/share/licenses/${pkgname}" + install -vDm 644 OvmfPkg/License.txt \ + "${pkgdir}/usr/share/licenses/${pkgname}/OvmfPkg.License.txt" + # docs + install -vDm 644 {OvmfPkg/README,Readme.md,Maintainers.txt} \ + -t "${pkgdir}/usr/share/doc/${pkgname}" +} Copied: edk2/repos/testing-any/edk2-ovmf.install (from rev 380685, edk2/trunk/edk2-ovmf.install) =================================================================== --- edk2-ovmf.install (rev 0) +++ edk2-ovmf.install 2020-04-21 15:48:16 UTC (rev 380686) @@ -0,0 +1,5 @@ +post_upgrade() { + if [ "$(vercmp "$2" 202002-1)" -le 0 ]; then + echo -e "The firmware location has changed to /usr/share/edk2-ovmf/.\n Symlinks were created for backwards compatibility.\n To update the paths run 'virsh edit' on the virtual machines that use OVMF." + fi +} Copied: edk2/repos/testing-any/edk2-shell.install (from rev 380685, edk2/trunk/edk2-shell.install) =================================================================== --- edk2-shell.install (rev 0) +++ edk2-shell.install 2020-04-21 15:48:16 UTC (rev 380686) @@ -0,0 +1 @@ +# empty install file to satisfy makepkg