###############################################################################
name = grub
-version = 1.99
-release = 3
-sup_arches = i686
+version = 2.02
+release = 1
+
+sup_arches = aarch64 x86_64 i686
+thisapp = %{name}-%{version}
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
-source_dl = http://ftp.gnu.org/gnu/grub/
+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
+ debugedit >= 5.3.5-2
+ dejavu-fonts-sans-fonts
flex
freetype-devel
gettext
+ libdevmapper-devel
ncurses-devel
zlib-devel
+ %{unifont}
end
- # Can only use very basic CFLAGS.
- export CFLAGS = -O2 -pipe
- export CXXFLAGS = %{CFLAGS}
+ # Don't leak our CFLAGS to boot code
+ export HOST_CFLAGS = %{CFLAGS}
+ export HOST_LDFLAGS = %{LDFLAGS}
- configure_options += \
- --sysconfdir=/etc \
- --sbindir=/sbin \
- --with-platform=pc
+ platforms = efi
- install
- make install DESTDIR=%{BUILDROOT}
+ if "%{DISTRO_PLATFORM}" == "x86"
+ platforms += pc
+ end
- # Install theme file
- install -m 0744 %{DIR_SOURCE}/05_theme %{BUILDROOT}/etc/grub.d/
+ prepare_cmds
+ cp -vf %{unifont} unifont.pcf.gz
+ ./autogen.sh
- # Install splash background
- mkdir -pv %{BUILDROOT}/boot/grub
- install %{DIR_SOURCE}/splash.png %{BUILDROOT}/boot/grub
+ for platform in %{platforms}; do
+ cp -r %{DIR_APP} %{DIR_APP}-${platform}
+ done
+ end
+
+ # As the modules contain always 32 bit code, they
+ # should be living in /usr/lib.
+ libdir = %{prefix}/lib
+
+ build
+ for platform in %{platforms}; do
+ pushd %{DIR_APP}-${platform}
+ ./configure \
+ %{configure_options} \
+ --with-platform=${platform} \
+ --disable-werror \
+ CFLAGS= LDFLAGS=
+
+ make %{PARALLELISMFLAGS}
+ popd
+ done
+ end
+
+ install
+ for platform in %{platforms}; do
+ pushd %{DIR_APP}-${platform}
+ make install DESTDIR=%{BUILDROOT}
+ popd
+ done
# 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
-end
-quality-agent
- whitelist_nx
- /sbin/*|/usr/bin/*
- end
+ debuginfo_strict_build_id = false
end
packages
package %{name}
requires
gettext
- os-prober
- /usr/share/X11/fonts/misc/unifont.pcf.gz
+ 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
-
- # 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}-debuginfo