2017-11-14 15:05:26 +00:00
|
|
|
%global edk2_date 20171011
|
|
|
|
%global edk2_githash 92d07e4
|
|
|
|
%global openssl_version 1.1.0e
|
2013-05-02 12:46:06 +00:00
|
|
|
|
2017-11-17 07:49:48 +00:00
|
|
|
%if 0%{?fedora:1}
|
2017-11-13 17:44:20 +00:00
|
|
|
%define cross 1
|
2017-11-17 07:49:48 +00:00
|
|
|
%endif
|
2017-11-13 17:44:20 +00:00
|
|
|
|
|
|
|
%ifarch %{ix86} x86_64
|
2017-11-17 07:49:48 +00:00
|
|
|
%if 0%{?fedora:1}
|
2017-11-13 17:44:20 +00:00
|
|
|
%define build_ovmf_ia32 1
|
2017-11-17 07:49:48 +00:00
|
|
|
%endif
|
2017-11-13 17:44:20 +00:00
|
|
|
%ifarch x86_64
|
|
|
|
%define build_ovmf_x64 1
|
|
|
|
%endif
|
|
|
|
%endif
|
|
|
|
%ifarch aarch64
|
|
|
|
%define build_aavmf_aarch64 1
|
|
|
|
%endif
|
|
|
|
%ifarch %{arm}
|
|
|
|
%define build_aavmf_arm 1
|
|
|
|
%endif
|
|
|
|
%if 0%{?cross:1}
|
|
|
|
%define build_ovmf_x64 1
|
|
|
|
%define build_ovmf_ia32 1
|
|
|
|
%define build_aavmf_aarch64 1
|
|
|
|
%define build_aavmf_arm 1
|
|
|
|
%endif
|
|
|
|
|
2015-12-29 17:03:01 +00:00
|
|
|
Name: edk2
|
2016-04-18 12:16:51 +00:00
|
|
|
Version: %{edk2_date}git%{edk2_githash}
|
2018-02-07 08:12:29 +00:00
|
|
|
Release: 4%{dist}
|
2015-12-29 17:03:01 +00:00
|
|
|
Summary: EFI Development Kit II
|
2013-05-02 12:46:06 +00:00
|
|
|
|
2015-12-29 17:03:01 +00:00
|
|
|
Group: Applications/Emulators
|
2016-04-18 12:16:51 +00:00
|
|
|
License: BSD
|
|
|
|
URL: http://www.tianocore.org/edk2/
|
2017-02-13 11:15:58 +00:00
|
|
|
Source0: edk2-%{edk2_date}-%{edk2_githash}.tar.xz
|
2016-11-06 20:04:24 +00:00
|
|
|
Source1: openssl-%{openssl_version}-hobbled.tar.xz
|
2017-11-14 15:05:26 +00:00
|
|
|
Source2: ovmf-whitepaper-c770f8c.txt
|
|
|
|
Source10: hobble-openssl
|
|
|
|
Source11: build-iso.sh
|
|
|
|
Source12: update-tarball.sh
|
|
|
|
Source13: openssl-patch-to-tarball.sh
|
2016-11-06 20:04:24 +00:00
|
|
|
|
2017-11-17 07:49:48 +00:00
|
|
|
# non-upstream patches
|
2016-05-21 13:04:07 +00:00
|
|
|
Patch0001: 0001-OvmfPkg-silence-EFI_D_VERBOSE-0x00400000-in-NvmExpre.patch
|
|
|
|
Patch0002: 0002-OvmfPkg-silence-EFI_D_VERBOSE-0x00400000-in-the-DXE-.patch
|
|
|
|
Patch0003: 0003-OvmfPkg-enable-DEBUG_VERBOSE.patch
|
|
|
|
Patch0004: 0004-OvmfPkg-increase-max-debug-message-length-to-512.patch
|
2017-11-14 15:05:26 +00:00
|
|
|
Patch0005: 0005-BuildEnv-override-set-C-noclobber-of-sourcing-env.patch
|
|
|
|
Patch0006: 0006-advertise-OpenSSL-on-TianoCore-splash-screen-boot-lo.patch
|
|
|
|
Patch0008: 0008-OvmfPkg-QemuVideoDxe-enable-debug-messages-in-VbeShi.patch
|
|
|
|
Patch0009: 0009-MdeModulePkg-TerminalDxe-add-other-text-resolutions-.patch
|
|
|
|
Patch0010: 0010-MdeModulePkg-TerminalDxe-set-xterm-resolution-on-mod.patch
|
|
|
|
Patch0011: 0011-OvmfPkg-take-PcdResizeXterm-from-the-QEMU-command-li.patch
|
|
|
|
Patch0012: 0012-ArmVirtPkg-QemuFwCfgLib-allow-UEFI_DRIVER-client-mod.patch
|
|
|
|
Patch0013: 0013-ArmVirtPkg-take-PcdResizeXterm-from-the-QEMU-command.patch
|
|
|
|
Patch0014: 0014-OvmfPkg-allow-exclusion-of-the-shell-from-the-firmwa.patch
|
|
|
|
Patch0015: 0015-OvmfPkg-EnrollDefaultKeys-application-for-enrolling-.patch
|
|
|
|
Patch0016: 0016-ArmPlatformPkg-introduce-fixed-PCD-for-early-hello-m.patch
|
|
|
|
Patch0017: 0017-ArmPlatformPkg-PrePeiCore-write-early-hello-message-.patch
|
|
|
|
Patch0018: 0018-ArmVirtPkg-set-early-hello-message.patch
|
|
|
|
|
2017-11-17 07:49:48 +00:00
|
|
|
# upstream backports
|
|
|
|
Patch0019: 0019-MdeModulePkg-PciBus-Fix-bug-that-PCI-BUS-claims-too-much-resource.patch
|
|
|
|
Patch0020: 0020-MdeModulePkg-Bds-Remove-assertion-in-BmCharToUint.patch
|
|
|
|
Patch0021: 0021-MdeModulePkg-Bds-Check-variable-name-even-if-OptionNumber-is-NULL.patch
|
|
|
|
Patch0022: 0022-OvmfPkg-make-it-a-proper-BASE-library.patch
|
|
|
|
Patch0023: 0023-OvmfPkg-create-a-separate-PlatformDebugLibIoPort-ins.patch
|
|
|
|
Patch0024: 0024-OvmfPkg-save-on-I-O-port-accesses-when-the-debug-por.patch
|
2018-03-08 10:38:21 +00:00
|
|
|
Patch0025: 0025-BaseTools-header.makefile-add-Wno-stringop-truncatio.patch
|
|
|
|
Patch0026: 0026-BaseTools-header.makefile-add-Wno-restrict.patch
|
|
|
|
Patch0027: 0027-BaseTools-GenVtf-silence-false-stringop-overflow-war.patch
|
2017-11-14 15:05:26 +00:00
|
|
|
|
2017-11-13 17:44:20 +00:00
|
|
|
%if 0%{?cross:1}
|
2016-11-06 20:04:24 +00:00
|
|
|
# Tweak the tools_def to support cross-compiling.
|
2017-11-17 07:49:48 +00:00
|
|
|
# These files are meant for customization, so this is not upstream too.
|
2017-11-14 15:05:26 +00:00
|
|
|
Patch0099: 0099-Tweak-the-tools_def-to-support-cross-compiling.patch
|
2017-11-13 17:44:20 +00:00
|
|
|
%endif
|
2016-04-18 12:16:51 +00:00
|
|
|
|
2018-01-19 08:36:03 +00:00
|
|
|
# openssl patches from Fedora
|
|
|
|
Patch1021: openssl-1.1.0-issuer-hash.patch
|
|
|
|
Patch1039: openssl-1.1.0-cc-reqs.patch
|
|
|
|
Patch1040: openssl-1.1.0-disable-ssl3.patch
|
|
|
|
Patch1044: openssl-1.1.0-bio-fd-preserve-nl.patch
|
|
|
|
|
2017-11-17 07:49:48 +00:00
|
|
|
%if 0%{?fedora:1}
|
2016-04-18 12:16:51 +00:00
|
|
|
#
|
2016-07-08 11:16:59 +00:00
|
|
|
# actual firmware builds support cross-compiling. edk2-tools
|
|
|
|
# in theory should build everywhere without much trouble, but
|
2016-04-18 12:16:51 +00:00
|
|
|
# in practice the edk2 build system barfs on archs it doesn't know
|
|
|
|
# (such as ppc), so lets limit things to the known-good ones.
|
|
|
|
#
|
|
|
|
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
|
2017-11-17 07:49:48 +00:00
|
|
|
%else
|
|
|
|
ExclusiveArch: x86_64 aarch64
|
|
|
|
%endif
|
2016-04-18 12:16:51 +00:00
|
|
|
|
|
|
|
BuildRequires: python
|
2015-12-29 17:03:01 +00:00
|
|
|
BuildRequires: libuuid-devel
|
2017-11-13 17:44:20 +00:00
|
|
|
%if 0%{?cross:1}
|
2016-05-21 14:39:41 +00:00
|
|
|
BuildRequires: gcc-aarch64-linux-gnu
|
2016-07-21 21:47:43 +00:00
|
|
|
BuildRequires: gcc-arm-linux-gnu
|
2016-07-08 11:16:59 +00:00
|
|
|
BuildRequires: gcc-x86_64-linux-gnu
|
2017-11-13 17:44:20 +00:00
|
|
|
%endif
|
2016-04-18 12:16:51 +00:00
|
|
|
BuildRequires: iasl
|
|
|
|
BuildRequires: nasm
|
2018-03-08 10:38:21 +00:00
|
|
|
BuildRequires: qemu-img
|
2016-04-18 12:16:51 +00:00
|
|
|
BuildRequires: genisoimage
|
2013-05-02 12:46:06 +00:00
|
|
|
|
2016-05-21 14:39:41 +00:00
|
|
|
|
2013-05-02 12:46:06 +00:00
|
|
|
%description
|
2013-08-22 10:46:29 +00:00
|
|
|
EDK II is a development code base for creating UEFI drivers, applications
|
|
|
|
and firmware images.
|
2013-05-02 12:46:06 +00:00
|
|
|
|
|
|
|
%package tools
|
2015-12-29 17:03:01 +00:00
|
|
|
Summary: EFI Development Kit II Tools
|
|
|
|
Group: Development/Tools
|
2013-05-02 12:46:06 +00:00
|
|
|
%description tools
|
|
|
|
This package provides tools that are needed to
|
|
|
|
build EFI executables and ROMs using the GNU tools.
|
|
|
|
|
|
|
|
%package tools-python
|
2015-12-29 17:03:01 +00:00
|
|
|
Summary: EFI Development Kit II Tools
|
|
|
|
Group: Development/Tools
|
|
|
|
Requires: python
|
2013-05-02 12:46:06 +00:00
|
|
|
BuildArch: noarch
|
|
|
|
|
|
|
|
%description tools-python
|
|
|
|
This package provides tools that are needed to build EFI executables
|
|
|
|
and ROMs using the GNU tools. You do not need to install this package;
|
|
|
|
you probably want to install edk2-tools only.
|
|
|
|
|
|
|
|
%package tools-doc
|
2015-12-29 17:03:01 +00:00
|
|
|
Summary: Documentation for EFI Development Kit II Tools
|
|
|
|
Group: Development/Tools
|
2016-04-18 12:16:51 +00:00
|
|
|
BuildArch: noarch
|
2013-05-02 12:46:06 +00:00
|
|
|
%description tools-doc
|
|
|
|
This package documents the tools that are needed to
|
|
|
|
build EFI executables and ROMs using the GNU tools.
|
|
|
|
|
2017-11-13 17:44:20 +00:00
|
|
|
%if 0%{?build_ovmf_x64:1}
|
2016-04-18 12:16:51 +00:00
|
|
|
%package ovmf
|
|
|
|
Summary: Open Virtual Machine Firmware
|
|
|
|
License: BSD and OpenSSL
|
2017-11-13 17:44:20 +00:00
|
|
|
Provides: OVMF = %{version}-%{release}
|
|
|
|
Obsoletes: OVMF < %{version}-%{release}
|
2016-04-18 12:16:51 +00:00
|
|
|
BuildArch: noarch
|
|
|
|
%description ovmf
|
|
|
|
EFI Development Kit II
|
|
|
|
Open Virtual Machine Firmware (x64)
|
2017-11-13 17:44:20 +00:00
|
|
|
%endif
|
2016-04-18 12:16:51 +00:00
|
|
|
|
2017-11-13 17:44:20 +00:00
|
|
|
%if 0%{?build_ovmf_ia32:1}
|
2017-03-15 21:56:49 +00:00
|
|
|
%package ovmf-ia32
|
|
|
|
Summary: Open Virtual Machine Firmware
|
|
|
|
License: BSD and OpenSSL
|
|
|
|
BuildArch: noarch
|
|
|
|
%description ovmf-ia32
|
|
|
|
EFI Development Kit II
|
|
|
|
Open Virtual Machine Firmware (ia32)
|
2017-11-13 17:44:20 +00:00
|
|
|
%endif
|
2017-03-15 21:56:49 +00:00
|
|
|
|
2017-11-13 17:44:20 +00:00
|
|
|
%if 0%{?build_aavmf_aarch64:1}
|
2016-04-18 12:16:51 +00:00
|
|
|
%package aarch64
|
|
|
|
Summary: AARCH64 Virtual Machine Firmware
|
2017-11-13 17:44:20 +00:00
|
|
|
Provides: AAVMF = %{version}-%{release}
|
|
|
|
Obsoletes: AAVMF < %{version}-%{release}
|
2016-04-18 12:16:51 +00:00
|
|
|
BuildArch: noarch
|
|
|
|
%description aarch64
|
|
|
|
EFI Development Kit II
|
|
|
|
AARCH64 UEFI Firmware
|
2017-11-13 17:44:20 +00:00
|
|
|
%endif
|
2016-05-21 14:39:41 +00:00
|
|
|
|
2017-11-13 17:44:20 +00:00
|
|
|
%if 0%{?build_aavmf_arm:1}
|
2016-07-21 21:47:43 +00:00
|
|
|
%package arm
|
|
|
|
Summary: ARM Virtual Machine Firmware
|
|
|
|
BuildArch: noarch
|
|
|
|
%description arm
|
|
|
|
EFI Development Kit II
|
|
|
|
armv7 UEFI Firmware
|
2017-11-13 17:44:20 +00:00
|
|
|
%endif
|
2016-07-21 21:47:43 +00:00
|
|
|
|
2016-04-18 12:16:51 +00:00
|
|
|
|
2013-05-02 12:46:06 +00:00
|
|
|
%prep
|
2016-04-18 12:16:51 +00:00
|
|
|
%setup -q -n tianocore-%{name}-%{edk2_githash}
|
|
|
|
|
2016-09-09 15:13:22 +00:00
|
|
|
|
2017-11-14 15:05:26 +00:00
|
|
|
# Ensure old shell and binary packages are not used
|
|
|
|
rm -rf EdkShellBinPkg
|
|
|
|
rm -rf EdkShellPkg
|
|
|
|
rm -rf FatBinPkg
|
|
|
|
rm -rf ShellBinPkg
|
|
|
|
|
|
|
|
cp -a -- %{SOURCE2} .
|
2013-05-02 12:46:06 +00:00
|
|
|
|
2017-11-14 15:05:26 +00:00
|
|
|
# add openssl
|
|
|
|
(cd .. && tar -xvf %{SOURCE1})
|
|
|
|
cp CryptoPkg/Library/OpensslLib/openssl/LICENSE LICENSE.openssl
|
2018-01-19 08:36:03 +00:00
|
|
|
|
|
|
|
%autopatch -p1
|
2017-11-14 15:05:26 +00:00
|
|
|
base64 --decode < MdeModulePkg/Logo/Logo-OpenSSL.bmp.b64 > MdeModulePkg/Logo/Logo-OpenSSL.bmp
|
2016-05-21 14:39:41 +00:00
|
|
|
|
2016-04-18 12:16:51 +00:00
|
|
|
%build
|
|
|
|
source ./edksetup.sh
|
|
|
|
|
2016-05-13 19:39:35 +00:00
|
|
|
# compiler
|
2016-04-18 12:16:51 +00:00
|
|
|
CC_FLAGS="-t GCC49"
|
|
|
|
|
|
|
|
# parallel builds
|
|
|
|
JOBS="%{?_smp_mflags}"
|
|
|
|
JOBS="${JOBS#-j}"
|
|
|
|
if test "$JOBS" != ""; then
|
|
|
|
CC_FLAGS="${CC_FLAGS} -n $JOBS"
|
|
|
|
fi
|
|
|
|
|
|
|
|
# common features
|
|
|
|
CC_FLAGS="${CC_FLAGS} -b DEBUG"
|
|
|
|
CC_FLAGS="${CC_FLAGS} --cmd-len=65536"
|
|
|
|
|
|
|
|
# ovmf features
|
|
|
|
OVMF_FLAGS="${CC_FLAGS}"
|
2018-01-19 08:36:03 +00:00
|
|
|
OVMF_FLAGS="${OVMF_FLAGS} -D TLS_ENABLE"
|
2016-04-18 12:16:51 +00:00
|
|
|
OVMF_FLAGS="${OVMF_FLAGS} -D HTTP_BOOT_ENABLE"
|
|
|
|
OVMF_FLAGS="${OVMF_FLAGS} -D NETWORK_IP6_ENABLE"
|
2017-05-09 17:03:58 +00:00
|
|
|
OVMF_FLAGS="${OVMF_FLAGS} -D FD_SIZE_2MB"
|
2016-04-18 12:16:51 +00:00
|
|
|
|
|
|
|
# ovmf + secure boot features
|
|
|
|
OVMF_SB_FLAGS="${OVMF_FLAGS}"
|
|
|
|
OVMF_SB_FLAGS="${OVMF_SB_FLAGS} -D SECURE_BOOT_ENABLE"
|
|
|
|
OVMF_SB_FLAGS="${OVMF_SB_FLAGS} -D SMM_REQUIRE"
|
|
|
|
OVMF_SB_FLAGS="${OVMF_SB_FLAGS} -D EXCLUDE_SHELL_FROM_FD"
|
|
|
|
|
|
|
|
# arm firmware features
|
|
|
|
ARM_FLAGS="${CC_FLAGS}"
|
|
|
|
ARM_FLAGS="${ARM_FLAGS} -D DEBUG_PRINT_ERROR_LEVEL=0x8040004F"
|
|
|
|
|
2016-05-21 14:39:41 +00:00
|
|
|
unset MAKEFLAGS
|
2016-04-18 12:16:51 +00:00
|
|
|
make -C BaseTools #%{?_smp_mflags}
|
2016-04-18 13:53:38 +00:00
|
|
|
sed -i -e 's/-Werror//' Conf/tools_def.txt
|
2016-04-18 12:16:51 +00:00
|
|
|
|
2017-03-15 21:56:49 +00:00
|
|
|
|
2017-11-13 17:44:20 +00:00
|
|
|
%if 0%{?cross:1}
|
2016-07-08 11:16:59 +00:00
|
|
|
export GCC49_IA32_PREFIX="x86_64-linux-gnu-"
|
|
|
|
export GCC49_X64_PREFIX="x86_64-linux-gnu-"
|
2017-11-13 17:44:20 +00:00
|
|
|
export GCC49_AARCH64_PREFIX="aarch64-linux-gnu-"
|
|
|
|
export GCC49_ARM_PREFIX="arm-linux-gnu-"
|
|
|
|
%endif
|
|
|
|
|
|
|
|
# build ovmf (x64)
|
|
|
|
%if 0%{?build_ovmf_x64:1}
|
2016-04-18 12:16:51 +00:00
|
|
|
mkdir -p ovmf
|
|
|
|
build ${OVMF_FLAGS} -a X64 -p OvmfPkg/OvmfPkgX64.dsc
|
2017-03-15 21:56:49 +00:00
|
|
|
cp Build/OvmfX64/*/FV/OVMF_*.fd ovmf/
|
2016-04-18 12:16:51 +00:00
|
|
|
rm -rf Build/OvmfX64
|
|
|
|
|
2017-03-15 21:56:49 +00:00
|
|
|
# build ovmf (x64) with secure boot
|
2016-04-18 12:16:51 +00:00
|
|
|
build ${OVMF_SB_FLAGS} -a IA32 -a X64 -p OvmfPkg/OvmfPkgIa32X64.dsc
|
|
|
|
cp Build/Ovmf3264/*/FV/OVMF_CODE.fd ovmf/OVMF_CODE.secboot.fd
|
|
|
|
|
2017-03-15 21:56:49 +00:00
|
|
|
# build ovmf (x64) shell iso with EnrollDefaultKeys
|
|
|
|
cp Build/Ovmf3264/*/X64/Shell.efi ovmf/
|
2016-04-18 12:16:51 +00:00
|
|
|
cp Build/Ovmf3264/*/X64/EnrollDefaultKeys.efi ovmf
|
2017-03-15 21:56:49 +00:00
|
|
|
sh %{_sourcedir}/build-iso.sh ovmf/
|
2017-11-13 17:44:20 +00:00
|
|
|
%endif
|
2016-04-18 12:16:51 +00:00
|
|
|
|
2017-03-15 21:56:49 +00:00
|
|
|
|
|
|
|
# build ovmf-ia32
|
2017-11-13 17:44:20 +00:00
|
|
|
%if 0%{?build_ovmf_ia32:1}
|
2017-03-15 21:56:49 +00:00
|
|
|
mkdir -p ovmf-ia32
|
|
|
|
build ${OVMF_FLAGS} -a IA32 -p OvmfPkg/OvmfPkgIa32.dsc
|
|
|
|
cp Build/OvmfIa32/*/FV/OVMF_CODE.fd ovmf-ia32/
|
|
|
|
rm -rf Build/OvmfIa32
|
|
|
|
|
|
|
|
# build ovmf-ia32 with secure boot
|
|
|
|
build ${OVMF_SB_FLAGS} -a IA32 -p OvmfPkg/OvmfPkgIa32.dsc
|
|
|
|
cp Build/OvmfIa32/*/FV/OVMF_CODE.fd ovmf-ia32/OVMF_CODE.secboot.fd
|
|
|
|
|
|
|
|
# build ovmf-ia32 shell iso with EnrollDefaultKeys
|
|
|
|
cp Build/OvmfIa32/*/IA32/Shell.efi ovmf-ia32/Shell.efi
|
|
|
|
cp Build/OvmfIa32/*/IA32/EnrollDefaultKeys.efi ovmf-ia32/EnrollDefaultKeys.efi
|
|
|
|
sh %{_sourcedir}/build-iso.sh ovmf-ia32/
|
2017-11-13 17:44:20 +00:00
|
|
|
%endif
|
2017-03-15 21:56:49 +00:00
|
|
|
|
|
|
|
|
2016-07-21 21:47:43 +00:00
|
|
|
# build aarch64 firmware
|
2017-11-13 17:44:20 +00:00
|
|
|
%if 0%{?build_aavmf_aarch64:1}
|
2016-04-18 12:16:51 +00:00
|
|
|
mkdir -p aarch64
|
|
|
|
build $ARM_FLAGS -a AARCH64 -p ArmVirtPkg/ArmVirtQemu.dsc
|
|
|
|
cp Build/ArmVirtQemu-AARCH64/DEBUG_*/FV/*.fd aarch64
|
|
|
|
dd of="aarch64/QEMU_EFI-pflash.raw" if="/dev/zero" bs=1M count=64
|
|
|
|
dd of="aarch64/QEMU_EFI-pflash.raw" if="aarch64/QEMU_EFI.fd" conv=notrunc
|
|
|
|
dd of="aarch64/vars-template-pflash.raw" if="/dev/zero" bs=1M count=64
|
2017-11-13 17:44:20 +00:00
|
|
|
%endif
|
2016-05-21 14:39:41 +00:00
|
|
|
|
2017-03-15 21:56:49 +00:00
|
|
|
|
2016-07-21 21:47:43 +00:00
|
|
|
# build aarch64 firmware
|
2017-11-13 17:44:20 +00:00
|
|
|
%if 0%{?build_aavmf_arm:1}
|
2016-07-21 21:47:43 +00:00
|
|
|
mkdir -p arm
|
|
|
|
build $ARM_FLAGS -a ARM -p ArmVirtPkg/ArmVirtQemu.dsc
|
|
|
|
cp Build/ArmVirtQemu-ARM/DEBUG_*/FV/*.fd arm
|
|
|
|
dd of="arm/QEMU_EFI-pflash.raw" if="/dev/zero" bs=1M count=64
|
|
|
|
dd of="arm/QEMU_EFI-pflash.raw" if="arm/QEMU_EFI.fd" conv=notrunc
|
|
|
|
dd of="arm/vars-template-pflash.raw" if="/dev/zero" bs=1M count=64
|
2017-11-13 17:44:20 +00:00
|
|
|
%endif
|
2013-05-02 12:46:06 +00:00
|
|
|
|
|
|
|
%install
|
2016-04-18 12:16:51 +00:00
|
|
|
mkdir -p %{buildroot}%{_bindir} \
|
|
|
|
%{buildroot}%{_datadir}/%{name}/Conf \
|
|
|
|
%{buildroot}%{_datadir}/%{name}/Scripts
|
|
|
|
install BaseTools/Source/C/bin/* \
|
2015-12-29 17:03:01 +00:00
|
|
|
%{buildroot}%{_bindir}
|
2016-04-18 12:16:51 +00:00
|
|
|
install BaseTools/BinWrappers/PosixLike/LzmaF86Compress \
|
|
|
|
%{buildroot}%{_bindir}
|
|
|
|
install BaseTools/BuildEnv \
|
2014-06-24 07:50:13 +00:00
|
|
|
%{buildroot}%{_datadir}/%{name}
|
2016-04-18 12:16:51 +00:00
|
|
|
install BaseTools/Conf/*.template \
|
2014-06-23 15:25:24 +00:00
|
|
|
%{buildroot}%{_datadir}/%{name}/Conf
|
2016-04-18 12:16:51 +00:00
|
|
|
install BaseTools/Scripts/GccBase.lds \
|
2014-06-23 15:25:24 +00:00
|
|
|
%{buildroot}%{_datadir}/%{name}/Scripts
|
|
|
|
|
2016-04-18 12:16:51 +00:00
|
|
|
cp -R BaseTools/Source/Python %{buildroot}%{_datadir}/%{name}/Python
|
2014-06-23 15:25:24 +00:00
|
|
|
for i in build BPDG Ecc GenDepex GenFds GenPatchPcdTable PatchPcdValue TargetTool Trim UPT; do
|
2016-04-18 12:16:51 +00:00
|
|
|
echo '#!/bin/sh
|
|
|
|
export PYTHONPATH=%{_datadir}/%{name}/Python
|
2013-05-02 12:46:06 +00:00
|
|
|
exec python '%{_datadir}/%{name}/Python/$i/$i.py' "$@"' > %{buildroot}%{_bindir}/$i
|
|
|
|
chmod +x %{buildroot}%{_bindir}/$i
|
|
|
|
done
|
|
|
|
|
2016-04-18 12:16:51 +00:00
|
|
|
mkdir -p %{buildroot}/usr/share/%{name}
|
2017-11-13 17:44:20 +00:00
|
|
|
%if 0%{?build_ovmf_x64:1}
|
2016-04-18 12:16:51 +00:00
|
|
|
cp -a ovmf %{buildroot}/usr/share/%{name}
|
2017-11-13 17:44:20 +00:00
|
|
|
# Libvirt hardcodes this directory name
|
|
|
|
mkdir %{buildroot}/usr/share/OVMF
|
|
|
|
ln -sf ../%{name}/ovmf/OVMF_CODE.fd %{buildroot}/usr/share/OVMF
|
|
|
|
ln -sf ../%{name}/ovmf/OVMF_CODE.secboot.fd %{buildroot}/usr/share/OVMF
|
2017-11-14 16:50:12 +00:00
|
|
|
ln -sf ../%{name}/ovmf/OVMF_VARS.fd %{buildroot}/usr/share/OVMF
|
2017-11-13 17:44:20 +00:00
|
|
|
ln -sf ../%{name}/ovmf/UefiShell.iso %{buildroot}/usr/share/OVMF
|
|
|
|
%endif
|
|
|
|
%if 0%{?build_ovmf_ia32:1}
|
2017-03-15 21:56:49 +00:00
|
|
|
cp -a ovmf-ia32 %{buildroot}/usr/share/%{name}
|
2017-11-13 17:44:20 +00:00
|
|
|
%endif
|
|
|
|
%if 0%{?build_aavmf_aarch64:1}
|
2016-04-18 12:16:51 +00:00
|
|
|
cp -a aarch64 %{buildroot}/usr/share/%{name}
|
2017-11-13 17:44:20 +00:00
|
|
|
# Libvirt hardcodes this directory name
|
|
|
|
mkdir %{buildroot}/usr/share/AAVMF
|
|
|
|
ln -sf ../%{name}/aarch64/QEMU_EFI-pflash.raw %{buildroot}/usr/share/AAVMF/AAVMF_CODE.fd
|
|
|
|
ln -sf ../%{name}/aarch64/vars-template-pflash.raw %{buildroot}/usr/share/AAVMF/AAVMF_VARS.fd
|
|
|
|
%endif
|
|
|
|
%if 0%{?build_aavmf_arm:1}
|
2016-07-21 21:47:43 +00:00
|
|
|
cp -a arm %{buildroot}/usr/share/%{name}
|
2017-11-13 17:44:20 +00:00
|
|
|
ln -sf ../%{name}/arm/QEMU_EFI-pflash.raw %{buildroot}/usr/share/AAVMF/AAVMF32_CODE.fd
|
|
|
|
%endif
|
2016-05-21 14:39:41 +00:00
|
|
|
|
2016-04-18 12:16:51 +00:00
|
|
|
|
2013-05-02 12:46:06 +00:00
|
|
|
%files tools
|
2017-11-14 15:05:26 +00:00
|
|
|
%license License.txt
|
2013-05-02 12:46:06 +00:00
|
|
|
%{_bindir}/BootSectImage
|
2017-11-14 15:05:26 +00:00
|
|
|
%{_bindir}/Brotli
|
2013-05-02 12:46:06 +00:00
|
|
|
%{_bindir}/EfiLdrImage
|
|
|
|
%{_bindir}/EfiRom
|
|
|
|
%{_bindir}/GenCrc32
|
|
|
|
%{_bindir}/GenFfs
|
|
|
|
%{_bindir}/GenFv
|
|
|
|
%{_bindir}/GenFw
|
|
|
|
%{_bindir}/GenPage
|
|
|
|
%{_bindir}/GenSec
|
|
|
|
%{_bindir}/GenVtf
|
|
|
|
%{_bindir}/GnuGenBootSector
|
|
|
|
%{_bindir}/LzmaCompress
|
2014-06-23 15:25:24 +00:00
|
|
|
%{_bindir}/LzmaF86Compress
|
2013-05-02 12:46:06 +00:00
|
|
|
%{_bindir}/Split
|
2014-06-23 15:25:24 +00:00
|
|
|
%{_bindir}/TianoCompress
|
2013-05-02 12:46:06 +00:00
|
|
|
%{_bindir}/VfrCompile
|
|
|
|
%{_bindir}/VolInfo
|
2016-04-18 12:16:51 +00:00
|
|
|
%dir %{_datadir}/%{name}
|
2014-06-24 07:50:13 +00:00
|
|
|
%{_datadir}/%{name}/BuildEnv
|
2016-04-18 12:16:51 +00:00
|
|
|
%{_datadir}/%{name}/Conf
|
|
|
|
%{_datadir}/%{name}/Scripts
|
2013-05-02 12:46:06 +00:00
|
|
|
|
|
|
|
%files tools-python
|
2014-06-23 15:25:24 +00:00
|
|
|
%{_bindir}/build
|
2013-05-02 12:46:06 +00:00
|
|
|
%{_bindir}/BPDG
|
2014-06-23 15:25:24 +00:00
|
|
|
%{_bindir}/Ecc
|
2013-05-02 12:46:06 +00:00
|
|
|
%{_bindir}/GenDepex
|
|
|
|
%{_bindir}/GenFds
|
|
|
|
%{_bindir}/GenPatchPcdTable
|
|
|
|
%{_bindir}/PatchPcdValue
|
|
|
|
%{_bindir}/TargetTool
|
|
|
|
%{_bindir}/Trim
|
|
|
|
%{_bindir}/UPT
|
2016-04-18 12:16:51 +00:00
|
|
|
%dir %{_datadir}/%{name}
|
|
|
|
%{_datadir}/%{name}/Python
|
2013-05-02 12:46:06 +00:00
|
|
|
|
|
|
|
%files tools-doc
|
2016-04-18 12:16:51 +00:00
|
|
|
%doc BaseTools/UserManuals/*.rtf
|
|
|
|
|
2017-11-13 17:44:20 +00:00
|
|
|
%if 0%{?build_ovmf_x64:1}
|
2016-04-18 12:16:51 +00:00
|
|
|
%files ovmf
|
|
|
|
%license OvmfPkg/License.txt
|
|
|
|
%license LICENSE.openssl
|
|
|
|
%doc OvmfPkg/README
|
2017-11-14 15:05:26 +00:00
|
|
|
%doc ovmf-whitepaper-c770f8c.txt
|
2016-04-18 12:16:51 +00:00
|
|
|
%dir /usr/share/%{name}
|
|
|
|
%dir /usr/share/%{name}/ovmf
|
|
|
|
/usr/share/%{name}/ovmf/OVMF*.fd
|
|
|
|
/usr/share/%{name}/ovmf/*.efi
|
|
|
|
/usr/share/%{name}/ovmf/*.iso
|
2017-11-13 17:44:20 +00:00
|
|
|
/usr/share/OVMF
|
|
|
|
%endif
|
2016-04-18 12:16:51 +00:00
|
|
|
|
2017-11-13 17:44:20 +00:00
|
|
|
%if 0%{?build_ovmf_ia32:1}
|
2017-03-15 21:56:49 +00:00
|
|
|
%files ovmf-ia32
|
|
|
|
%license OvmfPkg/License.txt
|
|
|
|
%license LICENSE.openssl
|
|
|
|
%doc OvmfPkg/README
|
2017-11-14 15:05:26 +00:00
|
|
|
%doc ovmf-whitepaper-c770f8c.txt
|
2017-03-15 21:56:49 +00:00
|
|
|
%dir /usr/share/%{name}
|
|
|
|
%dir /usr/share/%{name}/ovmf-ia32
|
|
|
|
/usr/share/%{name}/ovmf-ia32/OVMF*.fd
|
|
|
|
/usr/share/%{name}/ovmf-ia32/*.efi
|
|
|
|
/usr/share/%{name}/ovmf-ia32/*.iso
|
2017-11-13 17:44:20 +00:00
|
|
|
%endif
|
2017-03-15 21:56:49 +00:00
|
|
|
|
2017-11-13 17:44:20 +00:00
|
|
|
%if 0%{?build_aavmf_aarch64:1}
|
2016-04-18 12:16:51 +00:00
|
|
|
%files aarch64
|
2017-11-14 15:05:26 +00:00
|
|
|
%license OvmfPkg/License.txt
|
|
|
|
%license LICENSE.openssl
|
2016-04-18 12:16:51 +00:00
|
|
|
%dir /usr/share/%{name}
|
|
|
|
%dir /usr/share/%{name}/aarch64
|
|
|
|
/usr/share/%{name}/aarch64/QEMU*.fd
|
|
|
|
/usr/share/%{name}/aarch64/*.raw
|
2017-11-13 17:44:20 +00:00
|
|
|
/usr/share/AAVMF/AAVMF_*
|
|
|
|
%endif
|
2016-05-21 14:39:41 +00:00
|
|
|
|
2017-11-13 17:44:20 +00:00
|
|
|
%if 0%{?build_aavmf_arm:1}
|
2016-07-21 21:47:43 +00:00
|
|
|
%files arm
|
2017-11-14 15:05:26 +00:00
|
|
|
%license OvmfPkg/License.txt
|
|
|
|
%license LICENSE.openssl
|
2016-07-21 21:47:43 +00:00
|
|
|
%dir /usr/share/%{name}
|
|
|
|
%dir /usr/share/%{name}/arm
|
|
|
|
/usr/share/%{name}/arm/QEMU*.fd
|
|
|
|
/usr/share/%{name}/arm/*.raw
|
2017-11-13 17:44:20 +00:00
|
|
|
/usr/share/AAVMF/AAVMF32_*
|
|
|
|
%endif
|
2016-07-21 21:47:43 +00:00
|
|
|
|
2013-05-02 12:46:06 +00:00
|
|
|
|
|
|
|
%changelog
|
2018-03-08 10:38:21 +00:00
|
|
|
* Wed Mar 07 2018 Paolo Bonzini <pbonzini@redhat.com> - 20171011git92d07e4-5
|
|
|
|
- Fix GCC 8 compilation
|
|
|
|
- Replace dosfstools and mtools with qemu-img vvfat
|
|
|
|
|
2018-02-07 08:12:29 +00:00
|
|
|
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 20171011git92d07e4-4
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
|
|
|
|
2018-01-19 08:36:03 +00:00
|
|
|
* Fri Jan 19 2018 Paolo Bonzini <pbonzini@redhat.com> - 20170209git296153c5-3
|
|
|
|
- Add OpenSSL patches from Fedora
|
|
|
|
- Enable TLS_MODE
|
|
|
|
|
2017-11-17 07:49:48 +00:00
|
|
|
* Fri Nov 17 2017 Paolo Bonzini <pbonzini@redhat.com> - 20170209git296153c5-2
|
|
|
|
- Backport patches 19-21 from RHEL
|
|
|
|
- Add patches 22-24 to fix SEV slowness
|
|
|
|
- Add fedora conditionals
|
|
|
|
|
|
|
|
* Tue Nov 14 2017 Paolo Bonzini <pbonzini@redhat.com> - 20171011git92d07e4-1
|
2017-11-14 15:05:26 +00:00
|
|
|
- Import source and patches from RHEL version
|
|
|
|
- Update OpenSSL to 1.1.0e
|
|
|
|
- Refresh 0099-Tweak-the-tools_def-to-support-cross-compiling.patch
|
|
|
|
|
2017-11-13 17:44:20 +00:00
|
|
|
* Mon Nov 13 2017 Paolo Bonzini <pbonzini@redhat.com> - 20170209git296153c5-6
|
|
|
|
- Allow non-cross builds
|
|
|
|
- Install /usr/share/OVMF and /usr/share/AAVMF
|
|
|
|
|
2017-08-02 19:57:57 +00:00
|
|
|
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 20170209git296153c5-5
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
|
|
|
|
2017-07-26 07:12:50 +00:00
|
|
|
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 20170209git296153c5-4
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
|
|
|
|
2017-03-15 21:56:49 +00:00
|
|
|
* Wed Mar 15 2017 Cole Robinson <crobinso@redhat.com> - 20170209git296153c5-3
|
|
|
|
- Ship ovmf-ia32 package (bz 1424722)
|
|
|
|
|
2017-02-16 19:15:14 +00:00
|
|
|
* Thu Feb 16 2017 Cole Robinson <crobinso@redhat.com> - 20170209git296153c5-2
|
|
|
|
- Update EnrollDefaultKeys patch (bz #1398743)
|
|
|
|
|
2017-02-13 11:15:58 +00:00
|
|
|
* Mon Feb 13 2017 Paolo Bonzini <pbonzini@redhat.com> - 20170209git296153c5-1
|
|
|
|
- Rebase to git master
|
|
|
|
- New patch 0010 fixes failure to build from source.
|
|
|
|
|
2017-02-10 09:03:46 +00:00
|
|
|
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 20161105git3b25ca8-2
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
|
|
|
|
2016-11-06 20:04:24 +00:00
|
|
|
* Sun Nov 06 2016 Cole Robinson <crobinso@redhat.com> - 20161105git3b25ca8-1
|
|
|
|
- Rebase to git master
|
|
|
|
|
2016-09-09 15:13:22 +00:00
|
|
|
* Fri Sep 9 2016 Tom Callaway <spot@fedoraproject.org> - 20160418gita8c39ba-5
|
|
|
|
- replace legally problematic openssl source with "hobbled" tarball
|
|
|
|
|
2016-07-21 21:47:43 +00:00
|
|
|
* Thu Jul 21 2016 Gerd Hoffmann <kraxel@redhat.com> - 20160418gita8c39ba-4
|
|
|
|
- Also build for armv7.
|
|
|
|
|
|
|
|
* Tue Jul 19 2016 Gerd Hoffmann <kraxel@redhat.com> 20160418gita8c39ba-3
|
2016-07-19 06:36:46 +00:00
|
|
|
- Update EnrollDefaultKeys patch.
|
|
|
|
|
2016-07-08 11:16:59 +00:00
|
|
|
* Fri Jul 8 2016 Paolo Bonzini <pbonzini@redhat.com> - 20160418gita8c39ba-2
|
|
|
|
- Distribute edk2-ovmf on aarch64
|
|
|
|
|
2016-05-21 14:39:41 +00:00
|
|
|
* Sat May 21 2016 Cole Robinson <crobinso@redhat.com> - 20160418gita8c39ba-1
|
|
|
|
- Distribute edk2-aarch64 on x86 (bz #1338027)
|
|
|
|
|
2016-04-18 12:16:51 +00:00
|
|
|
* Mon Apr 18 2016 Gerd Hoffmann <kraxel@redhat.com> 20160418gita8c39ba-0
|
|
|
|
- Update to latest git.
|
|
|
|
- Add firmware builds (FatPkg is free now).
|
|
|
|
|
2016-02-15 17:30:33 +00:00
|
|
|
* Mon Feb 15 2016 Cole Robinson <crobinso@redhat.com> 20151127svn18975-3
|
|
|
|
- Fix FTBFS gcc warning (bz 1307439)
|
|
|
|
|
2016-02-03 19:40:27 +00:00
|
|
|
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 20151127svn18975-2
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
|
|
|
|
2016-02-15 17:30:33 +00:00
|
|
|
* Fri Nov 27 2015 Paolo Bonzini <pbonzini@redhat.com> - 20151127svn18975-1
|
2015-11-27 13:00:44 +00:00
|
|
|
- Rebase to 20151127svn18975-1
|
|
|
|
- Linker script renamed to GccBase.lds
|
|
|
|
|
2015-06-17 05:16:07 +00:00
|
|
|
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 20150519svn17469-2
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
|
|
|
|
2015-11-27 13:00:44 +00:00
|
|
|
* Tue May 19 2015 Paolo Bonzini <pbonzini@redhat.com> - 20150519svn17469-1
|
2015-05-19 10:46:43 +00:00
|
|
|
- Rebase to 20150519svn17469-1
|
|
|
|
- edk2-remove-tree-check.patch now upstream
|
|
|
|
|
2015-05-02 11:27:18 +00:00
|
|
|
* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 20140724svn2670-6
|
|
|
|
- Rebuilt for GCC 5 C++11 ABI change
|
|
|
|
|
2014-08-16 10:25:01 +00:00
|
|
|
* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 20140724svn2670-5
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
|
|
|
|
2014-07-24 12:27:29 +00:00
|
|
|
* Thu Jul 24 2014 Paolo Bonzini <pbonzini@redhat.com> - 20140724svn2670-1
|
|
|
|
- Rebase to 20140724svn2670-1
|
|
|
|
|
2014-06-24 08:43:55 +00:00
|
|
|
* Tue Jun 24 2014 Paolo Bonzini <pbonzini@redhat.com> - 20140624svn2649-1
|
|
|
|
- Use standalone .tar.xz from buildtools repo
|
|
|
|
|
2014-06-24 07:50:13 +00:00
|
|
|
* Tue Jun 24 2014 Paolo Bonzini <pbonzini@redhat.com> - 20140328svn15376-4
|
|
|
|
- Install BuildTools/BaseEnv
|
|
|
|
|
2014-06-23 15:25:24 +00:00
|
|
|
* Mon Jun 23 2014 Paolo Bonzini <pbonzini@redhat.com> - 20140328svn15376-3
|
|
|
|
- Rebase to get GCC48 configuration
|
|
|
|
- Package EDK_TOOLS_PATH as /usr/share/edk2
|
|
|
|
- Package "build" and LzmaF86Compress too, as well as the new
|
|
|
|
tools Ecc and TianoCompress.
|
|
|
|
|
2014-06-07 09:55:49 +00:00
|
|
|
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 20131114svn14844-2
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
|
|
|
|
2013-11-14 14:50:55 +00:00
|
|
|
* Thu Nov 14 2013 Paolo Bonzini <pbonzini@redhat.com> - 20131114svn14844-1
|
|
|
|
- Upgrade to r14844.
|
2013-11-14 15:30:12 +00:00
|
|
|
- Remove upstreamed parts of patch 1.
|
2013-11-14 14:50:55 +00:00
|
|
|
|
2013-11-08 13:34:26 +00:00
|
|
|
* Fri Nov 8 2013 Paolo Bonzini <pbonzini@redhat.com> - 20130515svn14365-7
|
|
|
|
- Make BaseTools compile on ARM.
|
|
|
|
|
2013-08-30 07:52:03 +00:00
|
|
|
* Fri Aug 30 2013 Paolo Bonzini <pbonzini@redhat.com> - 20130515svn14365-6
|
|
|
|
- Revert previous change; firmware packages should be noarch, and building
|
|
|
|
BaseTools twice is simply wrong.
|
|
|
|
|
2013-08-19 16:24:02 +00:00
|
|
|
* Mon Aug 19 2013 Kay Sievers <kay@redhat.com> - 20130515svn14365-5
|
|
|
|
- Add sub-package with EFI shell
|
|
|
|
|
2013-08-03 09:22:44 +00:00
|
|
|
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 20130515svn14365-4
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
|
|
|
|
|
2013-05-23 06:16:31 +00:00
|
|
|
* Thu May 23 2013 Dan Horák <dan[at]danny.cz> 20130515svn14365-3
|
|
|
|
- set ExclusiveArch
|
|
|
|
|
2013-05-02 12:46:06 +00:00
|
|
|
* Thu May 16 2013 Paolo Bonzini <pbonzini@redhat.com> 20130515svn14365-2
|
|
|
|
- Fix edk2-tools-python Requires
|
|
|
|
|
|
|
|
* Wed May 15 2013 Paolo Bonzini <pbonzini@redhat.com> 20130515svn14365-1
|
|
|
|
- Split edk2-tools-doc and edk2-tools-python
|
|
|
|
- Fix Python BuildRequires
|
|
|
|
- Remove FatBinPkg at package creation time.
|
|
|
|
- Use fully versioned dependency.
|
|
|
|
- Add comment on how to generate the sources.
|
|
|
|
|
|
|
|
* Thu May 2 2013 Paolo Bonzini <pbonzini@redhat.com> 20130502.g732d199-1
|
|
|
|
- Create.
|