X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=grub2.spec;h=a121d1025629552fdc8bec5b76dca5c837664607;hb=8c3ce92;hp=fa92156a1f1b80e2435810d3090006ee1eaa44a8;hpb=78e73798096961bd837abdf60de0fa3673734c78;p=packages%2Fgrub2.git diff --git a/grub2.spec b/grub2.spec index fa92156..a121d10 100644 --- a/grub2.spec +++ b/grub2.spec @@ -1,95 +1,142 @@ # TODO # - reap out which in probe scripts and drop R: which # - subpackages? e.g. modules and utils -# - subpackage for /sbin/grub-mkfont (pulls freetype lib dep) # - check where is that locale path: /boot/grub/locale and fix it or change it # - grubemu notes # --enable-grub-emu-usb conflicts with --enable-grub-emu-pci, emu-pci seems experimental # - to build and install the `grub-emu' debugging utility we need to re-run build with --target=emu # - put grub-emu to subpackage if it is fixed -# - warning: Installed (but unpackaged) file(s) found: -# /boot/grub/config.h -# /etc/bash_completion.d/grub # # Conditional build: -%bcond_with grubemu # build grub-emu debugging utility +%bcond_with grubemu # build grub-emu debugging utility %bcond_without efiemu # build efiemu runtimes +%bcond_without pc # do not build for PC BIOS platform +%bcond_without efi # do not build for EFI platform -%if "%{cc_version}" < "3.4" -# cc does not support: -# cc1: sorry, unimplemented: code model `large' not supported yet -%undefine with_efiemu +%ifnarch %{ix86} %{x8664} x32 +%undefine with_pc +%endif +%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} x32 ia64 +%define platforms %{?with_efi:efi} %{?with_pc:pc} +%endif +%ifarch ppc ppc64 sparc64 +%define platforms ieee1275 +%endif +%ifarch mips +%define platforms arc +%endif +%ifarch mipsel +%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: 1.99 -Release: 4 +Version: 2.02 +Release: 5 License: GPL v2 Group: Base -Source0: http://ftp.gnu.org/gnu/grub/grub-%{version}.tar.xz -# Source0-md5: 27e360b951f006c464299d06bbd63442 +Source0: ftp://ftp.gnu.org/gnu/grub/grub-%{version}.tar.xz +# Source0-md5: 8a4a2a95aac551fb0fba860ceabfa1d3 Source1: update-grub Source2: update-grub.8 Source3: grub.sysconfig Source4: grub-custom.cfg -URL: http://www.gnu.org/software/grub/ -Patch0: pld-initrd.patch Patch1: pld-sysconfdir.patch Patch2: grub-garbage.patch -Patch3: grub-shelllib.patch -Patch4: grub-install.in.patch -Patch5: grub-lvmdevice.patch -Patch6: pld-mkconfigdir.patch -Patch7: grub-mkconfig-diagnostics.patch -Patch8: ppc.patch -Patch9: %{name}-awk.patch +Patch3: grub-lvmdevice.patch +Patch4: pld-mkconfigdir.patch +Patch5: grub-mkconfig-diagnostics.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: automake >= 1:1.11.1-1 BuildRequires: bison -BuildRequires: freetype-devel +BuildRequires: device-mapper-devel +BuildRequires: flex >= 2.5.35 +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 +BuildRequires: tar >= 1:1.22 BuildRequires: texinfo +BuildRequires: xz +BuildRequires: xz-devel %ifarch %{x8664} BuildRequires: /usr/lib/libc.so -%endif %if "%{pld_release}" == "ac" BuildRequires: libgcc32 %else -BuildRequires: gcc-multilib +BuildRequires: gcc-multilib-32 %endif -BuildRequires: ncurses-devel -BuildRequires: sed >= 4.0 -BuildRequires: glibc-static -BuildRequires: rpm >= 4.4.9-56 -BuildRequires: rpmbuild(macros) >= 1.213 +%endif +Requires: %{name}-platform = %{version}-%{release} +Requires: pld-release Requires: which +%ifarch %{ix86} %{x8664} +Suggests: %{name}-platform-pc +%endif Suggests: cdrkit-mkisofs Suggests: os-prober Provides: bootloader Conflicts: grub -ExclusiveArch: %{ix86} %{x8664} ppc sparc64 +ExclusiveArch: %{ix86} %{x8664} x32 ia64 mips mipsel ppc ppc64 sparc64 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define _sbindir /sbin %define _bindir %{_sbindir} -%define _libdir /boot +%define _libdir /lib +%define _datadir %{_libdir} %define _libexecdir %{_libdir}/grub +%define _grubdir /boot/grub +%define _localedir /usr/share/locale -# needs real fix -#%%define filterout_ld -Wl,--no-copy-dt-needed-entries +# part of grub code is not relocable (these are not Linux libs) +# stack protector also breaks non-Linux binaries +# any kind of forced optimizations makes grub2 unreliable (random +# reboots and hangs on boot menu screen) +%define filterout_c -fPIC -O. +%undefine _ssp_cflags +%undefine _fortify_cflags %description GRUB is a GPLed bootloader intended to unify bootloading across x86 @@ -163,9 +210,9 @@ usuarios conmás experiencia y que deseen obtener más recursos de su cargador de inicialización (boot loader). %description -l pl.UTF-8 -GRUB jest bootloaderem na licencji GNU, mającym na celu unifikację +GRUB jest bootloaderem na licencji GNU GPL, mającym na celu unifikację procesu bootowania na systemach x86. Potrafi nie tylko ładować jądra -Linuksa i *BSD: posiada również implementacje standardu Multiboot, +Linuksa i *BSD: posiada również implementację standardu Multiboot, który pozwala na elastyczne ładowanie wielu obrazów bootowalnych (czego wymagają modułowe jądra, takie jak GNU Hurd). @@ -178,9 +225,70 @@ operacionais comerciais para PC. O GRUB pode ser uma boa alternativa ao LILO, para usuários mais avançados e que querem mais recursos de seu boot loader. +%package -n bash-completion-%{name} +Summary: bash-completion for GRUB +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. + +%description -n bash-completion-%{name} -l pl.UTF-8 +Pakiet ten dostarcza bashowe uzupełnianie nazw dla GRUB-a. + +%package platform-pc +Summary: PC BIOS platform support for GRUB +Summary(pl.UTF-8): Obsługa platformy PC BIOS dla GRUB-a +Group: Base +Provides: %{name}-platform = %{version}-%{release} + +%description platform-pc +PC BIOS platform support for GRUB. + +%description platform-pc -l pl.UTF-8 +Obsługa platformy PC BIOS dla GRUB-a. + +%package platform-efi +Summary: (U)EFI platform support for GRUB +Summary(pl.UTF-8): Obsługa platformy (U)EFI dla GRUB-a +Group: Base +Suggests: efibootmgr +Provides: %{name}-platform = %{version}-%{release} + +%description platform-efi +(U)EFI platform support for GRUB. + +%description platform-efi -l pl.UTF-8 +Obsługa platformy (U)EFI dla GRUB-a. + +%package mkfont +Summary: GRUB font files converter +Summary(pl.UTF-8): Konwerter plików fontów GRUB-a +Group: Base + +%description mkfont +Converts common font file formats into PF2. + +%description mkfont -l pl.UTF-8 +Program do konwersji popularnych formatów plików fontów do PF2. + +%package theme-starfield +Summary: starfield theme for GRUB +Summary(pl.UTF-8): Motyw starfield dla GRUB-a +Group: Base + +%description theme-starfield +starfield theme for GRUB. + +%description theme-starfield -l pl.UTF-8 +Motyw starfield dla GRUB-a. + %prep %setup -q -n grub-%{version} -%patch0 -p1 %patch1 -p1 %patch2 -p1 %patch3 -p1 @@ -190,66 +298,118 @@ avançados e que querem mais recursos de seu boot loader. %patch7 -p1 %patch8 -p1 %patch9 -p1 - -%if "%{cc_version}" < "3.4" -grep -rl -- -Wno-missing-field-initializers . | xargs sed -i -e 's,-Wno-missing-field-initializers,,' -sed -i -e '/video_mod_CFLAGS/s/$/ -Wno-error/' conf/common.rmk -%endif +%patch10 -p1 +%patch11 -p1 +%patch12 -p0 +%patch13 -p1 +%patch14 -p1 +%patch15 -p1 +%patch16 -p1 +%patch17 -p1 +%patch18 -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 -cp -f /usr/share/automake/config.sub . -%{__libtoolize} -%{__aclocal} -I m4 -%{__autoheader} -echo timestamp > stamp-h.in -%{__autoconf} -export CFLAGS="%{rpmcflags} -Os %{?debug:-g}" +# 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 -f -s /usr/bin/ld.bfd our-ld/ld +export PATH=$(pwd)/our-ld:$PATH -# mawk stalls at ./genmoddep.awk, so force gawk -AWK=gawk \ -%configure \ - --disable-werror \ -%if %{with grubemu} - --enable-grub-emu-usb \ - --enable-grub-emu-sdl \ - --enable-grub-emu-pci \ -%endif - --%{!?with_efiemu:dis}%{?with_efiemu:en}able-efiemu \ - TARGET_LDFLAGS=-static +## not only the typicall autotools stuff +#./autogen.sh -%{__make} +#{__gettextize} +%{__aclocal} -I m4 +%{__autoconf} +%{__autoheader} +%{__automake} + +for platform in %{platforms} ; do + install -d build-${platform} + cd build-${platform} + + if [ "$platform" != "efi" ] ; then + platform_opts="--enable-efiemu%{!?with_efiemu:=no}" + else + platform_opts="" + fi + + 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 \ + --enable-grub-emu-pci \ + %endif + $platform_opts \ + TARGET_LDFLAGS=-static + + %{__make} -j1 -C po update-gmo + %{__make} + cd .. +done %install rm -rf $RPM_BUILD_ROOT -install -d $RPM_BUILD_ROOT{/etc/sysconfig,%{_sysconfdir}/grub.d} -%{__make} install \ - pkgdatadir=%{_libexecdir} \ - pkglibdir=%{_libexecdir} \ - DESTDIR=$RPM_BUILD_ROOT +for platform in %{platforms} ; do + cd build-${platform} + %{__make} install \ + pkgdatadir=%{_libexecdir} \ + pkglibdir=%{_libexecdir} \ + DESTDIR=$RPM_BUILD_ROOT + cd .. +done + +# not in Th (?) +%{__rm} -r $RPM_BUILD_ROOT%{_localedir}/de@hebrew +%{__rm} -r $RPM_BUILD_ROOT%{_localedir}/en@{arabic,cyrillic,greek,hebrew,piglatin} %find_lang grub # this must be after 'make install' install -d $RPM_BUILD_ROOT%{_libexecdir}/locale -cp -a docs/grub.cfg $RPM_BUILD_ROOT%{_libexecdir} +install -d $RPM_BUILD_ROOT%{_grubdir} +cp -p docs/grub.cfg $RPM_BUILD_ROOT%{_grubdir} + +# grub.d/41_custom +cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_grubdir}/custom.cfg +%{__rm} $RPM_BUILD_ROOT/lib/grub.d/40_custom + install -p %{SOURCE1} $RPM_BUILD_ROOT%{_sbindir}/update-grub -cp -a %{SOURCE2} $RPM_BUILD_ROOT%{_mandir}/man8/update-grub.8 -cp -a %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/grub -cp -a %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/grub.d/custom.cfg +cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_mandir}/man8/update-grub.8 + +install -d $RPM_BUILD_ROOT/etc/sysconfig +cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/grub + +# rm -f, because it sometimes exists, sometimes not, depending which texlive you have installed rm -f $RPM_BUILD_ROOT%{_infodir}/dir -# deprecated. we don't need it -rm $RPM_BUILD_ROOT/boot/grub/update-grub_lib +# platform specific, unnecessarily always installed +%ifnarch %{ix86} %{x8664} x32 +%{__rm} $RPM_BUILD_ROOT{%{_sbindir}/grub-bios-setup,%{_mandir}/man8/grub-bios-setup.8} +%endif +%ifnarch sparc64 +%{__rm} $RPM_BUILD_ROOT{%{_sbindir}/grub-sparc64-setup,%{_mandir}/man8/grub-sparc64-setup.8} +%endif # core.img - bootable image generated by grub-mkimage(1) via grub-install(1) -touch $RPM_BUILD_ROOT%{_libexecdir}/core.img -touch $RPM_BUILD_ROOT%{_libexecdir}/device.map +touch $RPM_BUILD_ROOT%{_grubdir}/core.img +touch $RPM_BUILD_ROOT%{_grubdir}/device.map # needs to be exactly 1KiB # but we're ghosting it. so whom are we kidding here? :P (maybe %config it in future?) -dd bs=1024 if=/dev/zero count=1 of=$RPM_BUILD_ROOT%{_libexecdir}/grubenv +dd bs=1024 if=/dev/zero count=1 of=$RPM_BUILD_ROOT%{_grubdir}/grubenv %clean rm -rf $RPM_BUILD_ROOT @@ -260,8 +420,10 @@ rm -rf $RPM_BUILD_ROOT %postun -p %{_sbindir}/postshell -/usr/sbin/fix-info-dir -c %{_infodir} -# Note this on version upgrade -%triggerpostun -- %{name} < %{version}-0 +%triggerpostun -- %{name} < 2.00-2 +# Note this trigger on version upgrade needed only for upgrade from +# old grub2 packages which contained modules in /boot/grub +# or were built with optimizations enabled # don't do anything on --downgrade if [ $1 -le 1 ]; then exit 0 @@ -269,49 +431,75 @@ fi echo "Grub was upgraded, trying to setup it to boot sector" /sbin/grub-install '(hd0)' || : +%triggerpostun -- %{name} < 1.99-7.3 +# migrate /etc/grub.d/custom.cfg.rpmsave -> /boot/grub/custom.cfg +if [ -f %{_sysconfdir}/grub.d/custom.cfg.rpmsave ]; then + cp -f %{_grubdir}/custom.cfg{,.rpmnew} + mv -f %{_sysconfdir}/grub.d/custom.cfg.rpmsave %{_grubdir}/custom.cfg +fi + %files -f grub.lang %defattr(644,root,root,755) %doc AUTHORS ChangeLog NEWS README THANKS TODO %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/grub -%attr(755,root,root) %{_sbindir}/grub-bin2h %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-mkfont %attr(755,root,root) %{_sbindir}/grub-mklayout %attr(755,root,root) %{_sbindir}/grub-mknetdir %attr(755,root,root) %{_sbindir}/grub-mkpasswd-pbkdf2 %attr(755,root,root) %{_sbindir}/grub-mkrelpath %attr(755,root,root) %{_sbindir}/grub-mkrescue +%attr(755,root,root) %{_sbindir}/grub-mkstandalone +%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} x32 %attr(755,root,root) %{_sbindir}/grub-mkimage %{_mandir}/man1/grub-mkimage.1* %else %attr(755,root,root) %{_sbindir}/grub-probe -%attr(755,root,root) %{_sbindir}/grub-mkdevicemap %{_mandir}/man8/grub-probe.8* -%{_mandir}/man8/grub-mkdevicemap.8* %endif -%{_mandir}/man1/grub-bin2h.1* +%ifarch sparc64 +%attr(755,root,root) %{_sbindir}/grub-sparc64-setup +%{_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-mkfont.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* %{_mandir}/man8/update-grub.8* @@ -319,32 +507,20 @@ echo "Grub was upgraded, trying to setup it to boot sector" %attr(755,root,root) %{_sbindir}/grub-emu %{_mandir}/man8/grub-emu.8* %endif -/lib/grub-mkconfig_lib +%{_libexecdir}/grub-mkconfig_lib +%dir %{_grubdir} %dir %{_libexecdir} # XXX: check this locale dir location and if it is neccesaary to exist on /boot + %dir %{_libexecdir}/locale -%config(noreplace) %verify(not md5 mtime size) %{_libexecdir}/grub.cfg -%{_libexecdir}/*.lst -%{_libexecdir}/*.mod -%if %{with efiemu} -%ifarch %{x8664} -%{_libexecdir}/efiemu*.o -%endif -%endif -%{_libexecdir}/kernel.img -%ifarch %{ix86} %{x8664} sparc sparc64 -%{_libexecdir}/boot.img -%{_libexecdir}/cdboot.img -%{_libexecdir}/diskboot.img -%{_libexecdir}/lnxboot.img -%{_libexecdir}/pxeboot.img -%endif +%config(noreplace) %verify(not md5 mtime size) %{_grubdir}/grub.cfg +%config(noreplace) %verify(not md5 mtime size) %{_grubdir}/custom.cfg # generated by grub at runtime -%ghost %{_libexecdir}/device.map -%ghost %{_libexecdir}/core.img -%ghost %{_libexecdir}/grubenv +%ghost %{_grubdir}/device.map +%ghost %{_grubdir}/core.img +%ghost %{_grubdir}/grubenv %dir /lib/grub.d %doc /lib/grub.d/README @@ -352,19 +528,76 @@ echo "Grub was upgraded, trying to setup it to boot sector" %attr(755,root,root) /lib/grub.d/10_linux %attr(755,root,root) /lib/grub.d/20_linux_xen %attr(755,root,root) /lib/grub.d/30_os-prober -%attr(755,root,root) /lib/grub.d/40_custom %attr(755,root,root) /lib/grub.d/41_custom -%dir %attr(750,root,root) %{_sysconfdir}/grub.d -%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/grub.d/custom.cfg +# 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} -%attr(755,root,root) %{_sbindir}/grub-mkdevicemap +%ifarch %{ix86} %{x8664} x32 %attr(755,root,root) %{_sbindir}/grub-probe -%attr(755,root,root) %{_sbindir}/grub-setup -%{_mandir}/man8/grub-mkdevicemap.8* %{_mandir}/man8/grub-probe.8* -%{_mandir}/man8/grub-setup.8* %endif %{_infodir}/grub*.info* + +%dir %{_datadir}/grub/themes + +%if %{with pc} +%files platform-pc +%defattr(644,root,root,755) +%dir %{_libexecdir}/*-pc +%{_libexecdir}/*-pc/modinfo.sh +%{_libexecdir}/*-pc/*.exec +%{_libexecdir}/*-pc/*.image +%{_libexecdir}/*-pc/*.lst +%{_libexecdir}/*-pc/*.mod +%{_libexecdir}/*-pc/*.module +%{_libexecdir}/*-pc/lzma_decompress.img +%{_libexecdir}/*-pc/config.h +%{_libexecdir}/*-pc/gdb_grub +%{_libexecdir}/*-pc/gmodule.pl +%if %{with efiemu} +%{_libexecdir}/*-pc/efiemu*.o +%endif +%{_libexecdir}/*-pc/kernel.img +%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 +%{_libexecdir}/*-pc/pxeboot.img +%endif +%endif + +%if %{with efi} +%files platform-efi +%defattr(644,root,root,755) +%dir %{_libexecdir}/*-efi +%{_libexecdir}/*-efi/modinfo.sh +%{_libexecdir}/*-efi/*.exec +%{_libexecdir}/*-efi/*.lst +%{_libexecdir}/*-efi/*.mod +%{_libexecdir}/*-efi/*.module +%{_libexecdir}/*-efi/config.h +%{_libexecdir}/*-efi/gdb_grub +%{_libexecdir}/*-efi/gmodule.pl +%{_libexecdir}/*-efi/kernel.img +%endif + +%files mkfont +%defattr(644,root,root,755) +%attr(755,root,root) %{_sbindir}/grub-mkfont +%{_mandir}/man1/grub-mkfont.1* + +%files theme-starfield +%defattr(644,root,root,755) +%{_datadir}/grub/themes/starfield + +%files -n bash-completion-%{name} +%defattr(644,root,root,755) +/etc/bash_completion.d/grub