Blame edk2.spec

Paolo Bonzini d2839d
%define SVNDATE   20140724
Paolo Bonzini d2839d
%define SVNREV    2670
Paolo Bonzini 9f191d
Paolo Bonzini 9f191d
Name:		edk2
Paolo Bonzini 9f191d
Version:	%{SVNDATE}svn%{SVNREV}
Peter Robinson c83d14
Release:	5%{?dist}
Paolo Bonzini 9f191d
Summary:	EFI Development Kit II
Paolo Bonzini 9f191d
Paolo Bonzini 9f191d
# There are no formal releases from upstream.
Paolo Bonzini 9f191d
# Tarballs are created with:
Paolo Bonzini 9f191d
Paolo Bonzini 9f191d
# svn export -r ${SVNREV} \
Paolo Bonzini 7fb401
#     https://edk2-buildtools.svn.sourceforge.net/svnroot/edk2-buildtools/trunk/BaseTools edk2-buildtools-r${SVNREV}
Paolo Bonzini 7fb401
# rm -rf edk2-buildtools-r${SVNREV}/Bin
Paolo Bonzini 7fb401
# tar -cv edk2-buildtools-r${SVNREV} | xz -6 > edk2-buildtools-r${SVNREV}.tar.xz
Paolo Bonzini 7fb401
Source0:	edk2-buildtools-r%{SVNREV}.tar.xz
Paolo Bonzini 60a9a2
Patch1:		basetools-arm.patch
Paolo Bonzini 0655ef
Patch2:		edk2-remove-tree-check.patch
Paolo Bonzini 9f191d
Paolo Bonzini 9f191d
License:	BSD
Paolo Bonzini 9f191d
Group:		Applications/Emulators
Paolo Bonzini 9f191d
URL:		http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=EDK2
Paolo Bonzini 9f191d
Paolo Bonzini 517112
# We need to build tools everywhere, but how is still an open question
Kay Sievers bf879e
# https://bugzilla.redhat.com/show_bug.cgi?id=992180
Paolo Bonzini aedc70
ExclusiveArch:	%{ix86} x86_64 %{arm}
Dan Horák 151636
Paolo Bonzini 9f191d
BuildRequires:	python2-devel
Paolo Bonzini 9f191d
BuildRequires:	libuuid-devel
Paolo Bonzini 9f191d
Paolo Bonzini 9f191d
Requires:	edk2-tools%{?_isa} = %{version}-%{release}
Paolo Bonzini 7fb401
Requires:	edk2-tools-doc%{?_isa} = %{version}-%{release}
Paolo Bonzini 9f191d
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
Paolo Bonzini 9f191d
Summary:	EFI Development Kit II Tools
Paolo Bonzini 9f191d
Group:		Development/Tools
Paolo Bonzini 9f191d
Requires:	edk2-tools-python = %{version}-%{release}
Paolo Bonzini 9f191d
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
Paolo Bonzini 9f191d
Summary:	EFI Development Kit II Tools
Paolo Bonzini 9f191d
Group:		Development/Tools
Paolo Bonzini 9f191d
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
Paolo Bonzini 9f191d
Summary:	Documentation for EFI Development Kit II Tools
Paolo Bonzini 9f191d
Group:		Development/Tools
Paolo Bonzini 9f191d
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 9f191d
%prep
Paolo Bonzini 7fb401
%setup -q -n edk2-buildtools-r%{SVNREV}
Paolo Bonzini 60a9a2
%patch1 -p1
Paolo Bonzini 0655ef
%patch2 -p1
Paolo Bonzini 9f191d
Paolo Bonzini 9f191d
%build
Paolo Bonzini 7fb401
export WORKSPACE=`pwd`
Paolo Bonzini 9f191d
2ffbb0
# Build is broken if MAKEFLAGS contains -j option.
2ffbb0
unset MAKEFLAGS
Paolo Bonzini 7fb401
make
Paolo Bonzini 9f191d
Paolo Bonzini 9f191d
%install
Paolo Bonzini 9f191d
mkdir -p %{buildroot}%{_bindir}
Paolo Bonzini 9f191d
install	\
Paolo Bonzini 7fb401
	Source/C/bin/BootSectImage \
Paolo Bonzini 7fb401
	Source/C/bin/EfiLdrImage \
Paolo Bonzini 7fb401
	Source/C/bin/EfiRom \
Paolo Bonzini 7fb401
	Source/C/bin/GenCrc32 \
Paolo Bonzini 7fb401
	Source/C/bin/GenFfs \
Paolo Bonzini 7fb401
	Source/C/bin/GenFv \
Paolo Bonzini 7fb401
	Source/C/bin/GenFw \
Paolo Bonzini 7fb401
	Source/C/bin/GenPage \
Paolo Bonzini 7fb401
	Source/C/bin/GenSec \
Paolo Bonzini 7fb401
	Source/C/bin/GenVtf \
Paolo Bonzini 7fb401
	Source/C/bin/GnuGenBootSector \
Paolo Bonzini 7fb401
	Source/C/bin/LzmaCompress \
Paolo Bonzini 7fb401
	BinWrappers/PosixLike/LzmaF86Compress \
Paolo Bonzini 7fb401
	Source/C/bin/Split \
Paolo Bonzini 7fb401
	Source/C/bin/TianoCompress \
Paolo Bonzini 7fb401
	Source/C/bin/VfrCompile \
Paolo Bonzini 7fb401
	Source/C/bin/VolInfo \
Paolo Bonzini 9f191d
	%{buildroot}%{_bindir}
Paolo Bonzini 9f191d
Paolo Bonzini 9f191d
ln -f %{buildroot}%{_bindir}/GnuGenBootSector \
Paolo Bonzini 9f191d
	%{buildroot}%{_bindir}/GenBootSector
