############################################################################### # IPFire.org - An Open Source Firewall Solution # # Copyright (C) - IPFire Development Team # ############################################################################### name = grub version = 2.00 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/ 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 paxctl zlib-devel %{unifont} end prepare_cmds cp -vf %{unifont} unifont.pcf.gz ./autogen.sh 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/-Wp,-D_FORTIFY_SOURCE=2//g' \ -e 's/-fstack-protector-all//g' \ -e 's/-fstack-protector//g' \ -e 's/-fPIC//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' )" install_cmds # 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 # Disable hardening. paxctl -mpes \ %{BUILDROOT}%{sbindir}/grub-bios-setup \ %{BUILDROOT}%{sbindir}/grub-probe paxctl -mpex \ %{BUILDROOT}%{bindir}/grub-script-check end debuginfo_strict_build_id = false end quality-agent whitelist_nx %{bindir}/*|%{sbindir}/* end end packages package %{name} requires gettext os-prober system-logos >= 2 end # An EFI version of grub does not exist any more. obsoletes grub-efi <= 2.0.0-2 end configfiles /boot/grub/grub.cfg /etc/default/grub end end package %{name}-debuginfo template DEBUGINFO end end