]>
Commit | Line | Data |
---|---|---|
f97cafb4 | 1 | # TODO |
dc6928bc | 2 | # - reap out which in probe scripts and drop R: which |
f97cafb4 | 3 | # - subpackages? e.g. modules and utils |
bcd6a47e | 4 | # - check where is that locale path: /boot/grub/locale and fix it or change it |
8fcee4aa ER |
5 | # - grubemu notes |
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 | |
f97cafb4 | 9 | # |
90feddde | 10 | # Conditional build: |
1a68d0fe JB |
11 | %bcond_with grubemu # grub-emu debugging utility |
12 | %bcond_without efiemu # efiemu runtimes | |
13 | %bcond_without pc # PC BIOS platform support (x86 specific) | |
14 | %bcond_without efi # EFI platform support | |
b06c130d | 15 | |
50ffb0ba | 16 | %ifnarch %{ix86} %{x8664} x32 |
feaacba3 JB |
17 | %undefine with_pc |
18 | %endif | |
1a68d0fe | 19 | %ifnarch %{ix86} %{x8664} x32 %{arm} aarch64 ia64 |
feaacba3 JB |
20 | %undefine with_efi |
21 | %endif | |
22 | ||
50ffb0ba | 23 | %ifnarch %{x8664} x32 |
2d8da575 AM |
24 | # non-x86_64 arch doesn't support this |
25 | %undefine with_efiemu | |
26 | %endif | |
27 | ||
1536aaf2 | 28 | # the 'most natural' platform should go last |
1a68d0fe JB |
29 | # TODO? coreboot@{ix86,arm}, ieee1275@ix86, multiboot@ix86, qemu@ix86, qemu_mips@{mips,mipsel} xen@x86*, xen_pvh@ix86 |
30 | %ifarch %{ix86} %{x8664} x32 | |
1536aaf2 | 31 | %define platforms %{?with_efi:efi} %{?with_pc:pc} |
feaacba3 | 32 | %endif |
1a68d0fe JB |
33 | %ifarch %{arm} |
34 | %define platforms efi uboot | |
35 | %endif | |
36 | %ifarch aarch64 ia64 riscv32 riscv64 | |
37 | %define platforms efi | |
feaacba3 JB |
38 | %endif |
39 | %ifarch mips | |
40 | %define platforms arc | |
41 | %endif | |
42 | %ifarch mipsel | |
1a68d0fe JB |
43 | %define platforms arc loongson |
44 | %endif | |
45 | %ifarch ppc ppc64 sparc64 | |
46 | %define platforms ieee1275 | |
feaacba3 | 47 | %endif |
1536aaf2 | 48 | |
a4c52d96 | 49 | %define rel 1 |
afe8504a | 50 | Summary: GRand Unified Bootloader |
c8155f7f | 51 | Summary(de.UTF-8): GRUB2 - ein Bootloader für x86 und ppc |
f97cafb4 | 52 | Summary(hu.UTF-8): GRUB2 - rendszerbetöltő x86 és ppc gépekhez |
c8155f7f ER |
53 | Summary(pl.UTF-8): GRUB2 - bootloader dla x86 i ppc |
54 | Summary(pt_BR.UTF-8): Gerenciador de inicialização GRUB2 | |
afe8504a | 55 | Name: grub2 |
41468086 | 56 | Version: 2.06 |
f1c7b511 | 57 | Release: 1 |
2e4bec6f | 58 | License: GPL v2 |
afe8504a | 59 | Group: Base |
729e6097 | 60 | Source0: ftp://ftp.gnu.org/gnu/grub/grub-%{version}.tar.xz |
41468086 | 61 | # Source0-md5: cf0fd928b1e5479c8108ee52cb114363 |
22909ca1 ER |
62 | Source1: update-grub |
63 | Source2: update-grub.8 | |
b46589aa | 64 | Source3: grub.sysconfig |
e2964b87 | 65 | Source4: grub-custom.cfg |
b46589aa | 66 | Patch1: pld-sysconfdir.patch |
872700b0 | 67 | Patch2: grub-garbage.patch |
c9273ffc JK |
68 | Patch3: grub-lvmdevice.patch |
69 | Patch4: pld-mkconfigdir.patch | |
70 | Patch5: grub-mkconfig-diagnostics.patch | |
668ecb01 JK |
71 | Patch6: posix.patch |
72 | Patch7: %{name}-fonts_path.patch | |
668ecb01 JK |
73 | Patch9: just-say-linux.patch |
74 | Patch10: ignore-kernel-symlinks.patch | |
75 | Patch11: choose-preferred-initrd.patch | |
76 | Patch12: %{name}-cfg.patch | |
c287192d | 77 | Patch13: efi-net-fix.patch |
a4c52d96 | 78 | Patch14: blscfg.patch |
feaacba3 | 79 | URL: http://www.gnu.org/software/grub/ |
41468086 | 80 | BuildRequires: autoconf >= 2.63 |
27550907 | 81 | BuildRequires: automake >= 1:1.11.1-1 |
8b781299 | 82 | BuildRequires: bison |
06df59fd | 83 | BuildRequires: device-mapper-devel |
feaacba3 | 84 | BuildRequires: flex >= 2.5.35 |
26996aed | 85 | BuildRequires: fonts-TTF-DejaVu |
feaacba3 | 86 | BuildRequires: freetype-devel >= 2 |
12fd19f5 | 87 | BuildRequires: gawk |
39b1c916 | 88 | BuildRequires: gcc >= 5:3.4 |
41468086 | 89 | BuildRequires: gettext-tools >= 0.18.3 |
5bafb558 | 90 | BuildRequires: glibc-localedb-all |
feaacba3 | 91 | BuildRequires: glibc-static |
1349ebb8 | 92 | BuildRequires: help2man |
42985b0d | 93 | BuildRequires: libfuse-devel |
afe8504a | 94 | BuildRequires: libtool |
feaacba3 | 95 | BuildRequires: ncurses-devel |
41468086 JP |
96 | BuildRequires: pkgconfig |
97 | BuildRequires: python >= 2.6 | |
98 | BuildRequires: python-modules >= 2.6 | |
feaacba3 | 99 | BuildRequires: rpm >= 4.4.9-56 |
e391ec8f | 100 | BuildRequires: rpm-build >= 4.6 |
feaacba3 JB |
101 | BuildRequires: rpmbuild(macros) >= 1.213 |
102 | BuildRequires: sed >= 4.0 | |
103 | BuildRequires: tar >= 1:1.22 | |
81a7e0ba | 104 | BuildRequires: texinfo |
feaacba3 JB |
105 | BuildRequires: xz |
106 | BuildRequires: xz-devel | |
c668211a ER |
107 | %ifarch %{x8664} |
108 | BuildRequires: /usr/lib/libc.so | |
8905dae4 ER |
109 | %if "%{pld_release}" == "ac" |
110 | BuildRequires: libgcc32 | |
111 | %else | |
50ffb0ba | 112 | BuildRequires: gcc-multilib-32 |
c668211a | 113 | %endif |
dee0d6f5 | 114 | %endif |
feaacba3 | 115 | Requires: %{name}-platform = %{version}-%{release} |
a5138d8d | 116 | Requires: pld-release |
dc6928bc | 117 | Requires: which |
feaacba3 JB |
118 | %ifarch %{ix86} %{x8664} |
119 | Suggests: %{name}-platform-pc | |
120 | %endif | |
190cc685 | 121 | Suggests: cdrkit-mkisofs |
97ee543c | 122 | Suggests: os-prober |
afe8504a | 123 | Provides: bootloader |
fc835b5e | 124 | Conflicts: grub |
1a68d0fe | 125 | ExclusiveArch: %{ix86} %{x8664} x32 %{arm} aarch64 ia64 mips mipsel ppc ppc64 riscv32 riscv64 sparc64 |
afe8504a SP |
126 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
127 | ||
128 | %define _sbindir /sbin | |
4a00f3b7 | 129 | %define _bindir %{_sbindir} |
1536aaf2 | 130 | %define _libdir /lib |
e6fbd304 | 131 | %define _datadir %{_libdir} |
26e757db | 132 | %define _libexecdir %{_libdir}/grub |
1536aaf2 | 133 | %define _grubdir /boot/grub |
da9b7cf9 | 134 | %define _localedir /usr/share/locale |
9d44d75e | 135 | |
0e2cbb94 JK |
136 | # part of grub code is not relocable (these are not Linux libs) |
137 | # stack protector also breaks non-Linux binaries | |
8c5e5aa2 JR |
138 | # any kind of forced optimizations makes grub2 unreliable (random |
139 | # reboots and hangs on boot menu screen) | |
5bc5d891 | 140 | %define filterout_c -fPIC -O. |
5967241e | 141 | %undefine _ssp_cflags |
5bc5d891 | 142 | %undefine _fortify_cflags |
0e2cbb94 | 143 | |
afe8504a SP |
144 | %description |
145 | GRUB is a GPLed bootloader intended to unify bootloading across x86 | |
146 | operating systems. In addition to loading the Linux and *BSD kernels, | |
147 | it implements the Multiboot standard, which allows for flexible | |
148 | loading of multiple boot images (needed for modular kernels such as | |
149 | the GNU Hurd). | |
150 | ||
211df1ed ER |
151 | GRUB 2 is derived from PUPA which was a research project to |
152 | investigate the next generation of GRUB. GRUB 2 has been rewritten | |
153 | from scratch to clean up everything for modularity and portability. | |
154 | ||
155 | GRUB 2 targets at the following goals: | |
156 | - Scripting support, such as conditionals, loops, variables and | |
157 | functions. | |
158 | - Graphical interface. | |
159 | - Dynamic loading of modules in order to extend itself at the run time | |
160 | rather than at the build time. | |
161 | - Portability for various architectures. | |
162 | - Internationalization. This includes support for non-ASCII character | |
163 | code, message catalogs like gettext, fonts, graphics console, and so | |
164 | on. | |
165 | - Real memory management, to make GNU GRUB more extensible. | |
166 | - Modular, hierarchical, object-oriented framework for file systems, | |
167 | files, devices, drives, terminals, commands, partition tables and OS | |
168 | loaders. | |
169 | - Cross-platform installation which allows for installing GRUB from a | |
170 | different architecture. | |
171 | - Rescue mode saves unbootable cases. Stage 1.5 was eliminated. | |
172 | - Fix design mistakes in GRUB Legacy, which could not be solved for | |
173 | backward-compatibility, such as the way of numbering partitions. | |
174 | ||
6b0aefbf | 175 | %description -l de.UTF-8 |
afe8504a SP |
176 | GRUB (GRand Unified Boot-loader) ist ein Bootloader, der oft auf |
177 | Rechnern eingesetzt wird, auf denen das freie Betriebssystem Linux | |
6b0aefbf | 178 | läuft. GRUB löst den betagten LILO (Linux-Loader) ab. |
afe8504a SP |
179 | |
180 | GRUB wurde innerhalb des GNU Hurd-Projektes als Boot-Loader entwickelt | |
6b0aefbf JR |
181 | und wird unter der GPL vertrieben. Aufgrund seiner höheren |
182 | Flexibilität verdrängt GRUB in vielen Linux-Distributionen den | |
afe8504a SP |
183 | traditionellen Boot-Loader LILO. |
184 | ||
f97cafb4 ZU |
185 | %description -l hu.UTF-8 |
186 | GRUB egy GPL liszenszű rendszerbetöltő. Linux és *BSD kernelek | |
187 | betöltése mellett támogatja a Multiboot standard-ot, amely lehetővé | |
188 | teszi boot képek betöltését (moduláris kerneleknek kell, mint pl. a | |
189 | GNU Hurd). | |
190 | ||
191 | GRUB2 céljai a következők: | |
192 | - szkriptelés támogatása, úgymint feltételek, ciklusok, változók, | |
193 | függvények. | |
194 | - grafikus felület | |
195 | - modulok dinamikus betöltése futási időben | |
196 | - hordozhatóság több architektúrára | |
197 | - többnyelvűség: nem-ASCII karakterek támogatása, üzenetkatalógusok, | |
198 | mint gettext, betűtípusok, grafikus konzolon, és így tovább | |
199 | - valós memória kezelés, amellyel még bővíthetőbbé tehetjük | |
200 | - moduláris, hierarchikus, objektum-orientált keretrendszer | |
201 | fájlrendszerekhez, fájlokhoz, eszközökhöz, meghajtókhoz, | |
202 | terminálokhoz, parancsokhoz, partíciós táblákhoz és OS betöltőkhöz | |
203 | ||
6b0aefbf JR |
204 | %description -l es.UTF-8 |
205 | Éste es GRUB - Grand Unified Boot Loader - un administrador de | |
206 | inicialización capaz de entrar en la mayoría de los sistemas | |
afe8504a | 207 | operacionales libres - Linux, FreeBSD, NetBSD, GNU Mach, etc. como |
6b0aefbf | 208 | también en la mayoría de los sistemas operacionales comerciales para |
afe8504a SP |
209 | PC. |
210 | ||
211 | El administrador GRUB puede ser una buena alternativa a LILO, para | |
6b0aefbf JR |
212 | usuarios conmás experiencia y que deseen obtener más recursos de su |
213 | cargador de inicialización (boot loader). | |
afe8504a | 214 | |
6b0aefbf | 215 | %description -l pl.UTF-8 |
feaacba3 | 216 | GRUB jest bootloaderem na licencji GNU GPL, mającym na celu unifikację |
6b0aefbf | 217 | procesu bootowania na systemach x86. Potrafi nie tylko ładować jądra |
feaacba3 | 218 | Linuksa i *BSD: posiada również implementację standardu Multiboot, |
6b0aefbf JR |
219 | który pozwala na elastyczne ładowanie wielu obrazów bootowalnych |
220 | (czego wymagają modułowe jądra, takie jak GNU Hurd). | |
afe8504a | 221 | |
6b0aefbf JR |
222 | %description -l pt_BR.UTF-8 |
223 | Esse é o GRUB - Grand Unified Boot Loader - um gerenciador de boot | |
afe8504a SP |
224 | capaz de entrar na maioria dos sistemas operacionais livres - Linux, |
225 | FreeBSD, NetBSD, GNU Mach, etc. assim como na maioria dos sistemas | |
226 | operacionais comerciais para PC. | |
227 | ||
6b0aefbf JR |
228 | O GRUB pode ser uma boa alternativa ao LILO, para usuários mais |
229 | avançados e que querem mais recursos de seu boot loader. | |
afe8504a | 230 | |
565fe2e3 ER |
231 | %package -n bash-completion-%{name} |
232 | Summary: bash-completion for GRUB | |
feaacba3 | 233 | Summary(pl.UTF-8): Bashowe uzupełnianie nazw dla GRUB-a |
565fe2e3 ER |
234 | Group: Applications/Shells |
235 | Requires: bash-completion | |
d28207fb | 236 | BuildArch: noarch |
565fe2e3 ER |
237 | |
238 | %description -n bash-completion-%{name} | |
239 | This package provides bash-completion for GRUB. | |
240 | ||
241 | %description -n bash-completion-%{name} -l pl.UTF-8 | |
feaacba3 | 242 | Pakiet ten dostarcza bashowe uzupełnianie nazw dla GRUB-a. |
565fe2e3 | 243 | |
6d8475a4 | 244 | %package platform-pc |
62081337 | 245 | Summary: PC BIOS platform support for GRUB |
feaacba3 | 246 | Summary(pl.UTF-8): Obsługa platformy PC BIOS dla GRUB-a |
62081337 | 247 | Group: Base |
6d8475a4 | 248 | Provides: %{name}-platform = %{version}-%{release} |
1536aaf2 | 249 | |
6d8475a4 | 250 | %description platform-pc |
62081337 | 251 | PC BIOS platform support for GRUB. |
1536aaf2 | 252 | |
feaacba3 JB |
253 | %description platform-pc -l pl.UTF-8 |
254 | Obsługa platformy PC BIOS dla GRUB-a. | |
255 | ||
6d8475a4 | 256 | %package platform-efi |
1536aaf2 | 257 | Summary: (U)EFI platform support for GRUB |
feaacba3 | 258 | Summary(pl.UTF-8): Obsługa platformy (U)EFI dla GRUB-a |
1536aaf2 | 259 | Group: Base |
6e81e1fe | 260 | Suggests: efibootmgr |
6d8475a4 | 261 | Provides: %{name}-platform = %{version}-%{release} |
1536aaf2 | 262 | |
6d8475a4 | 263 | %description platform-efi |
1536aaf2 JK |
264 | (U)EFI platform support for GRUB. |
265 | ||
feaacba3 JB |
266 | %description platform-efi -l pl.UTF-8 |
267 | Obsługa platformy (U)EFI dla GRUB-a. | |
268 | ||
7615a862 JK |
269 | %package mkfont |
270 | Summary: GRUB font files converter | |
feaacba3 | 271 | Summary(pl.UTF-8): Konwerter plików fontów GRUB-a |
7615a862 JK |
272 | Group: Base |
273 | ||
274 | %description mkfont | |
275 | Converts common font file formats into PF2. | |
276 | ||
feaacba3 JB |
277 | %description mkfont -l pl.UTF-8 |
278 | Program do konwersji popularnych formatów plików fontów do PF2. | |
279 | ||
8ac8605d JK |
280 | %package theme-starfield |
281 | Summary: starfield theme for GRUB | |
feaacba3 | 282 | Summary(pl.UTF-8): Motyw starfield dla GRUB-a |
8ac8605d JK |
283 | Group: Base |
284 | ||
285 | %description theme-starfield | |
286 | starfield theme for GRUB. | |
287 | ||
feaacba3 JB |
288 | %description theme-starfield -l pl.UTF-8 |
289 | Motyw starfield dla GRUB-a. | |
290 | ||
afe8504a | 291 | %prep |
729e6097 | 292 | %setup -q -n grub-%{version} |
b46589aa | 293 | %patch1 -p1 |
872700b0 | 294 | %patch2 -p1 |
f951fcbe | 295 | %patch3 -p1 |
aec70abd | 296 | %patch4 -p1 |
f7ae30d0 | 297 | %patch5 -p1 |
668ecb01 JK |
298 | %patch6 -p1 |
299 | %patch7 -p1 | |
668ecb01 | 300 | %patch9 -p1 |
26996aed | 301 | %patch10 -p1 |
668ecb01 JK |
302 | %patch11 -p1 |
303 | %patch12 -p0 | |
c287192d | 304 | %patch13 -p1 |
f1c7b511 | 305 | %patch14 -p1 |
5bafb558 JK |
306 | |
307 | # we don't have C.utf-8 and need an UTF-8 locale for build | |
308 | sed -i -e 's/LC_ALL=C.UTF-8/LC_ALL=en_US.utf-8/g' po/Makefile* po/Rules* | |
afe8504a SP |
309 | |
310 | %build | |
928eb9c1 | 311 | # if gold is used then grub doesn't even boot |
9bc7aab3 AM |
312 | # https://savannah.gnu.org/bugs/?34539 |
313 | # http://sourceware.org/bugzilla/show_bug.cgi?id=14196 | |
7a73b7a5 | 314 | install -d our-ld |
70fd3248 | 315 | ln -f -s /usr/bin/ld.bfd our-ld/ld |
7a73b7a5 | 316 | export PATH=$(pwd)/our-ld:$PATH |
928eb9c1 | 317 | |
b876d99a JK |
318 | ## not only the typicall autotools stuff |
319 | #./autogen.sh | |
320 | ||
50ffb0ba | 321 | #{__gettextize} |
b876d99a JK |
322 | %{__aclocal} -I m4 |
323 | %{__autoconf} | |
324 | %{__autoheader} | |
325 | %{__automake} | |
12fd19f5 | 326 | |
1536aaf2 | 327 | for platform in %{platforms} ; do |
fc490c3e JK |
328 | install -d build-${platform} |
329 | cd build-${platform} | |
0e2cbb94 JK |
330 | |
331 | if [ "$platform" != "efi" ] ; then | |
feaacba3 | 332 | platform_opts="--enable-efiemu%{!?with_efiemu:=no}" |
0e2cbb94 JK |
333 | else |
334 | platform_opts="" | |
335 | fi | |
336 | ||
55d67ca1 | 337 | ln -f -s ../configure . |
1536aaf2 JK |
338 | # mawk stalls at ./genmoddep.awk, so force gawk |
339 | AWK=gawk \ | |
340 | %configure \ | |
341 | --with-platform=${platform} \ | |
342 | --disable-werror \ | |
18b992da | 343 | --enable-grub-themes \ |
1536aaf2 JK |
344 | %if %{with grubemu} |
345 | --enable-grub-emu-usb \ | |
346 | --enable-grub-emu-sdl \ | |
347 | --enable-grub-emu-pci \ | |
348 | %endif | |
0e2cbb94 | 349 | $platform_opts \ |
1536aaf2 JK |
350 | TARGET_LDFLAGS=-static |
351 | ||
ec98fb4c | 352 | %{__make} -j1 -C po update-gmo |
1536aaf2 JK |
353 | %{__make} |
354 | cd .. | |
355 | done | |
0fb8b1a5 | 356 | |
afe8504a SP |
357 | %install |
358 | rm -rf $RPM_BUILD_ROOT | |
afe8504a | 359 | |
1536aaf2 | 360 | for platform in %{platforms} ; do |
fc490c3e | 361 | cd build-${platform} |
1536aaf2 JK |
362 | %{__make} install \ |
363 | pkgdatadir=%{_libexecdir} \ | |
364 | pkglibdir=%{_libexecdir} \ | |
365 | DESTDIR=$RPM_BUILD_ROOT | |
366 | cd .. | |
367 | done | |
afe8504a | 368 | |
7615a862 JK |
369 | # not in Th (?) |
370 | %{__rm} -r $RPM_BUILD_ROOT%{_localedir}/de@hebrew | |
371 | %{__rm} -r $RPM_BUILD_ROOT%{_localedir}/en@{arabic,cyrillic,greek,hebrew,piglatin} | |
372 | ||
f951fcbe AM |
373 | %find_lang grub |
374 | ||
bcd6a47e ER |
375 | # this must be after 'make install' |
376 | install -d $RPM_BUILD_ROOT%{_libexecdir}/locale | |
377 | ||
1536aaf2 JK |
378 | install -d $RPM_BUILD_ROOT%{_grubdir} |
379 | cp -p docs/grub.cfg $RPM_BUILD_ROOT%{_grubdir} | |
380 | ||
7b6caae9 | 381 | # grub.d/41_custom |
1536aaf2 | 382 | cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_grubdir}/custom.cfg |
7b6caae9 ER |
383 | %{__rm} $RPM_BUILD_ROOT/lib/grub.d/40_custom |
384 | ||
22909ca1 | 385 | install -p %{SOURCE1} $RPM_BUILD_ROOT%{_sbindir}/update-grub |
7b6caae9 ER |
386 | cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_mandir}/man8/update-grub.8 |
387 | ||
388 | install -d $RPM_BUILD_ROOT/etc/sysconfig | |
389 | cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/grub | |
390 | ||
391 | # rm -f, because it sometimes exists, sometimes not, depending which texlive you have installed | |
47069130 | 392 | rm -f $RPM_BUILD_ROOT%{_infodir}/dir |
e2964b87 | 393 | |
feaacba3 | 394 | # platform specific, unnecessarily always installed |
50ffb0ba | 395 | %ifnarch %{ix86} %{x8664} x32 |
feaacba3 JB |
396 | %{__rm} $RPM_BUILD_ROOT{%{_sbindir}/grub-bios-setup,%{_mandir}/man8/grub-bios-setup.8} |
397 | %endif | |
398 | %ifnarch sparc64 | |
399 | %{__rm} $RPM_BUILD_ROOT{%{_sbindir}/grub-sparc64-setup,%{_mandir}/man8/grub-sparc64-setup.8} | |
400 | %endif | |
401 | ||
cbd79801 | 402 | # core.img - bootable image generated by grub-mkimage(1) via grub-install(1) |
1536aaf2 JK |
403 | touch $RPM_BUILD_ROOT%{_grubdir}/core.img |
404 | touch $RPM_BUILD_ROOT%{_grubdir}/device.map | |
cbd79801 | 405 | |
8b5c394b ER |
406 | # needs to be exactly 1KiB |
407 | # but we're ghosting it. so whom are we kidding here? :P (maybe %config it in future?) | |
1536aaf2 | 408 | dd bs=1024 if=/dev/zero count=1 of=$RPM_BUILD_ROOT%{_grubdir}/grubenv |
8b5c394b | 409 | |
afe8504a SP |
410 | %clean |
411 | rm -rf $RPM_BUILD_ROOT | |
412 | ||
5028d8c9 | 413 | %post -p %{_sbindir}/postshell |
fc58858a | 414 | -/usr/sbin/fix-info-dir -c %{_infodir} |
f4604ef8 | 415 | |
5028d8c9 | 416 | %postun -p %{_sbindir}/postshell |
fc58858a | 417 | -/usr/sbin/fix-info-dir -c %{_infodir} |
f4604ef8 | 418 | |
8c5e5aa2 JR |
419 | %triggerpostun -- %{name} < 2.00-2 |
420 | # Note this trigger on version upgrade needed only for upgrade from | |
421 | # old grub2 packages which contained modules in /boot/grub | |
422 | # or were built with optimizations enabled | |
92904505 ER |
423 | # don't do anything on --downgrade |
424 | if [ $1 -le 1 ]; then | |
425 | exit 0 | |
426 | fi | |
427 | echo "Grub was upgraded, trying to setup it to boot sector" | |
428 | /sbin/grub-install '(hd0)' || : | |
429 | ||
7b6caae9 ER |
430 | %triggerpostun -- %{name} < 1.99-7.3 |
431 | # migrate /etc/grub.d/custom.cfg.rpmsave -> /boot/grub/custom.cfg | |
432 | if [ -f %{_sysconfdir}/grub.d/custom.cfg.rpmsave ]; then | |
1536aaf2 JK |
433 | cp -f %{_grubdir}/custom.cfg{,.rpmnew} |
434 | mv -f %{_sysconfdir}/grub.d/custom.cfg.rpmsave %{_grubdir}/custom.cfg | |
7b6caae9 ER |
435 | fi |
436 | ||
f951fcbe | 437 | %files -f grub.lang |
afe8504a | 438 | %defattr(644,root,root,755) |
2e4bec6f | 439 | %doc AUTHORS ChangeLog NEWS README THANKS TODO |
aec70abd | 440 | %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/grub |
71c933c0 | 441 | %attr(755,root,root) %{_sbindir}/grub-editenv |
3ea0c40e | 442 | %attr(755,root,root) %{_sbindir}/grub-fstest |
5bafb558 JK |
443 | %attr(755,root,root) %{_sbindir}/grub-file |
444 | %attr(755,root,root) %{_sbindir}/grub-glue-efi | |
e9d73181 | 445 | %attr(755,root,root) %{_sbindir}/grub-kbdcomp |
fc835b5e | 446 | %attr(755,root,root) %{_sbindir}/grub-install |
5bafb558 | 447 | %attr(755,root,root) %{_sbindir}/grub-macbless |
e9d73181 | 448 | %attr(755,root,root) %{_sbindir}/grub-menulst2cfg |
fc835b5e | 449 | %attr(755,root,root) %{_sbindir}/grub-mkconfig |
e9d73181 AM |
450 | %attr(755,root,root) %{_sbindir}/grub-mklayout |
451 | %attr(755,root,root) %{_sbindir}/grub-mknetdir | |
71c933c0 ER |
452 | %attr(755,root,root) %{_sbindir}/grub-mkpasswd-pbkdf2 |
453 | %attr(755,root,root) %{_sbindir}/grub-mkrelpath | |
454 | %attr(755,root,root) %{_sbindir}/grub-mkrescue | |
7615a862 JK |
455 | %attr(755,root,root) %{_sbindir}/grub-mkstandalone |
456 | %attr(755,root,root) %{_sbindir}/grub-mount | |
457 | %attr(755,root,root) %{_sbindir}/grub-ofpathname | |
71c933c0 | 458 | %attr(755,root,root) %{_sbindir}/grub-reboot |
5bafb558 | 459 | %attr(755,root,root) %{_sbindir}/grub-render-label |
71c933c0 ER |
460 | %attr(755,root,root) %{_sbindir}/grub-script-check |
461 | %attr(755,root,root) %{_sbindir}/grub-set-default | |
5bafb558 | 462 | %attr(755,root,root) %{_sbindir}/grub-syslinux2cfg |
22909ca1 | 463 | %attr(755,root,root) %{_sbindir}/update-grub |
50ffb0ba | 464 | %ifarch %{ix86} %{x8664} x32 |
feaacba3 JB |
465 | %attr(755,root,root) %{_sbindir}/grub-bios-setup |
466 | %{_mandir}/man8/grub-bios-setup.8* | |
467 | %endif | |
50ffb0ba | 468 | %ifarch %{ix86} %{x8664} x32 |
76be4c4a | 469 | %attr(755,root,root) %{_sbindir}/grub-mkimage |
fc835b5e | 470 | %{_mandir}/man1/grub-mkimage.1* |
76be4c4a AM |
471 | %else |
472 | %attr(755,root,root) %{_sbindir}/grub-probe | |
76be4c4a | 473 | %{_mandir}/man8/grub-probe.8* |
76be4c4a | 474 | %endif |
feaacba3 JB |
475 | %ifarch sparc64 |
476 | %attr(755,root,root) %{_sbindir}/grub-sparc64-setup | |
477 | %{_mandir}/man8/grub-sparc64-setup.8* | |
478 | %endif | |
71c933c0 | 479 | %{_mandir}/man1/grub-editenv.1* |
5bafb558 | 480 | %{_mandir}/man1/grub-file.1* |
3ea0c40e | 481 | %{_mandir}/man1/grub-fstest.1* |
5bafb558 | 482 | %{_mandir}/man1/grub-glue-efi.1* |
7615a862 | 483 | %{_mandir}/man1/grub-kbdcomp.1* |
e9d73181 | 484 | %{_mandir}/man1/grub-menulst2cfg.1* |
e9d73181 | 485 | %{_mandir}/man1/grub-mklayout.1* |
5bafb558 | 486 | %{_mandir}/man1/grub-mknetdir.1* |
71c933c0 | 487 | %{_mandir}/man1/grub-mkpasswd-pbkdf2.1* |
03b9d04b | 488 | %{_mandir}/man1/grub-mkrelpath.1* |
71c933c0 | 489 | %{_mandir}/man1/grub-mkrescue.1* |
7615a862 JK |
490 | %{_mandir}/man1/grub-mkstandalone.1* |
491 | %{_mandir}/man1/grub-mount.1* | |
5bafb558 | 492 | %{_mandir}/man1/grub-render-label.1* |
71c933c0 | 493 | %{_mandir}/man1/grub-script-check.1* |
5bafb558 | 494 | %{_mandir}/man1/grub-syslinux2cfg.1* |
71c933c0 | 495 | %{_mandir}/man8/grub-install.8* |
a4c52d96 | 496 | %{_mandir}/man8/grub-macbless.8* |
fc835b5e | 497 | %{_mandir}/man8/grub-mkconfig.8* |
7615a862 | 498 | %{_mandir}/man8/grub-ofpathname.8* |
71c933c0 ER |
499 | %{_mandir}/man8/grub-reboot.8* |
500 | %{_mandir}/man8/grub-set-default.8* | |
22909ca1 | 501 | %{_mandir}/man8/update-grub.8* |
797addca | 502 | %if %{with grubemu} |
8fcee4aa ER |
503 | %attr(755,root,root) %{_sbindir}/grub-emu |
504 | %{_mandir}/man8/grub-emu.8* | |
797addca | 505 | %endif |
e6fbd304 | 506 | %{_libexecdir}/grub-mkconfig_lib |
aec70abd | 507 | |
1536aaf2 | 508 | %dir %{_grubdir} |
26e757db | 509 | %dir %{_libexecdir} |
bcd6a47e | 510 | # XXX: check this locale dir location and if it is neccesaary to exist on /boot |
565fe2e3 | 511 | |
bcd6a47e | 512 | %dir %{_libexecdir}/locale |
1536aaf2 JK |
513 | %config(noreplace) %verify(not md5 mtime size) %{_grubdir}/grub.cfg |
514 | %config(noreplace) %verify(not md5 mtime size) %{_grubdir}/custom.cfg | |
aec70abd | 515 | |
cbd79801 | 516 | # generated by grub at runtime |
1536aaf2 JK |
517 | %ghost %{_grubdir}/device.map |
518 | %ghost %{_grubdir}/core.img | |
519 | %ghost %{_grubdir}/grubenv | |
cbd79801 | 520 | |
e2964b87 ER |
521 | %dir /lib/grub.d |
522 | %doc /lib/grub.d/README | |
523 | %attr(755,root,root) /lib/grub.d/00_header | |
524 | %attr(755,root,root) /lib/grub.d/10_linux | |
e9d73181 | 525 | %attr(755,root,root) /lib/grub.d/20_linux_xen |
e2964b87 | 526 | %attr(755,root,root) /lib/grub.d/30_os-prober |
e9d73181 | 527 | %attr(755,root,root) /lib/grub.d/41_custom |
e2964b87 | 528 | |
b876d99a JK |
529 | # these are now installed only on matching hosts |
530 | #%attr(755,root,root) /lib/grub.d/10_hurd | |
531 | #%attr(755,root,root) /lib/grub.d/10_illumos | |
532 | #%attr(755,root,root) /lib/grub.d/10_kfreebsd | |
533 | #%attr(755,root,root) /lib/grub.d/10_netbsd | |
534 | #%attr(755,root,root) /lib/grub.d/10_xnu | |
535 | ||
50ffb0ba | 536 | %ifarch %{ix86} %{x8664} x32 |
1ffaf1f6 | 537 | %attr(755,root,root) %{_sbindir}/grub-probe |
fc835b5e | 538 | %{_mandir}/man8/grub-probe.8* |
4a00f3b7 | 539 | %endif |
aec70abd | 540 | |
f4604ef8 | 541 | %{_infodir}/grub*.info* |
565fe2e3 | 542 | |
8ac8605d JK |
543 | %dir %{_datadir}/grub/themes |
544 | ||
e391ec8f JB |
545 | %files -n bash-completion-%{name} |
546 | %defattr(644,root,root,755) | |
547 | /etc/bash_completion.d/grub | |
548 | ||
1536aaf2 | 549 | %if %{with pc} |
6d8475a4 | 550 | %files platform-pc |
1536aaf2 JK |
551 | %defattr(644,root,root,755) |
552 | %dir %{_libexecdir}/*-pc | |
553 | %{_libexecdir}/*-pc/modinfo.sh | |
554 | %{_libexecdir}/*-pc/*.exec | |
555 | %{_libexecdir}/*-pc/*.image | |
556 | %{_libexecdir}/*-pc/*.lst | |
557 | %{_libexecdir}/*-pc/*.mod | |
558 | %{_libexecdir}/*-pc/*.module | |
559 | %{_libexecdir}/*-pc/lzma_decompress.img | |
560 | %{_libexecdir}/*-pc/config.h | |
561 | %{_libexecdir}/*-pc/gdb_grub | |
562 | %{_libexecdir}/*-pc/gmodule.pl | |
563 | %if %{with efiemu} | |
1536aaf2 JK |
564 | %{_libexecdir}/*-pc/efiemu*.o |
565 | %endif | |
1536aaf2 | 566 | %{_libexecdir}/*-pc/kernel.img |
e391ec8f | 567 | %ifarch %{ix86} %{x8664} x32 |
1536aaf2 | 568 | %{_libexecdir}/*-pc/boot.img |
5bafb558 | 569 | %{_libexecdir}/*-pc/boot_hybrid.img |
1536aaf2 JK |
570 | %{_libexecdir}/*-pc/cdboot.img |
571 | %{_libexecdir}/*-pc/diskboot.img | |
572 | %{_libexecdir}/*-pc/lnxboot.img | |
573 | %{_libexecdir}/*-pc/pxeboot.img | |
574 | %endif | |
575 | %endif | |
576 | ||
577 | %if %{with efi} | |
6d8475a4 | 578 | %files platform-efi |
1536aaf2 | 579 | %defattr(644,root,root,755) |
41468086 | 580 | %attr(755,root,root) /lib/grub.d/30_uefi-firmware |
1536aaf2 JK |
581 | %dir %{_libexecdir}/*-efi |
582 | %{_libexecdir}/*-efi/modinfo.sh | |
583 | %{_libexecdir}/*-efi/*.exec | |
584 | %{_libexecdir}/*-efi/*.lst | |
585 | %{_libexecdir}/*-efi/*.mod | |
586 | %{_libexecdir}/*-efi/*.module | |
587 | %{_libexecdir}/*-efi/config.h | |
588 | %{_libexecdir}/*-efi/gdb_grub | |
589 | %{_libexecdir}/*-efi/gmodule.pl | |
1536aaf2 JK |
590 | %{_libexecdir}/*-efi/kernel.img |
591 | %endif | |
592 | ||
7615a862 JK |
593 | %files mkfont |
594 | %defattr(644,root,root,755) | |
7615a862 | 595 | %attr(755,root,root) %{_sbindir}/grub-mkfont |
feaacba3 | 596 | %{_mandir}/man1/grub-mkfont.1* |
7615a862 | 597 | |
8ac8605d JK |
598 | %files theme-starfield |
599 | %defattr(644,root,root,755) | |
600 | %{_datadir}/grub/themes/starfield |