%bcond_without pc # do not build for PC BIOS platform
%bcond_without efi # do not build for EFI platform
-%ifnarch %{ix86} %{x8664}
+%ifnarch %{ix86} %{x8664} x32
%undefine with_pc
%endif
-%ifnarch %{ix86} %{x8664} ia64
+%ifnarch %{ix86} %{x8664} x32 ia64
%undefine with_efi
%endif
-%ifnarch %{x8664}
+%ifnarch %{x8664} x32
# non-x86_64 arch doesn't support this
%undefine with_efiemu
%endif
# the 'most natural' platform should go last
-%ifarch %{ix86} %{x8664} ia64
+%ifarch %{ix86} %{x8664} x32 ia64
%define platforms %{?with_efi:efi} %{?with_pc:pc}
%endif
%ifarch ppc ppc64 sparc64
%define platforms loongson
%endif
+%define rel 1
Summary: GRand Unified Bootloader
Summary(de.UTF-8): GRUB2 - ein Bootloader für x86 und ppc
Summary(hu.UTF-8): GRUB2 - rendszerbetöltő x86 és ppc gépekhez
Summary(pl.UTF-8): GRUB2 - bootloader dla x86 i ppc
Summary(pt_BR.UTF-8): Gerenciador de inicialização GRUB2
Name: grub2
-Version: 2.00
-Release: 6
+Version: 2.02
+Release: 5
License: GPL v2
Group: Base
-Source0: http://ftp.gnu.org/gnu/grub/grub-%{version}.tar.xz
-# Source0-md5: a1043102fbc7bcedbf53e7ee3d17ab91
+Source0: ftp://ftp.gnu.org/gnu/grub/grub-%{version}.tar.xz
+# Source0-md5: 8a4a2a95aac551fb0fba860ceabfa1d3
Source1: update-grub
Source2: update-grub.8
Source3: grub.sysconfig
Patch3: grub-lvmdevice.patch
Patch4: pld-mkconfigdir.patch
Patch5: grub-mkconfig-diagnostics.patch
-Patch6: ppc.patch
-Patch7: %{name}-awk.patch
-Patch8: posix.patch
-Patch9: %{name}-gets.patch
-Patch10: %{name}-fonts_path.patch
-Patch11: %{name}-tftp_fixes.patch
-Patch12: add-vlan-tag-support.patch
-Patch13: just-say-linux.patch
-Patch14: add-GRUB-DISABLE-SUBMENU-option.patch
-Patch15: add-X-option-to-printf-functions.patch
-Patch16: dhcp-client-id-and-uuid-options-added.patch
-Patch17: fix-http-crash.patch
-Patch18: Issue-separate-DNS-queries-for-ipv4-and-ipv6.patch
-Patch19: search-for-specific-config-file-for-netboot.patch
-Patch20: ignore-kernel-symlinks.patch
-Patch21: choose-preferred-initrd.patch
-Patch22: %{name}-cfg.patch
-Patch23: %{name}-freetype_include.patch
-Patch24: %{name}-efinet_fix.patch
-Patch25: %{name}-linuxefi.patch
-Patch26: %{name}-generated_files.patch
+Patch6: posix.patch
+Patch7: %{name}-fonts_path.patch
+Patch8: add-vlan-tag-support.patch
+Patch9: just-say-linux.patch
+Patch10: ignore-kernel-symlinks.patch
+Patch11: choose-preferred-initrd.patch
+Patch12: %{name}-cfg.patch
+Patch13: efi-net-fix.patch
+Patch14: blscfg.patch
+# https://git.archlinux.org/svntogit/packages.git/plain/trunk/0002-intel-ucode.patch?h=packages/grub
+Patch15: intel-ucode.patch
+Patch16: xfs.patch
+Patch17: gcc8.patch
+Patch18: grub2-binutils.patch
URL: http://www.gnu.org/software/grub/
BuildRequires: autoconf >= 2.53
-BuildRequires: autogen
BuildRequires: automake >= 1:1.11.1-1
BuildRequires: bison
BuildRequires: device-mapper-devel
BuildRequires: fonts-TTF-DejaVu
BuildRequires: freetype-devel >= 2
BuildRequires: gawk
-BuildRequires: gettext-devel
+BuildRequires: gcc >= 5:3.4
+BuildRequires: gettext-tools
+BuildRequires: glibc-localedb-all
BuildRequires: glibc-static
BuildRequires: help2man
BuildRequires: libfuse-devel
BuildRequires: libtool
BuildRequires: ncurses-devel
+BuildRequires: python
+BuildRequires: python-modules
BuildRequires: rpm >= 4.4.9-56
BuildRequires: rpmbuild(macros) >= 1.213
BuildRequires: sed >= 4.0
%if "%{pld_release}" == "ac"
BuildRequires: libgcc32
%else
-BuildRequires: gcc-multilib
+BuildRequires: gcc-multilib-32
%endif
%endif
Requires: %{name}-platform = %{version}-%{release}
Suggests: os-prober
Provides: bootloader
Conflicts: grub
-ExclusiveArch: %{ix86} %{x8664} ia64 mips mipsel ppc ppc64 sparc64
+ExclusiveArch: %{ix86} %{x8664} x32 ia64 mips mipsel ppc ppc64 sparc64
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define _sbindir /sbin
Summary(pl.UTF-8): Bashowe uzupełnianie nazw dla GRUB-a
Group: Applications/Shells
Requires: bash-completion
+%if "%{_rpmversion}" >= "5"
+BuildArch: noarch
+%endif
%description -n bash-completion-%{name}
This package provides bash-completion for GRUB.
%patch9 -p1
%patch10 -p1
%patch11 -p1
-%patch12 -p1
+%patch12 -p0
%patch13 -p1
%patch14 -p1
%patch15 -p1
%patch16 -p1
%patch17 -p1
%patch18 -p1
-%patch19 -p1
-%patch20 -p1
-%patch21 -p1
-%patch22 -p0
-%patch23 -p1
-%patch24 -p1
-%patch25 -p1
-%patch26 -p1
+
+# we don't have C.utf-8 and need an UTF-8 locale for build
+sed -i -e 's/LC_ALL=C.UTF-8/LC_ALL=en_US.utf-8/g' po/Makefile* po/Rules*
%build
# if gold is used then grub doesn't even boot
# https://savannah.gnu.org/bugs/?34539
# http://sourceware.org/bugzilla/show_bug.cgi?id=14196
install -d our-ld
-ln -s /usr/bin/ld.bfd our-ld/ld
+ln -f -s /usr/bin/ld.bfd our-ld/ld
export PATH=$(pwd)/our-ld:$PATH
-cp -f /usr/share/automake/config.sub .
-%{__libtoolize}
+## not only the typicall autotools stuff
+#./autogen.sh
+
+#{__gettextize}
%{__aclocal} -I m4
-%{__autoheader}
-echo timestamp > stamp-h.in
%{__autoconf}
+%{__autoheader}
%{__automake}
for platform in %{platforms} ; do
platform_opts=""
fi
- ln -s ../configure .
+ ln -f -s ../configure .
# mawk stalls at ./genmoddep.awk, so force gawk
AWK=gawk \
%configure \
--with-platform=${platform} \
--disable-werror \
+ --enable-grub-themes \
%if %{with grubemu}
--enable-grub-emu-usb \
--enable-grub-emu-sdl \
$platform_opts \
TARGET_LDFLAGS=-static
+ %{__make} -j1 -C po update-gmo
%{__make}
cd ..
done
rm -f $RPM_BUILD_ROOT%{_infodir}/dir
# platform specific, unnecessarily always installed
-%ifnarch %{ix86} %{x8664}
+%ifnarch %{ix86} %{x8664} x32
%{__rm} $RPM_BUILD_ROOT{%{_sbindir}/grub-bios-setup,%{_mandir}/man8/grub-bios-setup.8}
%endif
%ifnarch sparc64
%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/grub
%attr(755,root,root) %{_sbindir}/grub-editenv
%attr(755,root,root) %{_sbindir}/grub-fstest
+%attr(755,root,root) %{_sbindir}/grub-file
+%attr(755,root,root) %{_sbindir}/grub-glue-efi
%attr(755,root,root) %{_sbindir}/grub-kbdcomp
%attr(755,root,root) %{_sbindir}/grub-install
+%attr(755,root,root) %{_sbindir}/grub-macbless
%attr(755,root,root) %{_sbindir}/grub-menulst2cfg
%attr(755,root,root) %{_sbindir}/grub-mkconfig
%attr(755,root,root) %{_sbindir}/grub-mklayout
%attr(755,root,root) %{_sbindir}/grub-mount
%attr(755,root,root) %{_sbindir}/grub-ofpathname
%attr(755,root,root) %{_sbindir}/grub-reboot
+%attr(755,root,root) %{_sbindir}/grub-render-label
%attr(755,root,root) %{_sbindir}/grub-script-check
%attr(755,root,root) %{_sbindir}/grub-set-default
+%attr(755,root,root) %{_sbindir}/grub-syslinux2cfg
%attr(755,root,root) %{_sbindir}/update-grub
-%ifarch %{ix86} %{x8664}
+%ifarch %{ix86} %{x8664} x32
%attr(755,root,root) %{_sbindir}/grub-bios-setup
%{_mandir}/man8/grub-bios-setup.8*
%endif
-%ifarch %{ix86} %{x8664}
+%ifarch %{ix86} %{x8664} x32
%attr(755,root,root) %{_sbindir}/grub-mkimage
%{_mandir}/man1/grub-mkimage.1*
%else
%{_mandir}/man8/grub-sparc64-setup.8*
%endif
%{_mandir}/man1/grub-editenv.1*
+%{_mandir}/man1/grub-file.1*
%{_mandir}/man1/grub-fstest.1*
+%{_mandir}/man1/grub-glue-efi.1*
%{_mandir}/man1/grub-kbdcomp.1*
%{_mandir}/man1/grub-menulst2cfg.1*
%{_mandir}/man1/grub-mklayout.1*
+%{_mandir}/man1/grub-mknetdir.1*
%{_mandir}/man1/grub-mkpasswd-pbkdf2.1*
%{_mandir}/man1/grub-mkrelpath.1*
%{_mandir}/man1/grub-mkrescue.1*
%{_mandir}/man1/grub-mkstandalone.1*
%{_mandir}/man1/grub-mount.1*
+%{_mandir}/man1/grub-render-label.1*
%{_mandir}/man1/grub-script-check.1*
+%{_mandir}/man1/grub-syslinux2cfg.1*
%{_mandir}/man8/grub-install.8*
+%{_mandir}/man8/grub-macbless.8*
%{_mandir}/man8/grub-mkconfig.8*
-%{_mandir}/man8/grub-mknetdir.8*
%{_mandir}/man8/grub-ofpathname.8*
%{_mandir}/man8/grub-reboot.8*
%{_mandir}/man8/grub-set-default.8*
%attr(755,root,root) /lib/grub.d/30_os-prober
%attr(755,root,root) /lib/grub.d/41_custom
-%ifarch %{ix86} %{x8664}
+# these are now installed only on matching hosts
+#%attr(755,root,root) /lib/grub.d/10_hurd
+#%attr(755,root,root) /lib/grub.d/10_illumos
+#%attr(755,root,root) /lib/grub.d/10_kfreebsd
+#%attr(755,root,root) /lib/grub.d/10_netbsd
+#%attr(755,root,root) /lib/grub.d/10_xnu
+
+%ifarch %{ix86} %{x8664} x32
%attr(755,root,root) %{_sbindir}/grub-probe
%{_mandir}/man8/grub-probe.8*
%endif
%{_libexecdir}/*-pc/efiemu*.o
%endif
%{_libexecdir}/*-pc/kernel.img
-%ifarch %{ix86} %{x8664} sparc sparc64
+%ifarch %{ix86} %{x8664} x32 sparc sparc64
%{_libexecdir}/*-pc/boot.img
+%{_libexecdir}/*-pc/boot_hybrid.img
%{_libexecdir}/*-pc/cdboot.img
%{_libexecdir}/*-pc/diskboot.img
%{_libexecdir}/*-pc/lnxboot.img