diff options
author | Gerd Hoffmann <kraxel@redhat.com> | 2013-09-13 11:45:49 +0200 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2013-09-13 11:45:49 +0200 |
commit | e6439b53148e3f1928b40bc12f34535d1cd4fd9a (patch) | |
tree | 28007331660d4c688bee58f3fbb92ca80a6cbc81 /ipxe.git.spec | |
download | ipxe-e6439b53148e3f1928b40bc12f34535d1cd4fd9a.tar.gz |
initial revision
Diffstat (limited to 'ipxe.git.spec')
-rw-r--r-- | ipxe.git.spec | 123 |
1 files changed, 123 insertions, 0 deletions
diff --git a/ipxe.git.spec b/ipxe.git.spec new file mode 100644 index 0000000..1a45ae7 --- /dev/null +++ b/ipxe.git.spec @@ -0,0 +1,123 @@ +%global debug_package %{nil} +%global build_roms 8086100e 10ec8029 10222000 10ec8139 1af41000 + +Name: ipxe.git +Version: 1.0.0 +Release: 1156.b0.g3c29c8e%{?dist} + +Summary: Network boot loader roms - git snapshot +Group: Applications/Emulators +License: GPLv2 and BSD + +Source0: ipxe.git-g3c29c8e.tar.xz + +BuildRequires: binutils-devel +BuildRequires: edk2.git-tools + +%description +iPXE is an open source network bootloader. It provides a direct +replacement for proprietary PXE ROMs, with many extra features such as +DNS, HTTP, iSCSI, etc. + +%package bios +Summary: Network boot loader roms - seabios - git snapshot +Requires: ipxe.git +%description bios +seabios roms + +%package efi-ia32 +Summary: Network boot loader roms - 32bit efi - git snapshot +Requires: ipxe.git +%description efi-ia32 +32bit efi roms + +%ifarch x86_64 +%package efi-x64 +Summary: Network boot loader roms - 64bit efi - git snapshot +Requires: ipxe.git +%description efi-x64 +64bit efi roms +%endif + +%package combined +Summary: Network boot loader roms - combined - git snapshot +Requires: ipxe.git +%description combined +combined roms (all-in-one: legacy bios + 32bit efi + 64bit efi) + +%prep +%setup -q -n %{name} + +%build +mkdir .git +touch .git/index +mkdir src/bin-combined + +make -C src VERSION=%{version}-%{release} bin/undionly.kpxe +make -C src VERSION=%{version}-%{release} bin-i386-efi/snponly.efi +%ifarch x86_64 +make -C src VERSION=%{version}-%{release} bin-x86_64-efi/snponly.efi +%endif + +for rom in %{build_roms}; do + make -C src VERSION=%{version}-%{release} bin/${rom}.rom + make -C src VERSION=%{version}-%{release} bin-i386-efi/${rom}.efidrv + make -C src VERSION=%{version}-%{release} bin-i386-efi/${rom}.efirom + mv src/bin-i386-efi/${rom}.efirom src/bin-i386-efi/${rom}.rom + +%ifarch x86_64 + make -C src VERSION=%{version}-%{release} bin-x86_64-efi/${rom}.efidrv + make -C src VERSION=%{version}-%{release} bin-x86_64-efi/${rom}.efirom + mv src/bin-x86_64-efi/${rom}.efirom src/bin-x86_64-efi/${rom}.rom +%endif + + vid="0x${rom%%????}" + did="0x${rom#????}" + EfiRom -f "$vid" -i "$did" --pci23 \ + -b src/bin/${rom}.rom \ + -ec src/bin-i386-efi/${rom}.efidrv \ +%ifarch x86_64 + -ec src/bin-x86_64-efi/${rom}.efidrv \ +%endif + -o src/bin-combined/${rom}.rom + EfiRom -d src/bin-combined/${rom}.rom +done + +%install +mkdir -p %{buildroot}/usr/share/%{name}/bios +cp -v src/bin/*.rom %{buildroot}/usr/share/%{name}/bios +cp -v src/bin/*.kpxe %{buildroot}/usr/share/%{name}/bios + +mkdir -p %{buildroot}/usr/share/%{name}/efi-ia32 +cp -v src/bin-i386-efi/*.efi %{buildroot}/usr/share/%{name}/efi-ia32 +cp -v src/bin-i386-efi/*.efidrv %{buildroot}/usr/share/%{name}/efi-ia32 +cp -v src/bin-i386-efi/*.rom %{buildroot}/usr/share/%{name}/efi-ia32 + +%ifarch x86_64 +mkdir -p %{buildroot}/usr/share/%{name}/efi-x64 +cp -v src/bin-x86_64-efi/*.efi %{buildroot}/usr/share/%{name}/efi-x64 +cp -v src/bin-x86_64-efi/*.efidrv %{buildroot}/usr/share/%{name}/efi-x64 +cp -v src/bin-x86_64-efi/*.rom %{buildroot}/usr/share/%{name}/efi-x64 +%endif + +mkdir -p %{buildroot}/usr/share/%{name}/combined +cp -v src/bin-combined/*.rom %{buildroot}/usr/share/%{name}/combined + +%files +%doc README COPYING + +%files bios +/usr/share/%{name}/bios + +%files efi-ia32 +/usr/share/%{name}/efi-ia32 + +%ifarch x86_64 +%files efi-x64 +/usr/share/%{name}/efi-x64 +%endif + +%files combined +/usr/share/%{name}/combined + +%changelog |