2 # - reap out which in probe scripts and drop R: which
3 # - subpackages? e.g. modules and utils
4 # - check where is that locale path: /boot/grub/locale and fix it or change it
6 # --enable-grub-emu-usb conflicts with --enable-grub-emu-pci, emu-pci seems experimental
7 # - to build and install the `grub-emu' debugging utility we need to re-run build with --target=emu
8 # - put grub-emu to subpackage if it is fixed
11 %bcond_with grubemu # grub-emu debugging utility
12 %bcond_without efiemu # efiemu runtimes (64-bit efiemu on 32-bit boot platform)
13 %bcond_with unifont # unifont based fonts
14 %bcond_without arc # MIPS ARC platform support
15 %bcond_without coreboot # coreboot/linuxbios platform support (x86/arm specific)
16 %bcond_without efi # EFI platform support
17 %bcond_without ieee1275 # ieee1275 platform support (x86/ppc/sparc specific)
18 %bcond_without loongson # MIPS loongson platform support (mipsel specific)
19 %bcond_without multiboot # multiboot platform support (x86/arm specific)
20 %bcond_without pc # PC BIOS platform support (x86 specific)
21 %bcond_without qemu # qemu platform support (x86/mips specific)
22 %bcond_without uboot # ARM uBoot platform support
23 %bcond_without xen # Xen platform support (x86 specific)
24 %bcond_without xen_pvh # Xen PVH platform support (x86 specific)
26 %ifnarch mips mipsel mips64 mips64el
29 %ifnarch %{ix86} %{x8664} x32 %{arm}
30 %undefine with_coreboot
32 %ifnarch %{ix86} %{x8664} x32 %{arm} aarch64 ia64
35 %ifnarch %{ix86} %{x8664} x32 ppc ppc64 sparc64
36 %undefine with_ieee1275
38 %ifnarch mipsel mips64el
39 %undefine with_loongson
41 %ifnarch %{ix86} %{x8664} x32
42 %undefine with_multiboot
45 %undefine with_xen_pvh
47 %ifnarch %{ix86} mips mipsel mips64 mips64el
54 # FIXME: x86_64-xen build is broken (as of 2.06)
59 # these require unifont
60 %if %{without unifont}
61 %undefine with_coreboot
62 %undefine with_loongson
67 # non-x86_64 arch doesn't support this
71 # the 'most natural' platform should go last
72 %ifarch %{ix86} %{x8664} x32
73 %define platforms %{?with_coreboot:coreboot} %{?with_ieee1275:ieee1275} %{?with_multiboot:multiboot} %{?with_qemu:qemu} %{?with_xen:xen} %{?with_xen_pvh:xen_pvh} %{?with_efi:efi} %{?with_pc:pc}
76 %define platforms %{?with_efi:efi} %{?with_uboot:uboot}
78 %ifarch aarch64 ia64 riscv32 riscv64
84 %ifarch mipsel mips64el
85 %define platforms %{?with_arc:arc} %{?with_loongson:loongson}
87 %ifarch ppc ppc64 sparc64
88 %define platforms ieee1275
92 %define coreboot_arch i386
94 %define ieee1275_arch i386
95 %define qemu_arch i386
96 %define qemu_plat qemu
100 %define coreboot_arch i386
101 %define efi_arch x86_64
102 %define ieee1275_arch i386
103 %define qemu_arch i386
104 %define qemu_plat qemu
105 %define xen_arch x86_64
108 %define coreboot_arch arm
112 %define efi_arch arm64
115 %define efi_arch ia64
118 %define arc_arch mips
119 %define qemu_arch mips
120 %define qemu_plat qemu_mips
122 %ifarch mipsel mips64el
123 %define arc_arch mipsel
124 %define qemu_arch mipsel
125 %define qemu_plat qemu_mips
128 %define ieee1275_arch powerpc
131 %define efi_arch riscv32
134 %define efi_arch riscv64
137 %define ieee1275_arch sparc64
140 Summary: GRand Unified Bootloader
141 Summary(de.UTF-8): GRUB2 - ein Bootloader für x86 und ppc
142 Summary(hu.UTF-8): GRUB2 - rendszerbetöltő x86 és ppc gépekhez
143 Summary(pl.UTF-8): GRUB2 - bootloader dla x86 i ppc
144 Summary(pt_BR.UTF-8): Gerenciador de inicialização GRUB2
150 Source0: https://ftp.gnu.org/gnu/grub/grub-%{version}.tar.xz
151 # Source0-md5: cf0fd928b1e5479c8108ee52cb114363
153 Source2: update-grub.8
154 Source3: grub.sysconfig
155 Source4: grub-custom.cfg
156 Patch1: tld-sysconfdir.patch
157 Patch2: grub-garbage.patch
158 Patch3: grub-lvmdevice.patch
159 Patch4: tld-mkconfigdir.patch
160 Patch5: grub-mkconfig-diagnostics.patch
162 Patch7: %{name}-fonts_path.patch
163 Patch9: just-say-linux.patch
164 Patch10: ignore-kernel-symlinks.patch
165 Patch11: initrd-search.patch
166 Patch12: %{name}-cfg.patch
167 Patch13: efi-net-fix.patch
168 Patch14: blscfg.patch
169 Patch15: restricted.patch
170 Patch16: 0193-fs-xfs-Fix-unreadable-filesystem-with-v4-superblock.patch
171 Patch17: 0268-grub_fs_probe-dprint-errors-from-filesystems.patch
172 URL: http://www.gnu.org/software/grub/
173 BuildRequires: autoconf >= 2.63
174 BuildRequires: automake >= 1:1.11.1-1
175 BuildRequires: bison >= 2.3
176 BuildRequires: device-mapper-devel >= 1.02.34
177 BuildRequires: flex >= 2.5.35
178 BuildRequires: fonts-TTF-DejaVu
180 BuildRequires: fonts-misc-unifont
182 BuildRequires: freetype-devel >= 2.1.5
184 BuildRequires: gcc >= 6:5.1
186 %if %{with efiemu} || %{with coreboot} || %{with ieee1275} || %{with multiboot} || %{with pc} || %{with xen_pvh}
187 BuildRequires: gcc-multilib-32 >= 6:5.1
191 %if %{with efiemu} || %{with efi}
192 BuildRequires: gcc-multilib-64 >= 6:5.1
195 BuildRequires: gettext-tools >= 0.18.3
196 BuildRequires: glibc-localedb-all
197 BuildRequires: glibc-static
198 BuildRequires: help2man
199 BuildRequires: libfuse-devel
200 BuildRequires: libtool
201 BuildRequires: ncurses-devel
202 BuildRequires: pkgconfig
203 BuildRequires: python >= 1:2.6
204 BuildRequires: python-modules >= 1:2.6
205 BuildRequires: rpm >= 4.4.9-56
206 BuildRequires: rpmbuild(macros) >= 1.213
207 BuildRequires: sed >= 4.0
208 BuildRequires: tar >= 1:1.22
209 BuildRequires: texinfo
211 BuildRequires: xz-devel
212 Requires: %{name}-platform = %{version}-%{release}
215 %ifarch %{ix86} %{x8664} x32
216 Suggests: %{name}-platform-pc
218 Suggests: cdrkit-mkisofs
222 ExclusiveArch: %{ix86} %{x8664} x32 %{arm} aarch64 ia64 mips mipsel mips64 mips64el ppc ppc64 riscv32 riscv64 sparc64
223 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
225 %define _sbindir /sbin
226 %define _bindir %{_sbindir}
228 %define _datadir %{_libdir}
229 %define _libexecdir %{_libdir}/grub
230 %define _grubdir /boot/grub
231 %define _localedir /usr/share/locale
233 # part of grub code is not relocable (these are not Linux libs)
234 # stack protector also breaks non-Linux binaries
235 # any kind of forced optimizations makes grub2 unreliable (random
236 # reboots and hangs on boot menu screen)
237 %define filterout_c -fPIC -O.
238 %undefine _ssp_cflags
239 %undefine _fortify_cflags
242 GRUB is a GPLed bootloader intended to unify bootloading across x86
243 operating systems. In addition to loading the Linux and *BSD kernels,
244 it implements the Multiboot standard, which allows for flexible
245 loading of multiple boot images (needed for modular kernels such as
248 GRUB 2 is derived from PUPA which was a research project to
249 investigate the next generation of GRUB. GRUB 2 has been rewritten
250 from scratch to clean up everything for modularity and portability.
252 GRUB 2 targets at the following goals:
253 - Scripting support, such as conditionals, loops, variables and
255 - Graphical interface.
256 - Dynamic loading of modules in order to extend itself at the run time
257 rather than at the build time.
258 - Portability for various architectures.
259 - Internationalization. This includes support for non-ASCII character
260 code, message catalogs like gettext, fonts, graphics console, and so
262 - Real memory management, to make GNU GRUB more extensible.
263 - Modular, hierarchical, object-oriented framework for file systems,
264 files, devices, drives, terminals, commands, partition tables and OS
266 - Cross-platform installation which allows for installing GRUB from a
267 different architecture.
268 - Rescue mode saves unbootable cases. Stage 1.5 was eliminated.
269 - Fix design mistakes in GRUB Legacy, which could not be solved for
270 backward-compatibility, such as the way of numbering partitions.
272 %description -l de.UTF-8
273 GRUB (GRand Unified Boot-loader) ist ein Bootloader, der oft auf
274 Rechnern eingesetzt wird, auf denen das freie Betriebssystem Linux
275 läuft. GRUB löst den betagten LILO (Linux-Loader) ab.
277 GRUB wurde innerhalb des GNU Hurd-Projektes als Boot-Loader entwickelt
278 und wird unter der GPL vertrieben. Aufgrund seiner höheren
279 Flexibilität verdrängt GRUB in vielen Linux-Distributionen den
280 traditionellen Boot-Loader LILO.
282 %description -l hu.UTF-8
283 GRUB egy GPL liszenszű rendszerbetöltő. Linux és *BSD kernelek
284 betöltése mellett támogatja a Multiboot standard-ot, amely lehetővé
285 teszi boot képek betöltését (moduláris kerneleknek kell, mint pl. a
288 GRUB2 céljai a következők:
289 - szkriptelés támogatása, úgymint feltételek, ciklusok, változók,
292 - modulok dinamikus betöltése futási időben
293 - hordozhatóság több architektúrára
294 - többnyelvűség: nem-ASCII karakterek támogatása, üzenetkatalógusok,
295 mint gettext, betűtípusok, grafikus konzolon, és így tovább
296 - valós memória kezelés, amellyel még bővíthetőbbé tehetjük
297 - moduláris, hierarchikus, objektum-orientált keretrendszer
298 fájlrendszerekhez, fájlokhoz, eszközökhöz, meghajtókhoz,
299 terminálokhoz, parancsokhoz, partíciós táblákhoz és OS betöltőkhöz
301 %description -l es.UTF-8
302 Éste es GRUB - Grand Unified Boot Loader - un administrador de
303 inicialización capaz de entrar en la mayoría de los sistemas
304 operacionales libres - Linux, FreeBSD, NetBSD, GNU Mach, etc. como
305 también en la mayoría de los sistemas operacionales comerciales para
308 El administrador GRUB puede ser una buena alternativa a LILO, para
309 usuarios conmás experiencia y que deseen obtener más recursos de su
310 cargador de inicialización (boot loader).
312 %description -l pl.UTF-8
313 GRUB jest bootloaderem na licencji GNU GPL, mającym na celu unifikację
314 procesu bootowania na systemach x86. Potrafi nie tylko ładować jądra
315 Linuksa i *BSD: posiada również implementację standardu Multiboot,
316 który pozwala na elastyczne ładowanie wielu obrazów bootowalnych
317 (czego wymagają modułowe jądra, takie jak GNU Hurd).
319 %description -l pt_BR.UTF-8
320 Esse é o GRUB - Grand Unified Boot Loader - um gerenciador de boot
321 capaz de entrar na maioria dos sistemas operacionais livres - Linux,
322 FreeBSD, NetBSD, GNU Mach, etc. assim como na maioria dos sistemas
323 operacionais comerciais para PC.
325 O GRUB pode ser uma boa alternativa ao LILO, para usuários mais
326 avançados e que querem mais recursos de seu boot loader.
328 %package -n bash-completion-%{name}
329 Summary: bash-completion for GRUB
330 Summary(pl.UTF-8): Bashowe uzupełnianie nazw dla GRUB-a
331 Group: Applications/Shells
332 Requires: %{name} = %{version}-%{release}
333 Requires: bash-completion
336 %description -n bash-completion-%{name}
337 This package provides bash-completion for GRUB.
339 %description -n bash-completion-%{name} -l pl.UTF-8
340 Pakiet ten dostarcza bashowe uzupełnianie nazw dla GRUB-a.
343 Summary: Fonts for GRUB
344 Summary(pl.UTF-8): Fonty dla GRUB-a
346 Requires: %{name} = %{version}-%{release}
351 %description fonts -l pl.UTF-8
354 %package platform-arc
355 Summary: MIPS ARC platform support for GRUB
356 Summary(pl.UTF-8): Obsługa platformy MIPS ARC dla GRUB-a
358 Requires: %{name} = %{version}-%{release}
359 Provides: %{name}-platform = %{version}-%{release}
361 %description platform-arc
362 MIPS ARC platform support for GRUB.
364 %description platform-arc -l pl.UTF-8
365 Obsługa platformy MIPS ARC dla GRUB-a.
367 %package platform-coreboot
368 Summary: Coreboot (LinuxBIOS) platform support for GRUB
369 Summary(pl.UTF-8): Obsługa platformy Coreboot (LinuxBIOS) dla GRUB-a
371 Requires: %{name} = %{version}-%{release}
372 Requires: %{name}-fonts = %{version}-%{release}
373 Provides: %{name}-platform = %{version}-%{release}
375 %description platform-coreboot
376 Coreboot (LinuxBIOS) platform support for GRUB.
378 %description platform-coreboot -l pl.UTF-8
379 Obsługa platformy Coreboot (LinuxBIOS) dla GRUB-a.
381 %package platform-efi
382 Summary: (U)EFI platform support for GRUB
383 Summary(pl.UTF-8): Obsługa platformy (U)EFI dla GRUB-a
385 Requires: %{name} = %{version}-%{release}
387 Provides: %{name}-platform = %{version}-%{release}
389 %description platform-efi
390 (U)EFI platform support for GRUB.
392 %description platform-efi -l pl.UTF-8
393 Obsługa platformy (U)EFI dla GRUB-a.
395 %package platform-ieee1275
396 Summary: IEEE 1275 (OpenFirmware) platform support for GRUB
397 Summary(pl.UTF-8): Obsługa platformy IEEE 1275 (OpenFirmware) dla GRUB-a
399 Requires: %{name} = %{version}-%{release}
400 Provides: %{name}-platform = %{version}-%{release}
402 %description platform-ieee1275
403 IEEE 1275 (OpenFirmware) platform support for GRUB.
405 %description platform-ieee1275 -l pl.UTF-8
406 Obsługa platformy IEEE 1275 (OpenFirmware) dla GRUB-a.
408 %package platform-loongson
409 Summary: MIPS Loongson platform support for GRUB
410 Summary(pl.UTF-8): Obsługa platformy MIPS Loongson dla GRUB-a
412 Requires: %{name} = %{version}-%{release}
413 Requires: %{name}-fonts = %{version}-%{release}
414 Provides: %{name}-platform = %{version}-%{release}
416 %description platform-loongson
417 MIPS Loongson (yeelong, fuloong) platform support for GRUB.
419 %description platform-loongson -l pl.UTF-8
420 Obsługa platformy MIPS Loongson (yeelong, fuloong) dla GRUB-a.
422 %package platform-multiboot
423 Summary: Multiboot platform support for GRUB
424 Summary(pl.UTF-8): Obsługa platformy Multiboot dla GRUB-a
426 Requires: %{name} = %{version}-%{release}
427 Provides: %{name}-platform = %{version}-%{release}
429 %description platform-multiboot
430 Multiboot platform support for GRUB.
432 %description platform-multiboot -l pl.UTF-8
433 Obsługa platformy Multiboot dla GRUB-a.
436 Summary: PC BIOS platform support for GRUB
437 Summary(pl.UTF-8): Obsługa platformy PC BIOS dla GRUB-a
439 Requires: %{name} = %{version}-%{release}
440 Provides: %{name}-platform = %{version}-%{release}
442 %description platform-pc
443 PC BIOS platform support for GRUB.
445 %description platform-pc -l pl.UTF-8
446 Obsługa platformy PC BIOS dla GRUB-a.
448 %package platform-qemu
449 Summary: Qemu platform support for GRUB
450 Summary(pl.UTF-8): Obsługa platformy Qemu dla GRUB-a
452 Requires: %{name} = %{version}-%{release}
453 Requires: %{name}-fonts = %{version}-%{release}
454 Provides: %{name}-platform = %{version}-%{release}
456 %description platform-qemu
457 Qemu platform support for GRUB.
459 %description platform-qemu -l pl.UTF-8
460 Obsługa platformy Qemu dla GRUB-a.
462 %package platform-uboot
463 Summary: ARM uBoot platform support for GRUB
464 Summary(pl.UTF-8): Obsługa platformy ARM uBoot dla GRUB-a
466 Requires: %{name} = %{version}-%{release}
467 Provides: %{name}-platform = %{version}-%{release}
469 %description platform-uboot
470 ARM uBoot platform support for GRUB.
472 %description platform-uboot -l pl.UTF-8
473 Obsługa platformy ARM uBoot dla GRUB-a.
475 %package platform-xen
476 Summary: Xen platform support for GRUB
477 Summary(pl.UTF-8): Obsługa platformy Xen dla GRUB-a
479 Requires: %{name} = %{version}-%{release}
480 Provides: %{name}-platform = %{version}-%{release}
482 %description platform-xen
483 Xen platform support for GRUB.
485 %description platform-xen -l pl.UTF-8
486 Obsługa platformy Xen dla GRUB-a.
488 %package platform-xen_pvh
489 Summary: Xen PVH platform support for GRUB
490 Summary(pl.UTF-8): Obsługa platformy Xen PVH dla GRUB-a
492 Requires: %{name} = %{version}-%{release}
493 Provides: %{name}-platform = %{version}-%{release}
495 %description platform-xen_pvh
496 Xen PVH platform support for GRUB.
498 %description platform-xen_pvh -l pl.UTF-8
499 Obsługa platformy Xen PVH dla GRUB-a.
502 Summary: GRUB font files converter
503 Summary(pl.UTF-8): Konwerter plików fontów GRUB-a
507 Converts common font file formats into PF2.
509 %description mkfont -l pl.UTF-8
510 Program do konwersji popularnych formatów plików fontów do PF2.
512 %package theme-starfield
513 Summary: starfield theme for GRUB
514 Summary(pl.UTF-8): Motyw starfield dla GRUB-a
515 Requires: %{name} = %{version}-%{release}
518 %description theme-starfield
519 starfield theme for GRUB.
521 %description theme-starfield -l pl.UTF-8
522 Motyw starfield dla GRUB-a.
525 %setup -q -n grub-%{version}
543 # we don't have C.utf-8 and need an UTF-8 locale for build
544 sed -i -e 's/LC_ALL=C.UTF-8/LC_ALL=en_US.utf-8/g' po/Makefile* po/Rules*
547 # if gold is used then grub doesn't even boot
548 # https://savannah.gnu.org/bugs/?34539
549 # http://sourceware.org/bugzilla/show_bug.cgi?id=14196
551 ln -f -s /usr/bin/ld.bfd our-ld/ld
552 export PATH=$(pwd)/our-ld:$PATH
554 ## not only the typical autotools stuff
563 for platform in %{platforms} ; do
564 install -d build-${platform}
569 coreboot|ieee1275|multiboot|pc|qemu|xen_pvh)
570 platform_opts="--enable-efiemu%{!?with_efiemu:=no}"
574 ln -f -s ../configure .
575 # mawk stalls at ./genmoddep.awk, so force gawk
578 --with-platform=${platform} \
580 --enable-grub-themes \
582 --enable-grub-emu-usb \
583 --enable-grub-emu-sdl \
584 --enable-grub-emu-pci \
587 TARGET_LDFLAGS=-static
589 %{__make} -j1 -C po update-gmo
595 rm -rf $RPM_BUILD_ROOT
597 for platform in %{platforms} ; do
600 pkgdatadir=%{_libexecdir} \
601 pkglibdir=%{_libexecdir} \
602 DESTDIR=$RPM_BUILD_ROOT
607 %{__rm} -r $RPM_BUILD_ROOT%{_localedir}/de@hebrew
608 %{__rm} -r $RPM_BUILD_ROOT%{_localedir}/en@{arabic,cyrillic,greek,hebrew,piglatin}
612 # this must be after 'make install'
613 install -d $RPM_BUILD_ROOT%{_libexecdir}/locale
615 install -d $RPM_BUILD_ROOT%{_grubdir}
616 cp -p docs/grub.cfg $RPM_BUILD_ROOT%{_grubdir}
619 cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_grubdir}/custom.cfg
620 %{__rm} $RPM_BUILD_ROOT/lib/grub.d/40_custom
622 install -p %{SOURCE1} $RPM_BUILD_ROOT%{_sbindir}/update-grub
623 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_mandir}/man8/update-grub.8
625 install -d $RPM_BUILD_ROOT/etc/sysconfig
626 cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/grub
628 # rm -f, because it sometimes exists, sometimes not, depending which texlive you have installed
629 rm -f $RPM_BUILD_ROOT%{_infodir}/dir
631 # platform specific, unnecessarily always installed
632 %ifnarch %{ix86} %{x8664} x32
633 %{__rm} $RPM_BUILD_ROOT{%{_sbindir}/grub-bios-setup,%{_mandir}/man8/grub-bios-setup.8}
636 %{__rm} $RPM_BUILD_ROOT{%{_sbindir}/grub-sparc64-setup,%{_mandir}/man8/grub-sparc64-setup.8}
639 # core.img - bootable image generated by grub-mkimage(1) via grub-install(1)
640 touch $RPM_BUILD_ROOT%{_grubdir}/core.img
641 touch $RPM_BUILD_ROOT%{_grubdir}/device.map
643 # needs to be exactly 1KiB
644 # but we're ghosting it. so whom are we kidding here? :P (maybe %config it in future?)
645 dd bs=1024 if=/dev/zero count=1 of=$RPM_BUILD_ROOT%{_grubdir}/grubenv
648 rm -rf $RPM_BUILD_ROOT
650 %post -p %{_sbindir}/postshell
651 -/usr/sbin/fix-info-dir -c %{_infodir}
653 %postun -p %{_sbindir}/postshell
654 -/usr/sbin/fix-info-dir -c %{_infodir}
656 %triggerpostun -- %{name} < 2.00-2
657 # Note this trigger on version upgrade needed only for upgrade from
658 # old grub2 packages which contained modules in /boot/grub
659 # or were built with optimizations enabled.
660 # Don't do anything on --downgrade.
661 if [ $1 -le 1 ]; then
664 echo "Grub was upgraded, trying to setup it to boot sector"
665 /sbin/grub-install '(hd0)' || :
667 %triggerpostun -- %{name} < 1.99-7.3
668 # migrate /etc/grub.d/custom.cfg.rpmsave -> /boot/grub/custom.cfg
669 if [ -f %{_sysconfdir}/grub.d/custom.cfg.rpmsave ]; then
670 cp -f %{_grubdir}/custom.cfg{,.rpmnew}
671 mv -f %{_sysconfdir}/grub.d/custom.cfg.rpmsave %{_grubdir}/custom.cfg
675 %defattr(644,root,root,755)
676 %doc AUTHORS ChangeLog NEWS README THANKS TODO
677 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/grub
678 %attr(755,root,root) %{_sbindir}/grub-editenv
679 %attr(755,root,root) %{_sbindir}/grub-fstest
680 %attr(755,root,root) %{_sbindir}/grub-file
681 %attr(755,root,root) %{_sbindir}/grub-glue-efi
682 %attr(755,root,root) %{_sbindir}/grub-kbdcomp
683 %attr(755,root,root) %{_sbindir}/grub-install
684 %attr(755,root,root) %{_sbindir}/grub-macbless
685 %attr(755,root,root) %{_sbindir}/grub-menulst2cfg
686 %attr(755,root,root) %{_sbindir}/grub-mkconfig
687 %attr(755,root,root) %{_sbindir}/grub-mklayout
688 %attr(755,root,root) %{_sbindir}/grub-mknetdir
689 %attr(755,root,root) %{_sbindir}/grub-mkpasswd-pbkdf2
690 %attr(755,root,root) %{_sbindir}/grub-mkrelpath
691 %attr(755,root,root) %{_sbindir}/grub-mkrescue
692 %attr(755,root,root) %{_sbindir}/grub-mkstandalone
693 %attr(755,root,root) %{_sbindir}/grub-mount
694 %attr(755,root,root) %{_sbindir}/grub-ofpathname
695 %attr(755,root,root) %{_sbindir}/grub-reboot
696 %attr(755,root,root) %{_sbindir}/grub-render-label
697 %attr(755,root,root) %{_sbindir}/grub-script-check
698 %attr(755,root,root) %{_sbindir}/grub-set-default
699 %attr(755,root,root) %{_sbindir}/grub-syslinux2cfg
700 %attr(755,root,root) %{_sbindir}/update-grub
701 %ifarch %{ix86} %{x8664} x32
702 %attr(755,root,root) %{_sbindir}/grub-bios-setup
703 %{_mandir}/man8/grub-bios-setup.8*
705 %ifarch %{ix86} %{x8664} x32
706 %attr(755,root,root) %{_sbindir}/grub-mkimage
707 %{_mandir}/man1/grub-mkimage.1*
709 %attr(755,root,root) %{_sbindir}/grub-probe
710 %{_mandir}/man8/grub-probe.8*
713 %attr(755,root,root) %{_sbindir}/grub-sparc64-setup
714 %{_mandir}/man8/grub-sparc64-setup.8*
716 %{_mandir}/man1/grub-editenv.1*
717 %{_mandir}/man1/grub-file.1*
718 %{_mandir}/man1/grub-fstest.1*
719 %{_mandir}/man1/grub-glue-efi.1*
720 %{_mandir}/man1/grub-kbdcomp.1*
721 %{_mandir}/man1/grub-menulst2cfg.1*
722 %{_mandir}/man1/grub-mklayout.1*
723 %{_mandir}/man1/grub-mknetdir.1*
724 %{_mandir}/man1/grub-mkpasswd-pbkdf2.1*
725 %{_mandir}/man1/grub-mkrelpath.1*
726 %{_mandir}/man1/grub-mkrescue.1*
727 %{_mandir}/man1/grub-mkstandalone.1*
728 %{_mandir}/man1/grub-mount.1*
729 %{_mandir}/man1/grub-render-label.1*
730 %{_mandir}/man1/grub-script-check.1*
731 %{_mandir}/man1/grub-syslinux2cfg.1*
732 %{_mandir}/man8/grub-install.8*
733 %{_mandir}/man8/grub-macbless.8*
734 %{_mandir}/man8/grub-mkconfig.8*
735 %{_mandir}/man8/grub-ofpathname.8*
736 %{_mandir}/man8/grub-reboot.8*
737 %{_mandir}/man8/grub-set-default.8*
738 %{_mandir}/man8/update-grub.8*
740 %attr(755,root,root) %{_sbindir}/grub-emu
741 %{_mandir}/man8/grub-emu.8*
743 %{_libexecdir}/grub-mkconfig_lib
747 # XXX: check this locale dir location and if it is neccesaary to exist on /boot
749 %dir %{_libexecdir}/locale
750 %config(noreplace) %verify(not md5 mtime size) %{_grubdir}/grub.cfg
751 %config(noreplace) %verify(not md5 mtime size) %{_grubdir}/custom.cfg
753 # generated by grub at runtime
754 %ghost %{_grubdir}/device.map
755 %ghost %{_grubdir}/core.img
756 %ghost %{_grubdir}/grubenv
759 %doc /lib/grub.d/README
760 %attr(755,root,root) /lib/grub.d/00_header
761 %attr(755,root,root) /lib/grub.d/10_linux
762 %attr(755,root,root) /lib/grub.d/20_linux_xen
763 %attr(755,root,root) /lib/grub.d/30_os-prober
764 %attr(755,root,root) /lib/grub.d/41_custom
766 %ifarch %{ix86} %{x8664} x32
767 %attr(755,root,root) %{_sbindir}/grub-probe
768 %{_mandir}/man8/grub-probe.8*
771 %{_infodir}/grub*.info*
773 %dir %{_datadir}/grub/themes
775 %files -n bash-completion-%{name}
776 %defattr(644,root,root,755)
777 /etc/bash_completion.d/grub
781 %defattr(644,root,root,755)
782 %{_libexecdir}/ascii.h
783 %{_libexecdir}/ascii.pf2
784 %{_libexecdir}/euro.pf2
785 %{_libexecdir}/unicode.pf2
786 %{_libexecdir}/widthspec.h
791 %defattr(644,root,root,755)
792 %dir %{_libexecdir}/%{arc_arch}-arc
793 %{_libexecdir}/%{arc_arch}-arc/modinfo.sh
794 %{_libexecdir}/%{arc_arch}-arc/*.lst
795 %{_libexecdir}/%{arc_arch}-arc/*.mod
796 %{_libexecdir}/%{arc_arch}-arc/*.module
797 %{_libexecdir}/%{arc_arch}-arc/config.h
798 %{_libexecdir}/%{arc_arch}-arc/gdb_grub
799 %{_libexecdir}/%{arc_arch}-arc/gmodule.pl
800 %{_libexecdir}/%{arc_arch}-arc/kernel.exec
801 %{_libexecdir}/%{arc_arch}-arc/kernel.img
805 %files platform-coreboot
806 %defattr(644,root,root,755)
807 %dir %{_libexecdir}/%{coreboot_arch}-coreboot
808 %{_libexecdir}/%{coreboot_arch}-coreboot/modinfo.sh
809 %{_libexecdir}/%{coreboot_arch}-coreboot/*.lst
810 %{_libexecdir}/%{coreboot_arch}-coreboot/*.mod
811 %{_libexecdir}/%{coreboot_arch}-coreboot/*.module
812 %{_libexecdir}/%{coreboot_arch}-coreboot/config.h
813 %{_libexecdir}/%{coreboot_arch}-coreboot/gdb_grub
814 %{_libexecdir}/%{coreboot_arch}-coreboot/gmodule.pl
815 %{_libexecdir}/%{coreboot_arch}-coreboot/kernel.exec
816 %{_libexecdir}/%{coreboot_arch}-coreboot/kernel.img
818 %{_libexecdir}/%{coreboot_arch}-coreboot/efiemu*.o
824 %defattr(644,root,root,755)
825 %attr(755,root,root) /lib/grub.d/30_uefi-firmware
826 %dir %{_libexecdir}/%{efi_arch}-efi
827 %{_libexecdir}/%{efi_arch}-efi/modinfo.sh
828 %{_libexecdir}/%{efi_arch}-efi/*.lst
829 %{_libexecdir}/%{efi_arch}-efi/*.mod
830 %{_libexecdir}/%{efi_arch}-efi/*.module
831 %{_libexecdir}/%{efi_arch}-efi/config.h
832 %{_libexecdir}/%{efi_arch}-efi/gdb_grub
833 %{_libexecdir}/%{efi_arch}-efi/gmodule.pl
834 %{_libexecdir}/%{efi_arch}-efi/kernel.exec
835 %{_libexecdir}/%{efi_arch}-efi/kernel.img
839 %files platform-ieee1275
840 %defattr(644,root,root,755)
841 %dir %{_libexecdir}/%{ieee1275_arch}-ieee1275
842 %{_libexecdir}/%{ieee1275_arch}-ieee1275/modinfo.sh
843 %{_libexecdir}/%{ieee1275_arch}-ieee1275/*.lst
844 %{_libexecdir}/%{ieee1275_arch}-ieee1275/*.mod
845 %{_libexecdir}/%{ieee1275_arch}-ieee1275/*.module
846 %{_libexecdir}/%{ieee1275_arch}-ieee1275/config.h
847 %{_libexecdir}/%{ieee1275_arch}-ieee1275/gdb_grub
848 %{_libexecdir}/%{ieee1275_arch}-ieee1275/gmodule.pl
849 %{_libexecdir}/%{ieee1275_arch}-ieee1275/kernel.exec
850 %{_libexecdir}/%{ieee1275_arch}-ieee1275/kernel.img
852 %{_libexecdir}/%{ieee1275_arch}-ieee1275/efiemu*.o
856 %if %{with multiboot}
857 %files platform-multiboot
858 %defattr(644,root,root,755)
859 %dir %{_libexecdir}/i386-multiboot
860 %{_libexecdir}/i386-multiboot/modinfo.sh
861 %{_libexecdir}/i386-multiboot/*.lst
862 %{_libexecdir}/i386-multiboot/*.mod
863 %{_libexecdir}/i386-multiboot/*.module
864 %{_libexecdir}/i386-multiboot/config.h
865 %{_libexecdir}/i386-multiboot/gdb_grub
866 %{_libexecdir}/i386-multiboot/gmodule.pl
867 %{_libexecdir}/i386-multiboot/kernel.exec
868 %{_libexecdir}/i386-multiboot/kernel.img
870 %{_libexecdir}/i386-multiboot/efiemu*.o
876 %defattr(644,root,root,755)
877 %dir %{_libexecdir}/i386-pc
878 %{_libexecdir}/i386-pc/modinfo.sh
879 %{_libexecdir}/i386-pc/*.lst
880 %{_libexecdir}/i386-pc/*.mod
881 %{_libexecdir}/i386-pc/*.module
882 %{_libexecdir}/i386-pc/config.h
883 %{_libexecdir}/i386-pc/gdb_grub
884 %{_libexecdir}/i386-pc/gmodule.pl
885 %{_libexecdir}/i386-pc/boot.image
886 %{_libexecdir}/i386-pc/boot.img
887 %{_libexecdir}/i386-pc/boot_hybrid.image
888 %{_libexecdir}/i386-pc/boot_hybrid.img
889 %{_libexecdir}/i386-pc/cdboot.image
890 %{_libexecdir}/i386-pc/cdboot.img
891 %{_libexecdir}/i386-pc/diskboot.image
892 %{_libexecdir}/i386-pc/diskboot.img
893 %{_libexecdir}/i386-pc/kernel.exec
894 %{_libexecdir}/i386-pc/kernel.img
895 %{_libexecdir}/i386-pc/lnxboot.image
896 %{_libexecdir}/i386-pc/lnxboot.img
897 %{_libexecdir}/i386-pc/lzma_decompress.image
898 %{_libexecdir}/i386-pc/lzma_decompress.img
899 %{_libexecdir}/i386-pc/pxeboot.image
900 %{_libexecdir}/i386-pc/pxeboot.img
902 %{_libexecdir}/i386-pc/efiemu*.o
908 %defattr(644,root,root,755)
909 %dir %{_libexecdir}/%{qemu_arch}-%{qemu_plat}
910 %{_libexecdir}/%{qemu_arch}-%{qemu_plat}/modinfo.sh
911 %{_libexecdir}/%{qemu_arch}-%{qemu_plat}/*.lst
912 %{_libexecdir}/%{qemu_arch}-%{qemu_plat}/*.mod
913 %{_libexecdir}/%{qemu_arch}-%{qemu_plat}/*.module
914 %{_libexecdir}/%{qemu_arch}-%{qemu_plat}/config.h
915 %{_libexecdir}/%{qemu_arch}-%{qemu_plat}/gdb_grub
916 %{_libexecdir}/%{qemu_arch}-%{qemu_plat}/gmodule.pl
917 %{_libexecdir}/%{qemu_arch}-%{qemu_plat}/boot.image
918 %{_libexecdir}/%{qemu_arch}-%{qemu_plat}/boot.img
919 %{_libexecdir}/%{qemu_arch}-%{qemu_plat}/kernel.exec
920 %{_libexecdir}/%{qemu_arch}-%{qemu_plat}/kernel.img
924 %files platform-uboot
925 %defattr(644,root,root,755)
926 %dir %{_libexecdir}/arm-uboot
927 %{_libexecdir}/arm-uboot/modinfo.sh
928 %{_libexecdir}/arm-uboot/*.lst
929 %{_libexecdir}/arm-uboot/*.mod
930 %{_libexecdir}/arm-uboot/*.module
931 %{_libexecdir}/arm-uboot/config.h
932 %{_libexecdir}/arm-uboot/gdb_grub
933 %{_libexecdir}/arm-uboot/gmodule.pl
934 %{_libexecdir}/arm-uboot/kernel.exec
935 %{_libexecdir}/arm-uboot/kernel.img
940 %defattr(644,root,root,755)
941 %dir %{_libexecdir}/%{xen_arch}-xen
942 %{_libexecdir}/%{xen_arch}-xen/modinfo.sh
943 %{_libexecdir}/%{xen_arch}-xen/*.lst
944 %{_libexecdir}/%{xen_arch}-xen/*.mod
945 %{_libexecdir}/%{xen_arch}-xen/*.module
946 %{_libexecdir}/%{xen_arch}-xen/config.h
947 %{_libexecdir}/%{xen_arch}-xen/gdb_grub
948 %{_libexecdir}/%{xen_arch}-xen/gmodule.pl
949 %{_libexecdir}/%{xen_arch}-xen/kernel.exec
950 %{_libexecdir}/%{xen_arch}-xen/kernel.img
954 %files platform-xen_pvh
955 %defattr(644,root,root,755)
956 %dir %{_libexecdir}/i386-xen_pvh
957 %{_libexecdir}/i386-xen_pvh/modinfo.sh
958 %{_libexecdir}/i386-xen_pvh/*.lst
959 %{_libexecdir}/i386-xen_pvh/*.mod
960 %{_libexecdir}/i386-xen_pvh/*.module
961 %{_libexecdir}/i386-xen_pvh/config.h
962 %{_libexecdir}/i386-xen_pvh/gdb_grub
963 %{_libexecdir}/i386-xen_pvh/gmodule.pl
964 %{_libexecdir}/i386-xen_pvh/kernel.exec
965 %{_libexecdir}/i386-xen_pvh/kernel.img
967 %{_libexecdir}/i386-xen_pvh/efiemu*.o
972 %defattr(644,root,root,755)
973 %attr(755,root,root) %{_sbindir}/grub-mkfont
974 %{_mandir}/man1/grub-mkfont.1*
976 %files theme-starfield
977 %defattr(644,root,root,755)
978 %{_datadir}/grub/themes/starfield