############################################################################### # IPFire.org - An Open Source Firewall Solution # # Copyright (C) - IPFire Development Team # ############################################################################### name = grub version = 2.00 release = 2 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 # Unifont unifont = /usr/share/X11/fonts/misc/unifont.pcf.gz build requires autoconf autogen automake bison bzip2-devel dejavu-fonts-sans-fonts flex freetype-devel gettext libdevmapper-devel ncurses-devel zlib-devel %{unifont} end prepare_cmds cp -vf %{unifont} unifont.pcf.gz ./autogen.sh # 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" \ --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 # Don't ship the default theme, replace it by our own one. rm -rfv %{BUILDROOT}/boot/grub/themes/starfield \ %{datadir}/grub/themes mkdir -pv %{BUILDROOT}/boot/grub/themes/system cp -rfv %{DIR_SOURCE}/theme/* \ %{BUILDROOT}/boot/grub/themes/system/ # Prepare the fonts. mkdir -pv %{BUILDROOT}/boot/grub/themes/system pushd %{BUILDROOT}/boot/grub/themes/system/ %{BUILDROOT}%{bindir}/grub-mkfont -o DejaVuSans-10.pf2 -s 10 \ %{datadir}/fonts/dejavu/DejaVuSans.ttf %{BUILDROOT}%{bindir}/grub-mkfont -o DejaVuSans-12.pf2 -s 12 \ %{datadir}/fonts/dejavu/DejaVuSans.ttf %{BUILDROOT}%{bindir}/grub-mkfont -o DejaVuSans-Bold-14.pf2 \ -s 14 %{datadir}/fonts/dejavu/DejaVuSans-Bold.ttf popd end debuginfo_strict_build_id = false end quality-agent whitelist_nx /usr/bin/*|/usr/sbin/* end end packages package %{name} requires gettext os-prober system-logos >= 2 end configfiles /boot/grub/grub.cfg /etc/default/grub 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