]> git.pld-linux.org Git - packages/grub2.git/blobdiff - grub2.spec
- rel 5; fix 'grub-mkimage: error: relocation 0x4 is not implemented yet.' with newer...
[packages/grub2.git] / grub2.spec
index fa92156a1f1b80e2435810d3090006ee1eaa44a8..a121d1025629552fdc8bec5b76dca5c837664607 100644 (file)
 # 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
This page took 0.067069 seconds and 4 git commands to generate.