Paolo Bonzini 9f191d
Paolo Bonzini 9f191d
mkdir -p %{buildroot}%{_datadir}/%{name}
Paolo Bonzini 0655ef
install \
Paolo Bonzini 7fb401
        BuildEnv \
Paolo Bonzini 0655ef
        %{buildroot}%{_datadir}/%{name}
Paolo Bonzini d282ae
Paolo Bonzini d282ae
mkdir -p %{buildroot}%{_datadir}/%{name}/Conf
Paolo Bonzini d282ae
install \
Paolo Bonzini 7fb401
        Conf/build_rule.template \
Paolo Bonzini 7fb401
        Conf/tools_def.template \
Paolo Bonzini 7fb401
        Conf/target.template \
Paolo Bonzini d282ae
        %{buildroot}%{_datadir}/%{name}/Conf
Paolo Bonzini d282ae
Paolo Bonzini d282ae
mkdir -p %{buildroot}%{_datadir}/%{name}/Scripts
Paolo Bonzini d282ae
install \
Paolo Bonzini 7fb401
        Scripts/gcc4.4-ld-script \
Paolo Bonzini d282ae
        %{buildroot}%{_datadir}/%{name}/Scripts
Paolo Bonzini d282ae
Paolo Bonzini 7fb401
cp -R Source/Python %{buildroot}%{_datadir}/%{name}/Python
Paolo Bonzini 9f191d
Paolo Bonzini 9f191d
find %{buildroot}%{_datadir}/%{name}/Python -name "*.pyd" | xargs rm
Paolo Bonzini 9f191d
Paolo Bonzini d282ae
for i in build BPDG Ecc GenDepex GenFds GenPatchPcdTable PatchPcdValue TargetTool Trim UPT; do
Paolo Bonzini 9f191d
  echo '#!/bin/sh
Paolo Bonzini 9f191d
PYTHONPATH=%{_datadir}/%{name}/Python
Paolo Bonzini 9f191d
export PYTHONPATH
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
Paolo Bonzini 9f191d
%files tools
Paolo Bonzini 9f191d
%{_bindir}/BootSectImage
Paolo Bonzini 9f191d
%{_bindir}/EfiLdrImage
Paolo Bonzini 9f191d
%{_bindir}/EfiRom
Paolo Bonzini 9f191d
%{_bindir}/GenBootSector
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
Paolo Bonzini 0655ef
%{_datadir}/%{name}/BuildEnv
Paolo Bonzini d282ae
%{_datadir}/%{name}/Conf/
Paolo Bonzini d282ae
%{_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
Paolo Bonzini 9f191d
%{_datadir}/%{name}/Python/
Paolo Bonzini 9f191d
Paolo Bonzini 9f191d
%files tools-doc
Paolo Bonzini 7fb401
%doc UserManuals/BootSectImage_Utility_Man_Page.rtf
Paolo Bonzini 7fb401
%doc UserManuals/Build_Utility_Man_Page.rtf
Paolo Bonzini 7fb401
%doc UserManuals/EfiLdrImage_Utility_Man_Page.rtf
Paolo Bonzini 7fb401
%doc UserManuals/EfiRom_Utility_Man_Page.rtf
Paolo Bonzini 7fb401
%doc UserManuals/GenBootSector_Utility_Man_Page.rtf
Paolo Bonzini 7fb401
%doc UserManuals/GenCrc32_Utility_Man_Page.rtf
Paolo Bonzini 7fb401
%doc UserManuals/GenDepex_Utility_Man_Page.rtf
Paolo Bonzini 7fb401
%doc UserManuals/GenFds_Utility_Man_Page.rtf
Paolo Bonzini 7fb401
%doc UserManuals/GenFfs_Utility_Man_Page.rtf
Paolo Bonzini 7fb401
%doc UserManuals/GenFv_Utility_Man_Page.rtf
Paolo Bonzini 7fb401
%doc UserManuals/GenFw_Utility_Man_Page.rtf
Paolo Bonzini 7fb401
%doc UserManuals/GenPage_Utility_Man_Page.rtf
Paolo Bonzini 7fb401
%doc UserManuals/GenPatchPcdTable_Utility_Man_Page.rtf
Paolo Bonzini 7fb401
%doc UserManuals/GenSec_Utility_Man_Page.rtf
Paolo Bonzini 7fb401
%doc UserManuals/GenVtf_Utility_Man_Page.rtf
Paolo Bonzini 7fb401
%doc UserManuals/LzmaCompress_Utility_Man_Page.rtf
Paolo Bonzini 7fb401
%doc UserManuals/PatchPcdValue_Utility_Man_Page.rtf
Paolo Bonzini 7fb401
%doc UserManuals/SplitFile_Utility_Man_Page.rtf
Paolo Bonzini 7fb401
%doc UserManuals/TargetTool_Utility_Man_Page.rtf
Paolo Bonzini 7fb401
%doc UserManuals/TianoCompress_Utility_Man_Page.rtf
Paolo Bonzini 7fb401
%doc UserManuals/Trim_Utility_Man_Page.rtf
Paolo Bonzini 7fb401
%doc UserManuals/VfrCompiler_Utility_Man_Page.rtf
Paolo Bonzini 7fb401
%doc UserManuals/VolInfo_Utility_Man_Page.rtf
Paolo Bonzini 9f191d
Paolo Bonzini 9f191d
%changelog
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
Dennis Gilmore 4d0780
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 20131114svn14844-2
Dennis Gilmore 4d0780
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
Dennis Gilmore 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
Dennis Gilmore e144da
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 20130515svn14365-4
Dennis Gilmore e144da
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
Dennis Gilmore 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.