############################################################################### # IPFire.org - An Open Source Firewall Solution # # Copyright (C) - IPFire Development Team # ############################################################################### name = grub version = 2.00 prerelease = beta5 release = 0.3.%{prerelease} thisapp = %{name}-%{version}~%{prerelease} sup_arches = x86_64 i686 groups = System/Boot url = http://www.gnu.org/software/grub/ license = GPLv2+ summary = Grand Unified Boot Loader. description GRUB (Grand Unified Boot Loader) is an experimental boot loader capable of booting into most free operating systems - Linux, FreeBSD, NetBSD, GNU Mach, and others as well as most commercial operating systems. end source_dl = http://ftp.gnu.org/gnu/grub/ ftp://alpha.gnu.org/gnu/grub/ sources = %{thisapp}.tar.xz build requires autoconf autogen automake bison bzip2-devel flex freetype-devel gettext libdevmapper-devel ncurses-devel zlib-devel end prepare_cmds # Create a copy of the source tree to build # an EFI enabled version of grub. cp -pR . %{DIR_SRC}/%{thisapp}-efi end # As the modules contain always 32 bit code, they # should be living in /usr/lib. libdir = %{prefix}/lib configure_options += \ --target="i386" \ --datadir=%{libdir} \ --with-platform=pc \ --program-transform-name=s,grub,grub, \ --disable-werror \ CFLAGS="$(echo %{CFLAGS} | sed \ -e 's/-fstack-protector//g' \ -e 's/--param=ssp-buffer-size=4//g' \ -e 's/-mregparm=3/-mregparm=4/g' \ -e 's/-fexceptions//g' \ -e 's/-m64//g' \ -e 's/-fasynchronous-unwind-tables//g' )" build_cmds cd ../%{thisapp}-efi ./configure \ %{configure_options} \ --with-platform=efi \ CFLAGS="$(echo %{CFLAGS} | sed \ -e 's/-O.//g' \ -e 's/-fstack-protector//g' \ -e 's/--param=ssp-buffer-size=4//g' \ -e 's/-mregparm=3/-mregparm=4/g' \ -e 's/-fexceptions//g' \ -e 's/-m64//g' \ -e 's/-fasynchronous-unwind-tables//g' )" make %{PARALLELISMFLAGS} ./grub-mkimage \ -O i386-efi \ -p /EFI/%{DISTRO_SNAME}/grub-efi \ -o grub.efi \ -d grub-core part_gpt hfsplus fat ext2 btrfs normal chain \ boot configfile linux appleldr minicmd loadbios reboot halt \ search font gfxterm echo video all_video end install cd ../%{thisapp}-efi make install DESTDIR=%{BUILDROOT} install -m 755 -d %{BUILDROOT}/boot/efi/EFI/%{DISTRO_SNAME}/ install -d %{BUILDROOT}/boot/efi/EFI/%{DISTRO_SNAME}/grub-efi touch %{BUILDROOT}/boot/efi/EFI/%{DISTRO_SNAME}/grub-efi/grub.cfg ln -svf ../boot/efi/EFI/%{DISTRO_SNAME}/grub-efi/grub.cfg %{BUILDROOT}/etc/grub-efi.cfg install -m 755 grub.efi %{BUILDROOT}/boot/efi/EFI/%{DISTRO_SNAME}/grub-efi/grub.efi cd - make install DESTDIR=%{BUILDROOT} # Install empty configuration file. mkdir -pv %{BUILDROOT}/boot/grub touch %{BUILDROOT}/boot/grub/grub.cfg ln -svf ../boot/grub/grub.cfg %{BUILDROOT}%{sysconfdir}/grub2.cfg end debuginfo_strict_build_id = false end quality-agent whitelist_nx /usr/bin/*|/usr/sbin/* end end packages package %{name} requires gettext os-prober /usr/share/X11/fonts/misc/unifont.pcf.gz system-logos end configfiles /boot/grub/grub.cfg /etc/default/grub end # Generate grub compatible font for graphical boot menu # This only converts Latin-1, Latin Extended A+B, Arrows, Box and Block characters script postin /usr/bin/grub-mkfont --output /boot/grub/unifont.pf2 \ --range=0x0000-0x0241,0x2190-0x21FF,0x2500-0x259f \ /usr/share/X11/fonts/misc/unifont.pcf.gz end end package %{name}-efi description EFI version of GRUB, the Grand Unified Boot Loader. end summary = %{description} requires += grub = %{thisver} configfiles /boot/efi/EFI/%{DISTRO_SNAME}/grub-efi/grub.cfg end files /boot/efi /etc/grub-efi.cfg /usr/lib/grub/i386-efi end end package %{name}-debuginfo template DEBUGINFO end end