render / rpms / edk2

Forked from rpms/edk2 3 months ago
Clone

Blame edk2.spec

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