name = grub
version = 1.99
-release = 3
-sup_arches = i686
+release = 4
+sup_arches = x86_64 i686
groups = System/Boot
url = http://www.gnu.org/software/grub/
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 \
+ 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
build
requires
autoconf
+ autogen
automake
bison
flex
freetype-devel
gettext
+ libdevmapper-devel
ncurses-devel
zlib-devel
end
# Can only use very basic CFLAGS.
- export CFLAGS = -O2 -pipe
+ export CFLAGS = -Os -pipe
export CXXFLAGS = %{CFLAGS}
+ 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.am conf/Makefile.common \
+ 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
+
configure_options += \
- --sysconfdir=/etc \
--sbindir=/sbin \
--with-platform=pc
- install
+ build_cmds
+ cd ../%{thisapp}-efi
+ #./autogen.sh
+ ./configure %{configure_options} \
+ --with-platform=efi \
+ --program-transform-name=s,grub,grub-efi,
+ 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_cmds
+ cd ../%{thisapp}-efi
make install DESTDIR=%{BUILDROOT}
+ mv -v %{BUILDROOT}/etc/bash_completion.d/grub{,-efi}
+ mv -v %{BUILDROOT}/usr/lib/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
+
# Install theme file
install -m 0744 %{DIR_SOURCE}/05_theme %{BUILDROOT}/etc/grub.d/
# 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
+ --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