############################################################################### # IPFire.org - An Open Source Firewall Solution # # Copyright (C) - IPFire Development Team # ############################################################################### name = grub version = 1.99 release = 5 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/ build requires autoconf autogen automake bison flex freetype-devel gettext libdevmapper-devel ncurses-devel zlib-devel end prepare_cmds # Replace pkglib_DATA (automake 1.11.2 incompatibility) sed -i -e "s/pkglib_DATA/pkgdata_DATA/g" \ -e "s/pkglib_SCRIPTS/pkgdata_SCRIPTS/g" \ Makefile* */Makefile* \ gentpl.py util/grub-*.in ./autogen.sh # Create a copy of the source tree to build # an EFI enabled version of grub. cp -R . %{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" \ --sbindir=/sbin \ --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 \ --program-transform-name=s,grub,grub-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 efi_gop efi_uga end install cd ../%{thisapp}-efi make install DESTDIR=%{BUILDROOT} mv -v %{BUILDROOT}/etc/bash_completion.d/grub{,-efi} sed -e "s,grub/grub-mkconfig_lib,grub-efi/grub-mkconfig_lib," \ -i %{BUILDROOT}/sbin/grub-efi-mkconfig 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 theme file install -m 0744 %{DIR_SOURCE}/05_theme %{BUILDROOT}/etc/grub.d/ # Install splash background mkdir -pv %{BUILDROOT}/boot/grub install %{DIR_SOURCE}/splash.png %{BUILDROOT}/boot/grub # Install empty configuration file. touch %{BUILDROOT}/boot/grub/grub.cfg end end quality-agent whitelist_nx /sbin/*|/usr/bin/* end end packages package %{name} requires gettext os-prober /usr/share/X11/fonts/misc/unifont.pcf.gz 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/bash_completion.d/grub-efi /etc/grub-efi.cfg /sbin/grub-efi-* /usr/bin/grub-efi-* /usr/lib/grub-efi end end package %{name}-debuginfo template DEBUGINFO end end