Date: Thursday, April 7, 2022 @ 13:22:50 Author: dvzrv Revision: 441710
upgpkg: edk2 202202-1: Upgrade to 202202. Update brotli patch. Add patch for broken OvmfPkgIA32 build when selecting LOAD_X64_ON_IA32_ENABLE: https://github.com/tianocore/edk2/commit/b47575801e1903e8b316d01840572ce2681cf2c6 Simplify handling of build parameters. Remove unneeded quotes and curly braces. Added: edk2/trunk/edk2-202202-brotli.patch edk2/trunk/edk2-202202-ovmfpkgia32.patch Modified: edk2/trunk/PKGBUILD Deleted: edk2/trunk/edk2-202102-brotli-1.0.9.patch --------------------------------+ PKGBUILD | 325 ++++++++++++++++----------------------- edk2-202102-brotli-1.0.9.patch | 29 --- edk2-202202-brotli.patch | 15 + edk2-202202-ovmfpkgia32.patch | 10 + 4 files changed, 165 insertions(+), 214 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2022-04-07 11:16:27 UTC (rev 441709) +++ PKGBUILD 2022-04-07 13:22:50 UTC (rev 441710) @@ -2,11 +2,11 @@ # Contributor: Alexander Epaneshnikov <alex1...@archlinux.org> _brotli_ver=1.0.9 -_openssl_ver=1.1.1l +_openssl_ver=1.1.1n pkgbase=edk2 pkgname=(edk2-armvirt edk2-shell edk2-ovmf) -pkgver=202111 -pkgrel=5 +pkgver=202202 +pkgrel=1 pkgdesc="Modern, feature-rich firmware development environment for the UEFI specifications" arch=(any) url="https://github.com/tianocore/edk2" @@ -14,27 +14,26 @@ makedepends=(aarch64-linux-gnu-gcc acpica git iasl util-linux-libs nasm python seabios) 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} - "brotli-${_brotli_ver}.tar.gz::https://github.com/google/brotli/archive/v${_brotli_ver}.tar.gz" - "${pkgbase}-202102-brotli-1.0.9.patch" - "50-edk2-ovmf-i386-secure.json" - "50-edk2-ovmf-x86_64-secure.json" - "60-edk2-ovmf-i386.json" - "60-edk2-ovmf-x86_64.json" - "60-edk2-armvirt-aarch64.json" - "70-edk2-ovmf-i386-csm.json" - "70-edk2-ovmf-x86_64-csm.json" - "80-edk2-ovmf-ia32-on-x86_64-secure.json" - "81-edk2-ovmf-ia32-on-x86_64.json" - "82-edk2-ovmf-ia32-on-x86_64-csm.json" - "${pkgname}-202111-gpu_passthrough.patch::https://github.com/tianocore/edk2/commit/ee1f8262b83dd88b30091e6e81221ff299796099.patch" + $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} + brotli-$_brotli_ver.tar.gz::https://github.com/google/brotli/archive/v$_brotli_ver.tar.gz + 50-edk2-ovmf-i386-secure.json + 50-edk2-ovmf-x86_64-secure.json + 60-edk2-ovmf-i386.json + 60-edk2-ovmf-x86_64.json + 60-edk2-armvirt-aarch64.json + 70-edk2-ovmf-i386-csm.json + 70-edk2-ovmf-x86_64-csm.json + 80-edk2-ovmf-ia32-on-x86_64-secure.json + 81-edk2-ovmf-ia32-on-x86_64.json + 82-edk2-ovmf-ia32-on-x86_64-csm.json + $pkgbase-202202-brotli.patch + $pkgbase-202202-ovmfpkgia32.patch ) -sha512sums=('212a178b2e79ab42bcf0d2d12e8769da28bc3ed3f2d4c905a85c0d23d2675500c1c05b5b645eac9c4de97df974dcfc809efd06385016331ca02944e58558954a' - 'd9611f393e37577cca05004531388d3e0ebbf714894cab9f95f4903909cd4f45c214faab664c0cbc3ad3cca309d500b9e6d0ecbf9a0a0588d1677dc6b047f9e0' +sha512sums=('200690a4867331de06e0478869b85577bc510213ebe679f2103160efb84d94c82ac8481ef1f15c3e42c1e9f22b7c5ef0d6c8f2c655bce7702ce843551cf9bb83' + '1937796736613dcf4105a54e42ecb61f95a1cea74677156f9459aea0f2c95159359e766089632bf364ee6b0d28d661eb9957bce8fecc9d2436378d8d79e8d0a4' 'SKIP' 'b8e2df955e8796ac1f022eb4ebad29532cb7e3aa6a4b6aee91dbd2c7d637eee84d9a144d3e878895bb5e62800875c2c01c8f737a1261020c54feacf9f676b5f5' - 'fe0fd592d4b436a35a49a74ad5dd989311b297b9abacb13ed8d4da0986169c91ffbc34cef0f2d52bf40c833d252f6e65311ab0e4e4ca6798390febfb9a787a4a' '603cae145a87bae371bd069d05128beebddb7048e78b93650b19c44b86b2d27cabbcf3bc4c0b2384b862f32383ce7a914a10fc0ad564632bcadd6e4f9389fede' '3e10bdc9ad13aadbd4111230fb8f37d5f16306aeb7bce2af5ec31c1e2b5adea26d5875cd0d7070ea82eca7546ecbacc8c195ed68425428bf6d2533b58e307b2d' '56d0bffd6dd7be79709f66bcfba2112e8ef6208de9b5018e90251e3ba68b37f9d911f0bd5a03987b49bb19bd0d62f7fa9ac3ca9f234e80ada3c4dbdd619705b9' @@ -45,12 +44,12 @@ '8e5eb4e24fad4644a66eb52c95a90a82f01df0af6e57208ad61cb0859dd4425e623e75d93846e8fc3235370a88d93a1d27a512dc4e559bedfe3249404797838b' '7c9f8e7ce7451e7aa852998ffcd3ca95c08083c313dc8dcf0877969ef23d9da6f69c60bb1e652387a223da6e690524fa094bfbaed14d8bdae2853e68530b2f82' '891d3ea36d966114ff1f79c3619675a46b30b68def16ab426f2dee00bd0768f82ca0ee26acd7adedd379f25613e309ec9dfaed4e8a5d3f3e4fa7e8d845f55b18' - '4e82b72ebe9f65e13cff09d1032fe8512066be031948906a268e20a5a89d18f71aec6fbd743266b2fa00a52178ee2c1131f505b59a2b1084eb6f20cb67791336') -b2sums=('9eed28ae063982b7c44311caf414ab967355d0a1ab09201678bed96e45a71215a0f8dde3d29710d2634f05c8c359cc07ac82045c5f4bd6824300b6e6d24ca005' - '9e8739015db63a013c05587e3d164d67c3f65f1f6c5fc75e4592bcd038c036cde88a7bc95fbc1f1b4ed876f6124ca4dabcd4f5dbb45d1b84299f2efe1a59431a' + 'd074c794796d17d77eed7c34201d93d7ef3f1322fe1ea4a2ddd7137fae884d49f94f465ee39cfd8346b026142668a41f5a8671e521409505dd6d002f71c0eebc' + '5886eb35732c3850071ea903388861b40a50c59a11fc0384ed38413538baf8714d481cb21d23969c997701e9165972a73a7fd80cb49add4b611d5bcf953dff56') +b2sums=('d8411e6808b335ccd551349a10c983b9448a357e73273fa6c30a07785e27feffed0224950ee98b668712c33f6739a9b006e5043b7dfd014f48dba9fd449b3354' + 'af530258d9f7ca4f1bd1c6c344eb385e766e465c9341dd08797676165f67bbb82d3fd549ed7559dc12fb8c9c4db5e04fa6ec7ab729ec1467f5e8bce469ff5398' 'SKIP' '8b9939d5224396ef33b43e019250ba4bc8949903583615e8dc02c85340fc0a1e2d1632161e00b0ee7355d77f05529ac772f482e05d2089afd71a0bf71e803904' - 'eb549f711aa31b0a46f3e9b74076e52e0e1734045c227f410016c6de46a3b7b2959287d49b5ef853236c57fa3b3143b1da31fd9ef6fd592ba22ba9af15941a76' 'fa75566a2ac591fc0c296812f907bfe3fd67f2ee90d3762f0fcae6427df0dfd6260238f5af4fc6b74a76eccfc264db2259db70f8c533871e8b58f37b91a90657' 'f6aaccf4b5a070b05e8eb58d5df60c8798d9b9de2f9febf1417a1ae178431be9a69890a7107d3ca100a439551b4949b937ba400ac36bb9eebaf7e1fdb61dc9d3' '891719a70d14f29f6ec9e9cfe83cbf48abb5aedfaf5a3a02efaf9cf1dcca0c14f42f8e4486425df12c72001d7811b0f6030520bad2d83b4885f13d110ab2ae0f' @@ -61,7 +60,8 @@ 'ddacbab89d0fd7831149594487559bb6bac1464b2b5620641043306fabfc37800db8c6d87a833c70ec35c699ea2f35cf09d34028ec7982a94686e8cd97b73300' '99bf35c4042fd5105a3b3b7f71b0aeb18db7811da4ed4481ffec485258619c30d33b08633f9a1c762d383e3bf0191053be9b88b9a4c142350186c6df1261d1f7' 'd45b224c36eda139ca6ad9e4c6c04282724b264dd36a0b3ba904d71476b83e02963c8cadf1f1e1233955071d133dc0defa746740fa08b26398c489fbf6ba89a0' - 'c6ea41083b27c3d112188f04f07f862cac24aa2acae4530d38416ef2fc0a6d678ae95e9f4cb173b63c9d512a2103477a30c4cbe76588fc47e8744c7a336cd19a') + '644c071dc4fbbccaa64b0b1babcad60395ffce1a7a317a6f5380eff44cbb886be5f29156a8e967ab02b508a33954fcf5602606b43362cc3bb1936a8cfc3a3c07' + '937d507a0ffd9a87a9b008b01f26d4941dc8ee9c3f263fff8d782c8f29c933c8bbd10da9c44ad2ca106befa9db666062d55ed5d7fb793d758c4c8777f5e018c7') validpgpkeys=('8657ABB260F056B1E5190839D9C4D26D0E604491') # Matt Caswell <m...@openssl.org> _arch_list=(AARCH64 IA32 X64) _build_type=RELEASE @@ -68,15 +68,13 @@ _build_plugin=GCC5 prepare() { - mv -v "$pkgbase-$pkgbase-stable$pkgver" "$pkgbase-$pkgver" - cd "$pkgbase-$pkgver" - # patch to fix issues with GPU passthrough - # https://bugs.archlinux.org/task/72991 - patch -Np1 -i ../"${pkgname}-202111-gpu_passthrough.patch" # patch to be able to use brotli 1.0.9 - patch -Np1 -i "../${pkgbase}-202102-brotli-1.0.9.patch" - # NOTE: patching brotli itself is not necessary (extra/brotli cherry-picks a patch for the pkgconfig integration) + patch -Np1 -d $pkgbase-$pkgbase-stable$pkgver -i ../$pkgbase-202202-brotli.patch + # reintroduce include accidentally removed in https://github.com/tianocore/edk2/commit/b47575801e1903e8b316d01840572ce2681cf2c6 + patch -Np1 -d $pkgbase-$pkgbase-stable$pkgver -i ../$pkgbase-202202-ovmfpkgia32.patch + cd $pkgbase-$pkgbase-stable$pkgver + # symlinking openssl into place rm -rfv CryptoPkg/Library/OpensslLib/openssl ln -sfv "${srcdir}/openssl-$_openssl_ver" CryptoPkg/Library/OpensslLib/openssl @@ -87,8 +85,7 @@ ln -sfv "${srcdir}/brotli-${_brotli_ver}" MdeModulePkg/Library/BrotliCustomDecompressLib/brotli # -Werror, not even once - sed -e 's/ -Werror//g' \ - -i BaseTools/Conf/*.template BaseTools/Source/C/Makefiles/*.makefile + sed -e 's/ -Werror//g' -i BaseTools/Conf/*.template BaseTools/Source/C/Makefiles/*.makefile # copy seabios's CSM binary into place, so that it can be included in the binaries: cp -v /usr/share/qemu/bios-csm.bin OvmfPkg/Csm/Csm16/Csm16.bin @@ -96,193 +93,160 @@ # TODO: check TPM_ENABLE/TPM2_ENABLE build() { - cd "$pkgbase-$pkgver" + local _arch + # shared targets for all + local _common_args=( + -b "$_build_type" + -n "$(nproc)" + -t "$_build_plugin" + ) + # shared targets for all EFI binaries + local _efi_args=( + -D NETWORK_IP6_ENABLE + -D TPM_CONFIG_ENABLE + -D TPM_ENABLE + ) + # shared targets x86_64 and i686 + local _x86_args=( + -D FD_SIZE_2MB + -D HTTP_BOOT_ENABLE + -D TLS_ENABLE + ) + + cd $pkgbase-$pkgbase-stable$pkgver export GCC5_IA32_PREFIX="x86_64-linux-gnu-" export GCC5_X64_PREFIX="x86_64-linux-gnu-" export GCC5_AARCH64_PREFIX="aarch64-linux-gnu-" - local _arch echo "Building base tools (AARCH64)" ARCH=AARCH64 make -C BaseTools echo "Building base tools" 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}" + echo "Building shell ($_arch)." + BaseTools/BinWrappers/PosixLike/build -p ShellPkg/ShellPkg.dsc -a "$_arch" "${_common_args[@]}" # ovmf - if [[ "${_arch}" == 'IA32' ]]; then - echo "Building ovmf (${_arch}) with secure boot support" + if [[ "$_arch" == IA32 ]]; then + echo "Building ovmf ($_arch) with secure boot support" OvmfPkg/build.sh -p OvmfPkg/OvmfPkgIa32.dsc \ - -a "${_arch}" \ - -b "${_build_type}" \ - -n "$(nproc)" \ - -t "${_build_plugin}" \ + -a "$_arch" \ + "${_common_args[@]}" \ + "${_efi_args[@]}" \ + "${_x86_args[@]}" \ + -D EXCLUDE_SHELL_FROM_FD \ -D LOAD_X64_ON_IA32_ENABLE \ - -D NETWORK_IP6_ENABLE \ - -D TPM_ENABLE \ - -D TPM_CONFIG_ENABLE \ - -D HTTP_BOOT_ENABLE \ - -D TLS_ENABLE \ - -D FD_SIZE_2MB \ -D SECURE_BOOT_ENABLE \ - -D SMM_REQUIRE \ - -D EXCLUDE_SHELL_FROM_FD + -D SMM_REQUIRE mv -v Build/Ovmf{Ia32,IA32-secure} - echo "Building ovmf (${_arch}) with CSM support" + echo "Building ovmf ($_arch) with CSM support" OvmfPkg/build.sh -p OvmfPkg/OvmfPkgIa32.dsc \ -a "${_arch}" \ - -b "${_build_type}" \ - -n "$(nproc)" \ - -t "${_build_plugin}" \ - -D LOAD_X64_ON_IA32_ENABLE \ - -D NETWORK_IP6_ENABLE \ - -D TPM_ENABLE \ - -D TPM_CONFIG_ENABLE \ - -D HTTP_BOOT_ENABLE \ - -D TLS_ENABLE \ + "${_common_args[@]}" \ + "${_efi_args[@]}" \ + "${_x86_args[@]}" \ -D CSM_ENABLE \ - -D FD_SIZE_2MB + -D LOAD_X64_ON_IA32_ENABLE mv -v Build/Ovmf{Ia32,IA32-csm} - echo "Building ovmf (${_arch}) default" + echo "Building ovmf ($_arch) default" OvmfPkg/build.sh -p OvmfPkg/OvmfPkgIa32.dsc \ - -a "${_arch}" \ - -b "${_build_type}" \ - -n "$(nproc)" \ - -t "${_build_plugin}" \ - -D LOAD_X64_ON_IA32_ENABLE \ - -D NETWORK_IP6_ENABLE \ - -D TPM_ENABLE \ - -D TPM_CONFIG_ENABLE \ - -D HTTP_BOOT_ENABLE \ - -D TLS_ENABLE \ - -D FD_SIZE_2MB + -a "$_arch" \ + "${_common_args[@]}" \ + "${_efi_args[@]}" \ + "${_x86_args[@]}" \ + -D LOAD_X64_ON_IA32_ENABLE mv -v Build/Ovmf{Ia32,IA32} fi - if [[ "${_arch}" == 'X64' ]]; then - echo "Building ovmf (${_arch}) with secure boot support" - OvmfPkg/build.sh -p "OvmfPkg/OvmfPkgIa32X64.dsc" \ - -a IA32 -a "${_arch}" \ - -b "${_build_type}" \ - -n "$(nproc)" \ - -t "${_build_plugin}" \ - -D NETWORK_IP6_ENABLE \ - -D TPM_ENABLE \ - -D TPM_CONFIG_ENABLE \ - -D FD_SIZE_2MB \ - -D TLS_ENABLE \ - -D HTTP_BOOT_ENABLE \ + if [[ "$_arch" == X64 ]]; then + echo "Building ovmf ($_arch) with secure boot support" + OvmfPkg/build.sh -p OvmfPkg/OvmfPkgIa32X64.dsc \ + -a IA32 -a "$_arch" \ + "${_common_args[@]}" \ + "${_efi_args[@]}" \ + "${_x86_args[@]}" \ -D SECURE_BOOT_ENABLE \ -D SMM_REQUIRE \ -D EXCLUDE_SHELL_FROM_FD mv -v Build/Ovmf3264{,-secure} - echo "Building ovmf (${_arch}) with CSM support" - OvmfPkg/build.sh -p "OvmfPkg/OvmfPkg${_arch}.dsc" \ + echo "Building ovmf ($_arch) with CSM support" + OvmfPkg/build.sh -p OvmfPkg/OvmfPkg$_arch.dsc \ -a "${_arch}" \ - -b "${_build_type}" \ - -n "$(nproc)" \ - -t "${_build_plugin}" \ - -D NETWORK_IP6_ENABLE \ - -D TPM_ENABLE \ - -D TPM_CONFIG_ENABLE \ - -D FD_SIZE_2MB \ - -D TLS_ENABLE \ - -D CSM_ENABLE \ - -D HTTP_BOOT_ENABLE + "${_common_args[@]}" \ + "${_efi_args[@]}" \ + "${_x86_args[@]}" \ + -D CSM_ENABLE mv -v Build/OvmfX64{,-csm} 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 TPM_ENABLE \ - -D TPM_CONFIG_ENABLE \ - -D FD_SIZE_2MB \ - -D TLS_ENABLE \ - -D HTTP_BOOT_ENABLE + OvmfPkg/build.sh -p OvmfPkg/OvmfPkg$_arch.dsc \ + -a "$_arch" \ + "${_common_args[@]}" \ + "${_efi_args[@]}" \ + "${_x86_args[@]}" fi - if [[ "${_arch}" == 'AARCH64' ]]; then - echo "Building ovmf (${_arch}) with secure boot" - BaseTools/BinWrappers/PosixLike/build -p "ArmVirtPkg/ArmVirtQemu.dsc" \ - -a "${_arch}" \ - -b "${_build_type}" \ - -n "$(nproc)" \ - -t "${_build_plugin}" \ - -D NETWORK_IP6_ENABLE \ + if [[ "$_arch" == AARCH64 ]]; then + echo "Building ArmVirtPkg ($_arch) with secure boot" + BaseTools/BinWrappers/PosixLike/build -p ArmVirtPkg/ArmVirtQemu.dsc \ + -a "$_arch" \ + "${_common_args[@]}" \ + "${_efi_args[@]}" \ -D NETWORK_HTTP_BOOT_ENABLE \ -D NETWORK_TLS_ENABLE \ - -D SECURE_BOOT_ENABLE \ - -D TPM_ENABLE \ - -D TPM_CONFIG_ENABLE - dd if="/dev/zero" \ - of="Build/ArmVirtQemu-${_arch}/${_build_type}_${_build_plugin}/FV/QEMU_CODE.fd" \ - bs=1M count=64 - dd if="Build/ArmVirtQemu-${_arch}/${_build_type}_${_build_plugin}/FV/QEMU_EFI.fd" \ - of="Build/ArmVirtQemu-${_arch}/${_build_type}_${_build_plugin}/FV/QEMU_CODE.fd" \ - conv=notrunc - dd if="/dev/zero" \ - of="Build/ArmVirtQemu-${_arch}/${_build_type}_${_build_plugin}/FV/QEMU_VARS.fd" \ - bs=1M count=64 + -D SECURE_BOOT_ENABLE + dd if=/dev/zero of=Build/ArmVirtQemu-$_arch/${_build_type}_${_build_plugin}/FV/QEMU_CODE.fd bs=1M count=64 + dd if=Build/ArmVirtQemu-$_arch/${_build_type}_${_build_plugin}/FV/QEMU_EFI.fd of=Build/ArmVirtQemu-$_arch/${_build_type}_${_build_plugin}/FV/QEMU_CODE.fd conv=notrunc + dd if=/dev/zero of=Build/ArmVirtQemu-$_arch/${_build_type}_${_build_plugin}/FV/QEMU_VARS.fd bs=1M count=64 fi done } package_edk2-armvirt() { + local _arch=AARCH64 + pkgdesc="Firmware for Virtual Machines (aarch64)" url="https://github.com/tianocore/tianocore.github.io/wiki/ArmVirtPkg" - local _arch=AARCH64 - cd "$pkgbase-$pkgver" - install -vDm 644 "Build/ArmVirtQemu-${_arch}/${_build_type}_${_build_plugin}/FV/"*.fd \ - -t "${pkgdir}/usr/share/${pkgname}/${_arch,,}/" + cd $pkgbase-$pkgbase-stable$pkgver + install -vDm 644 Build/ArmVirtQemu-$_arch/${_build_type}_${_build_plugin}/FV/*.fd -t "$pkgdir/usr/share/$pkgname/${_arch,,}/" # add libvirt compatibility (which hardcodes the following paths) - install -vdm 755 "${pkgdir}/usr/share/AAVMF" - ln -svf "/usr/share/${pkgname}/${_arch,,}/QEMU_CODE.fd" \ - "${pkgdir}/usr/share/AAVMF/AAVMF_CODE.fd" - ln -svf "/usr/share/${pkgname}/${_arch,,}/QEMU_VARS.fd" \ - "${pkgdir}/usr/share/AAVMF/AAVMF_VARS.fd" + install -vdm 755 "$pkgdir/usr/share/AAVMF" + ln -svf /usr/share/$pkgname/${_arch,,}/QEMU_CODE.fd "$pkgdir/usr/share/AAVMF/AAVMF_CODE.fd" + ln -svf /usr/share/$pkgname/${_arch,,}/QEMU_VARS.fd "$pkgdir/usr/share/AAVMF/AAVMF_VARS.fd" # install qemu descriptors in accordance with qemu: # https://git.qemu.org/?p=qemu.git;a=tree;f=pc-bios/descriptors - install -vDm 644 ../*"${pkgname}"*.json -t "${pkgdir}/usr/share/qemu/firmware" + install -vDm 644 ../*$pkgname*.json -t "$pkgdir/usr/share/qemu/firmware/" # license - install -vDm 644 License.txt -t "${pkgdir}/usr/share/licenses/${pkgname}" + install -vDm 644 License.txt -t "$pkgdir/usr/share/licenses/$pkgname/" } 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' + + pkgdesc="EDK2 UEFI Shell" + provides=(uefi-shell) + + cd $pkgbase-$pkgbase-stable$pkgver for _arch in ${_arch_list[@]}; do if [[ "${_arch}" == 'AARCH64' ]]; then - install -vDm 644 "Build/ArmVirtQemu-${_arch}/${_build_type}_${_build_plugin}/${_arch}/Shell.efi" \ - -t "${pkgdir}/usr/share/${pkgname}/${_arch,,}/" + install -vDm 644 Build/ArmVirtQemu-$_arch/${_build_type}_${_build_plugin}/$_arch/Shell.efi -t "$pkgdir/usr/share/$pkgname/${_arch,,}/" else - 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" + 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" fi done # license - install -vDm 644 License.txt -t "${pkgdir}/usr/share/licenses/${pkgname}" + install -vDm 644 License.txt -t "$pkgdir/usr/share/licenses/$pkgname/" # docs - install -vDm 644 {ReadMe.rst,Maintainers.txt} \ - -t "${pkgdir}/usr/share/doc/${pkgname}" + install -vDm 644 {ReadMe.rst,Maintainers.txt} -t "$pkgdir/usr/share/doc/$pkgname/" } package_edk2-ovmf() { + local _arch + pkgdesc="Firmware for Virtual Machines (x86_64, i686)" url="https://github.com/tianocore/tianocore.github.io/wiki/OVMF" license+=(MIT) @@ -289,47 +253,38 @@ provides=(ovmf) conflicts=(ovmf) replaces=(ovmf) - install="${pkgname}.install" + install=$pkgname.install - cd "$pkgbase-$pkgver" - local _arch + cd $pkgbase-$pkgbase-stable$pkgver # installing the various firmwares for _arch in ${_arch_list[@]}; do - if [[ "${_arch}" == 'AARCH64' ]]; then + if [[ "$_arch" == AARCH64 ]]; then continue else # installing OVMF.fd for xen: https://bugs.archlinux.org/task/58635 - install -vDm 644 "Build/Ovmf${_arch}/${_build_type}_${_build_plugin}/FV/OVMF.fd" \ - -t "${pkgdir}/usr/share/${pkgname}/${_arch,,}" - 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}-csm/${_build_type}_${_build_plugin}/FV/OVMF_CODE.fd" \ - "${pkgdir}/usr/share/${pkgname}/${_arch,,}/OVMF_CODE.csm.fd" + install -vDm 644 Build/Ovmf$_arch/${_build_type}_${_build_plugin}/FV/OVMF.fd -t "$pkgdir/usr/share/$pkgname/${_arch,,}" + 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-csm/${_build_type}_${_build_plugin}/FV/OVMF_CODE.fd "$pkgdir/usr/share/$pkgname/${_arch,,}/OVMF_CODE.csm.fd" if [[ "${_arch}" == 'X64' ]]; then - install -vDm 644 "Build/Ovmf3264-secure/${_build_type}_${_build_plugin}/FV/OVMF_CODE.fd" \ - "${pkgdir}/usr/share/${pkgname}/${_arch,,}/OVMF_CODE.secboot.fd" + install -vDm 644 Build/Ovmf3264-secure/${_build_type}_${_build_plugin}/FV/OVMF_CODE.fd "$pkgdir/usr/share/$pkgname/${_arch,,}/OVMF_CODE.secboot.fd" else - install -vDm 644 "Build/Ovmf${_arch}-secure/${_build_type}_${_build_plugin}/FV/OVMF_CODE.fd" \ - "${pkgdir}/usr/share/${pkgname}/${_arch,,}/OVMF_CODE.secboot.fd" - fi + install -vDm 644 Build/Ovmf$_arch-secure/${_build_type}_${_build_plugin}/FV/OVMF_CODE.fd "$pkgdir/usr/share/$pkgname/${_arch,,}/OVMF_CODE.secboot.fd" + fi fi 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" + install -vDm 644 ../*$pkgname*.json -t "$pkgdir/usr/share/qemu/firmware/" # adding symlink for previous ovmf location # https://bugs.archlinux.org/task/66528 - ln -svf "/usr/share/${pkgname}" "${pkgdir}/usr/share/ovmf" + ln -svf /usr/share/$pkgname "$pkgdir/usr/share/ovmf" # adding a symlink for applications with questionable heuristics (such as lxd) - ln -svf "/usr/share/${pkgname}" "${pkgdir}/usr/share/OVMF" + 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" + 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.rst,Maintainers.txt} \ - -t "${pkgdir}/usr/share/doc/${pkgname}" + install -vDm 644 {OvmfPkg/README,ReadMe.rst,Maintainers.txt} -t "$pkgdir/usr/share/doc/$pkgname/" } Deleted: edk2-202102-brotli-1.0.9.patch =================================================================== --- edk2-202102-brotli-1.0.9.patch 2022-04-07 11:16:27 UTC (rev 441709) +++ edk2-202102-brotli-1.0.9.patch 2022-04-07 13:22:50 UTC (rev 441710) @@ -1,29 +0,0 @@ -diff -ruN a/BaseTools/Source/C/BrotliCompress/GNUmakefile b/BaseTools/Source/C/BrotliCompress/GNUmakefile ---- a/BaseTools/Source/C/BrotliCompress/GNUmakefile 2021-03-02 06:11:55.000000000 +0100 -+++ b/BaseTools/Source/C/BrotliCompress/GNUmakefile 2021-03-11 20:20:04.856571461 +0100 -@@ -10,7 +10,10 @@ - - OBJECTS = \ - BrotliCompress.o \ -+ brotli/c/common/constants.o \ -+ brotli/c/common/context.o \ - brotli/c/common/dictionary.o \ -+ brotli/c/common/platform.o \ - brotli/c/common/transform.o \ - brotli/c/dec/bit_reader.o \ - brotli/c/dec/decode.o \ -@@ -22,12 +25,14 @@ - brotli/c/enc/block_splitter.o \ - brotli/c/enc/brotli_bit_stream.o \ - brotli/c/enc/cluster.o \ -+ brotli/c/enc/command.o \ - brotli/c/enc/compress_fragment.o \ - brotli/c/enc/compress_fragment_two_pass.o \ - brotli/c/enc/dictionary_hash.o \ - brotli/c/enc/encode.o \ - brotli/c/enc/encoder_dict.o \ - brotli/c/enc/entropy_encode.o \ -+ brotli/c/enc/fast_log.o \ - brotli/c/enc/histogram.o \ - brotli/c/enc/literal_cost.o \ - brotli/c/enc/memory.o \ Added: edk2-202202-brotli.patch =================================================================== --- edk2-202202-brotli.patch (rev 0) +++ edk2-202202-brotli.patch 2022-04-07 13:22:50 UTC (rev 441710) @@ -0,0 +1,15 @@ +diff -ruN a/BaseTools/Source/C/BrotliCompress/GNUmakefile b/BaseTools/Source/C/BrotliCompress/GNUmakefile +--- a/BaseTools/Source/C/BrotliCompress/GNUmakefile 2022-02-21 16:19:40.000000000 +0100 ++++ b/BaseTools/Source/C/BrotliCompress/GNUmakefile 2022-04-07 13:13:20.119878689 +0200 +@@ -11,11 +11,9 @@ + OBJECTS = \ + BrotliCompress.o \ + brotli/c/common/platform.o \ +- brotli/c/common/shared_dictionary.o \ + brotli/c/common/constants.o \ + brotli/c/common/context.o \ + brotli/c/enc/command.o \ +- brotli/c/enc/compound_dictionary.o \ + brotli/c/enc/fast_log.o \ + brotli/c/common/dictionary.o \ + brotli/c/common/transform.o \ Added: edk2-202202-ovmfpkgia32.patch =================================================================== --- edk2-202202-ovmfpkgia32.patch (rev 0) +++ edk2-202202-ovmfpkgia32.patch 2022-04-07 13:22:50 UTC (rev 441710) @@ -0,0 +1,10 @@ +diff -ruN a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc +--- a/OvmfPkg/OvmfPkgIa32.dsc 2022-02-21 16:19:40.000000000 +0100 ++++ b/OvmfPkg/OvmfPkgIa32.dsc 2022-04-07 14:09:58.762612496 +0200 +@@ -990,3 +990,6 @@ + # + !include OvmfPkg/OvmfTpmComponentsDxe.dsc.inc + ++!if $(LOAD_X64_ON_IA32_ENABLE) == TRUE ++ OvmfPkg/CompatImageLoaderDxe/CompatImageLoaderDxe.inf ++!endif