%global debug_package %{nil} %global build_roms 8086100e 10ec8029 10222000 10ec8139 1af41000 %define _binary_payload w2.xzdio %define _source_payload w2.xzdio 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: /usr/bin/EfiRom BuildRequires: pkgconfig(liblzma) %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 src/bin-combined VER="%{version}-%{release}" MMVER=$(echo $VER | cut -d. -f1,2) make -C src VERSION=$VER MM_VERSION=$MMVER bin/undionly.kpxe make -C src VERSION=$VER MM_VERSION=$MMVER bin-i386-efi/snponly.efi %ifarch x86_64 make -C src VERSION=$VER MM_VERSION=$MMVER 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#????}" src/util/catrom.pl \ src/bin/${rom}.rom \ src/bin-i386-efi/${rom}.rom \ %ifarch x86_64 src/bin-x86_64-efi/${rom}.rom \ %endif > 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