/[packages]/updates/6/grub2/current/SPECS/grub2.spec
ViewVC logotype

Annotation of /updates/6/grub2/current/SPECS/grub2.spec

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1040611 - (hide annotations) (download)
Sun Jul 10 11:24:49 2016 UTC (7 years, 8 months ago) by barjac
Original Path: cauldron/grub2/current/SPECS/grub2.spec
File size: 12647 byte(s)
- fix for Mga#18781
- grub2 flashes error: sparse file not allowed message when booting from btrfs
- patched to ignore the error
1 barjac 248856 %define Werror_cflags %nil
2     # Modules always contain just 32-bit code
3     %define _libdir %{_exec_prefix}/lib
4 neoclust 926545
5 tv 990775 # 64bit intel machines use 32bit boot loader
6     # (We cannot just redefine _target_cpu, as we'd get i386.rpm packages then)
7 barjac 248856 %ifarch x86_64
8 tv 990775 %define _target_platform i386-%{_vendor}-%{_target_os}%{?_gnu}
9 barjac 248856 %global efi_arch x86_64-efi
10 neoclust 926392 %endif
11    
12     %ifarch %arm
13     %global efi_arch arm-uboot
14 neoclust 926545 %endif
15    
16     %ifarch %ix86
17 barjac 248856 %global efi_arch i386-efi
18     %endif
19    
20 tv 1006390 %global tarversion 2.02~beta3
21 barjac 248856 %global pc_arch i386-pc
22 barjac 1011161 %define git 10457
23 barjac 1040611 %define rel 9
24 neoclust 926398
25 barjac 248856 Name: grub2
26 barjac 629976 Version: 2.02
27 barjac 873987 Release: %mkrel -c git%{git} %{rel}
28 barjac 1007014 Summary: Bootloader with support for Linux, Multiboot and more
29 barjac 390289 Group: System/Boot and Init
30 barjac 248856 License: GPLv3+ and GPLv2
31     # unicode font is GPLv2
32 barjac 318311 URL: http://www.gnu.org/software/grub/
33 barjac 1007014 Source0: ftp://alpha.gnu.org/gnu/grub/grub-%{tarversion}.tar.xz
34 tv 1006390 #Source0: ftp://ftp.gnu.org/gnu/grub/grub-%%{tarversion}.tar.xz
35 barjac 400190 Source2: grub.default
36     Source3: README.Mageia
37     Source4: README.efi
38 tv 990767 Source6: gitignore
39 tv 1006390 Source7: grub.patches
40 barjac 404821 # pf2 fonts may be regenerated in SOURCES using ./mkfonts
41 barjac 400190 Source8: mkfonts
42     Source9: unicode.pf2
43 barjac 402075 Source10: MageiaLogo-Bold-16.pf2
44     Source11: MageiaLogo-Bold-20.pf2
45     Source12: MageiaLogo-Bold-28.pf2
46     Source13: MageiaLogo-Regular-20.pf2
47 barjac 803582 Source14: Mageia5-grub2-1024x768.png
48 barjac 404821 Source15: MageiaLogoFonts-bdf.tar.xz
49 tv 1006389 Source20: theme.txt
50 barjac 394991
51 tv 990770 #
52     # Fedora patches:
53     #
54 tv 1006390 # generate with do-rebase
55 barjac 1011161 # Include Fedora patches in Source7
56 barjac 1007014 %{expand:%(while read line; do echo $line; done < %{SOURCE7})}
57 barjac 873987
58 tv 990770 # And these are:
59     # git checkout debuginfo
60     # git format-patch fedora-23..
61 barjac 1020551 Patch10001: 10001-Put-the-correct-.file-directives-in-our-.S-files.patch
62     Patch10002: 10002-Make-it-possible-to-enabled-build-id-sha1.patch
63     #Patch10003: 10003-Don-t-tell-the-compiler-to-do-annoying-things-with-.patch
64     Patch10004: 10004-Add-grub_qdprintf-grub_dprintf-without-the-file-lin.patch
65     Patch10005: 10005-Make-a-gdb-dprintf-that-tells-us-load-addresses.patch
66     #Patch10006: 10006-Try-it-in-gentpl-again.patch
67 tv 990770
68     #
69     # Mga patches:
70     #
71 barjac 1007014 Patch20001: grub2-2.00-mga-add_failsafe-10_linux.in.patch
72 barjac 1019042 #Patch20002: 0001-increase-disk-cache-mga-16010-mga-18538.patch
73 barjac 1040611 Patch20003: grub2-2.00-mga-dont_write_sparse_file_error_to_screen.patch
74 barjac 1020542 #
75     # SuSE Patch:
76     #
77     # Fixes Mga#15846 - Grub2 doesn't install the bootloader on btrfs if we
78     # have a dualboot with windows starting at sector 63
79     Patch30001: grub2-setup-try-fs-embed-if-mbr-gap-too-small.patch
80 barjac 919799
81 barjac 1007014 BuildRequires: autoconf
82     BuildRequires: autogen
83     BuildRequires: automake
84     BuildRequires: binutils
85     BuildRequires: bison
86     BuildRequires: bzip2-devel
87     BuildRequires: device-mapper-devel
88     BuildRequires: flex
89     BuildRequires: freetype2-devel
90     BuildRequires: freetype-devel
91     BuildRequires: freetype-devel
92     BuildRequires: fuse-devel
93     BuildRequires: gettext-devel
94     BuildRequires: git
95 barjac 248856 BuildRequires: glibc-static-devel
96 barjac 1007014 BuildRequires: help2man
97 barjac 248856 BuildRequires: liblzo-devel
98 barjac 1007014 BuildRequires: libusb-devel
99     BuildRequires: ncurses-devel
100     BuildRequires: python
101 tv 990789 BuildRequires: rpm-devel
102 barjac 1007014 BuildRequires: ruby
103 tv 990789 BuildRequires: texinfo
104 barjac 248856
105     Conflicts: %{name}-efi
106 barjac 388456 Provides: bootloader
107 barjac 853282 Provides: grub2bootloader = %{version}-%{release}
108     Requires: %{name}-common = %{version}-%{release}
109 barjac 248856
110     %description
111     This is the second version of the GRUB (Grand Unified Boot-loader), a highly
112     configurable and customizable boot-loader with modular architecture.
113     It supports a wide range of kernel formats, file systems, computer
114     architectures and hardware devices.
115     Refer to the README.Mageia file that is part of this package's documentation
116     for more information.
117    
118 neoclust 926398 %ifnarch %arm
119 barjac 248856 %package efi
120 barjac 248863 Summary: Boot-loader with support for EFI
121 barjac 390289 Group: System/Boot and Init
122 barjac 248856
123     Conflicts: %{name}
124 tmb 547151 Requires(post): efibootmgr
125 barjac 388456 Provides: bootloader
126 barjac 853282 Provides: grub2bootloader = %{version}-%{release}
127     Requires: %{name}-common = %{version}-%{release}
128 barjac 248856
129     %description efi
130     This is the second version of the GRUB (Grand Unified Boot-loader), a highly
131     configurable and customizable boot-loader with modular architecture.
132     It supports a wide range of kernel formats, file systems, computer
133     architectures and hardware devices.
134 barjac 905032 ************************** WARNING ************************
135     Do not attempt to install this package on a system which is not
136     already using UEFI mode to boot. You cannot switch to UEFI mode by installing
137     this package, the system must be installed in UEFI mode to use it, when it
138     will be installed by default.
139 neoclust 926398 %endif
140 barjac 248856
141 neoclust 926398 %ifarch %arm
142     %package uboot
143 barjac 927090 Summary: Boot-loader with support for UBOOT
144     Group: System/Boot and Init
145 neoclust 926398
146 barjac 927090 Provides: bootloader
147     Provides: grub2bootloader = %{version}-%{release}
148     Requires: %{name}-common = %{version}-%{release}
149 neoclust 926398
150     %description uboot
151     configurable and customizable boot-loader with modular architecture.
152     It supports a wide range of kernel formats, file systems, computer
153     architectures and hardware devices.
154     %endif
155    
156 barjac 853282 %package common
157     Summary: Provides files common to both grub2 and grub2-efi
158     Group: System/Boot and Init
159 barjac 903489 Conflicts: memtest86+ < 5.01-7
160 barjac 853282 Conflicts: %{name} < 2.02-0.git9752.19.mga5
161     Conflicts: %{name}-efi < 2.02-0.git9752.19.mga5
162 barjac 1007014 #Recommends: %%{name}-mageia-theme = %%{version}-%%{release}
163 barjac 903489 Recommends: os-prober >= 1.53
164 barjac 853282 Recommends: xorriso
165     Requires: grub2bootloader = %{version}-%{release}
166    
167     %description common
168     Common files used by both grub2 and grub2-efi.
169    
170 barjac 394991 %package mageia-theme
171 barjac 403927 Summary: Provides a graphical theme with a custom Mageia background for grub2
172 barjac 394991 Group: System/Boot and Init
173    
174 barjac 853282 Requires: grub2bootloader = %{version}-%{release}
175 tmb 550414 Conflicts: grub2-mageia3-theme-dejavu
176 barjac 450000 BuildArch: noarch
177 barjac 394991
178     %description mageia-theme
179 barjac 403927 This package provides a custom Mageia graphical theme.
180 barjac 394991 It is provided as a separate package so it may be easily excluded from
181     minimal installations where a graphical theme is not required.
182    
183 barjac 248856 %prep
184 tv 990766 %setup -q -n grub-%{tarversion}
185 barjac 248856
186 tv 990767 cp %{SOURCE6} .gitignore
187 tv 990770 git init
188     echo '![[:digit:]][[:digit:]]_*.in' > util/grub.d/.gitignore
189     echo '!*.[[:digit:]]' > util/.gitignore
190     git config user.email "%{name}-owner@fedoraproject.org"
191     git config user.name "Fedora Ninjas"
192     git config gc.auto 0
193     git add .
194     git commit -a -q -m "%{tarversion} baseline."
195 barjac 1011161 git apply %{patches} </dev/null
196 tv 990770 git config --unset user.email
197     git config --unset user.name
198 barjac 295597
199 barjac 248856 # README.Mageia
200 neoclust 926399 cp %{SOURCE3} .
201 neoclust 926491
202 neoclust 926398 %ifnarch %arm
203 barjac 400190 # README.efi
204 barjac 397190 cp %{SOURCE4} .
205 barjac 248856
206     cd ..
207 tv 990766 rm -rf grub-efi-%{tarversion}
208     mv grub-%{tarversion} grub-efi-%{tarversion}
209 neoclust 926398 %endif
210 barjac 248856
211 tv 990766 %setup -q -n grub-%{tarversion}
212 barjac 248856
213 tv 990769 cp %{SOURCE6} .gitignore
214 tv 990770 git init
215     echo '![[:digit:]][[:digit:]]_*.in' > util/grub.d/.gitignore
216     echo '!*.[[:digit:]]' > util/.gitignore
217     git config user.email "%{name}-owner@fedoraproject.org"
218     git config user.name "Fedora Ninjas"
219     git config gc.auto 0
220     git add .
221     git commit -a -q -m "%{tarversion} baseline."
222 barjac 1011161 git apply %{patches} </dev/null
223 tv 990770 git config --unset user.email
224     git config --unset user.name
225 barjac 872503 find . -name "*.0???" -delete
226 barjac 295597
227 barjac 248856 # README.Mageia
228 barjac 400190 cp %{SOURCE3} .
229     # README.efi
230 barjac 397190 cp %{SOURCE4} .
231 barjac 248856
232     %build
233     cd ..
234 tv 990766 pushd grub-%{tarversion}
235 pterjan 397685 ./autogen.sh
236 barjac 304517 %configure2_5x TARGET_LDFLAGS=-static \
237 neoclust 926388 %ifarch %arm
238     --with-platform=uboot \
239     %else
240     --with-platform=pc \
241     %endif
242 barjac 248856 --enable-grub-emu-usb \
243     --disable-werror \
244     --enable-grub-mkfont \
245     --program-transform-name=s,grub,%{name}, \
246     --with-bootdir=/boot \
247     --with-grubdir=/%{name} \
248     CFLAGS=""
249 pterjan 397685 %make
250 barjac 248856 popd
251    
252 neoclust 926388 %ifnarch %arm
253 tv 990766 pushd grub-efi-%{tarversion}
254 barjac 397694 ./autogen.sh
255 barjac 304517 %configure2_5x TARGET_LDFLAGS=-static \
256 barjac 248856 --with-platform=efi \
257     %ifarch x86_64
258     --target=x86_64 \
259     %endif
260     --enable-grub-emu-usb \
261     --disable-werror \
262     --enable-grub-mkfont \
263     --program-transform-name=s,grub,%{name}, \
264     --with-bootdir=/boot \
265     --with-grubdir=/%{name} \
266     CFLAGS=""
267 pterjan 397685 %make
268 barjac 248856 popd
269 neoclust 926388 %endif
270 barjac 248856
271     %install
272     cd ..
273 neoclust 926388 %ifnarch %arm
274 tv 990766 pushd grub-efi-%{tarversion}
275 barjac 248856 %makeinstall_std
276     popd
277 neoclust 926388 %endif
278 barjac 248856
279 tv 990766 pushd grub-%{tarversion}
280 barjac 248856 %makeinstall_std
281    
282     # (bor) grub.info is harcoded in sources
283     mv %{buildroot}%{_infodir}/grub.info %{buildroot}%{_infodir}/%{name}.info
284    
285     # Theme
286     install -d %{buildroot}/boot/%{name}/themes/maggy
287 tv 1006389 install -D %{SOURCE20} %{buildroot}/boot/%{name}/themes/maggy
288 barjac 400190 install -D %{SOURCE10} %{buildroot}/boot/%{name}/themes/maggy
289 barjac 397190 install -D %{SOURCE11} %{buildroot}/boot/%{name}/themes/maggy
290     install -D %{SOURCE12} %{buildroot}/boot/%{name}/themes/maggy
291 barjac 401593 install -D %{SOURCE13} %{buildroot}/boot/%{name}/themes/maggy
292 barjac 402075 install -D %{SOURCE14} %{buildroot}/boot/%{name}/themes/maggy
293 barjac 248856
294 barjac 397190 # Ghost config files
295 barjac 248856 install -d %{buildroot}/boot/%{name}
296 barjac 1018949 install -d %{buildroot}/boot/%{name}/fonts
297 barjac 248856
298 barjac 400102 # Workaround for RHL Bug 817187
299     install -d %{buildroot}%{_datadir}/locale/en/LC_MESSAGES
300     ln -s %{_datadir}/locale/en@quot/LC_MESSAGES/grub.mo %{buildroot}%{_datadir}/locale/en/LC_MESSAGES/grub.mo
301 barjac 397190
302     cat > %{buildroot}/boot/%{name}/custom.cfg <<EOF
303 barjac 449511 # Add any extra custom menu entries in here:
304    
305 barjac 397190 EOF
306    
307 barjac 400332 # Provide 'update-grub' and update-grub2 symlink for *buntu exiles ;)
308     cat > %{buildroot}%{_bindir}/update-grub <<EOF
309 barjac 404429 #!/bin/sh
310     su --login root -c "/usr/sbin/grub2-mkconfig -o /boot/grub2/grub.cfg"
311 barjac 400332
312     EOF
313     chmod +x %{buildroot}%{_bindir}/update-grub
314     ln -s %{_bindir}/update-grub %{buildroot}%{_bindir}/update-grub2
315    
316 barjac 248856 # Defaults
317 barjac 400190 install -m 644 -D %{SOURCE2} %{buildroot}%{_sysconfdir}/default/grub
318 barjac 248856
319 barjac 491788 # Remove "GNU/Linux" in menu selections
320     sed -i 's/ GNU\/Linux//' %{buildroot}%{_sysconfdir}/grub.d/10_linux
321 barjac 397190
322 barjac 1018949 cp %{SOURCE9} %{buildroot}%{_datadir}/grub/
323    
324 barjac 248856 %find_lang grub
325    
326     popd
327    
328 barjac 412288 %post
329 barjac 629976 if [ $1 -eq 2 ]; then
330 barjac 1020311 touch /boot/grub2/updtrans
331 barjac 412288 fi
332    
333 neoclust 926398 %ifnarch %arm
334 barjac 412288 %post efi
335 barjac 629976 if [ $1 -eq 2 ]; then
336 barjac 1020311 touch /boot/grub2/updtrans
337 barjac 549519 fi
338 neoclust 926398 %endif
339 barjac 412288
340 barjac 1020311 %posttrans common
341     # On update re-install grub2 to where it was installed by drakboot if possible,
342     # otherwise next boot may fail due to mismatched boot code.
343 barjac 1037745 if [ -f /boot/grub2/updtrans ] && [ -f /boot/grub2/install.sh -a -x /usr/sbin/detectloader ] && [ "$DURING_INSTALL" != "1" ] ; then
344 barjac 1020311 LOADER=$(/usr/sbin/detectloader)
345     [ "$LOADER" = "GRUB2" ] && /boot/grub2/install.sh ||:
346     rm -f /boot/grub2/updtrans
347 barjac 1037745 fi
348 barjac 1020311 # Don't let rpmdrake ask users to shoot themselves in feet! Mga#17263
349     rm -f /etc/default/grub.rpm*
350    
351 barjac 394991 %post mageia-theme
352     # Don't install if updating
353     if [ $1 -eq 1 ] ; then
354 barjac 397534 # Remove trailing blank lines from /etc/default/grub
355     sed -i -e :a -e '/^\n*$/{$d;N;};/\n$/ba' %{_sysconfdir}/default/grub
356     # Check that /etc/default/grub ends in a linefeed
357     [ "$(tail -n 1 %{_sysconfdir}/default/grub | wc --lines)" = "1" ] || echo >> %{_sysconfdir}/default/grub
358     # Add theme
359 barjac 394991 echo "GRUB_THEME=/boot/grub2/themes/maggy/theme.txt" >> %{_sysconfdir}/default/grub
360 barjac 248856 fi
361    
362 barjac 907432 # If updating from below 2.02-0.git10101.4 then re-make grub.cfg once.
363     # grub2 dropped ownership of grub.cfg to avoid rpmnew being created.
364 barjac 1020311 # Remove rpmnew and after new grub.cfg is created remove rpmsave. Mga#17263
365 barjac 907432 %triggerpostun common -- %{name} < 2.02-0.git10101.4, %{name}-efi < 2.02-0.git10101.4
366     rm -f /boot/%{name}/grub.cfg.rpmnew
367     %{name}-mkconfig -o /boot/%{name}/grub.cfg && rm -f /boot/%{name}/grub.cfg.rpmsave
368     # Take this opportunity to remove some unwanted logs
369     rm -f /var/log/%{name}_preun.log
370     rm -f /var/log/%{name}_post.log
371     rm -f /var/log/%{name}_theme_postun.log
372    
373 barjac 248856 %preun
374 barjac 394991 # Only if uninstalling
375     if [ $1 -eq 0 ]; then
376 barjac 248856 rm -rf /boot/%{name}/%{pc_arch}
377     rm -rf /boot/%{name}/locale
378 barjac 253503 fi
379 barjac 248856
380 neoclust 926398 %ifnarch %arm
381 barjac 248856 %preun efi
382 barjac 394991 # Only if uninstalling
383     if [ $1 -eq 0 ]; then
384 barjac 248856 rm -rf /boot/%{name}/%{efi_arch}
385     rm -rf /boot/%{name}/locale
386 barjac 253503 fi
387 neoclust 926398 %endif
388 barjac 248856
389 barjac 394991 %postun mageia-theme
390     # Only if uninstalling theme
391     if [ $1 -eq 0 ]; then
392 barjac 450000 # Remove theme from config
393     sed -i '/GRUB_THEME=\/boot\/grub2\/themes\/maggy\/theme.txt/d' %{_sysconfdir}/default/grub
394 barjac 394991 fi
395    
396 barjac 927090 %ifnarch %arm
397 barjac 853282 %files
398 barjac 248856 %dir %{_libdir}/grub
399     %dir %{_libdir}/grub/i386-pc
400     %{_libdir}/grub/i386-pc/*
401 neoclust 926392 %endif
402 barjac 254425
403 neoclust 926398 %ifnarch %arm
404 barjac 853282 %files efi
405     %doc README.efi
406 barjac 254425 %dir %{_libdir}/grub
407     %dir %{_libdir}/grub/%{efi_arch}
408 barjac 853282 %{_libdir}/grub/%{efi_arch}/*
409 neoclust 926398 %endif
410 barjac 853282
411 neoclust 926398 %ifarch %arm
412     %files uboot
413     %dir %{_libdir}/grub
414     %dir %{_libdir}/grub/%{efi_arch}
415     %{_libdir}/grub/%{efi_arch}/*
416     %endif
417    
418 barjac 853282 %files common -f grub.lang
419     %doc COPYING NEWS README THANKS TODO README.Mageia
420 barjac 397190 %dir /boot/%{name}
421 barjac 394991 %dir /boot/%{name}/fonts
422     %dir /boot/%{name}/themes
423 barjac 853282 %{_infodir}/*
424 barjac 254425 %{_bindir}/%{name}-*
425 barjac 400332 %{_bindir}/update-grub
426     %{_bindir}/update-grub2
427 barjac 254425 %{_sbindir}/%{name}-*
428 tv 990774 %{_datarootdir}/bash-completion/completions/grub
429 barjac 254425 %{_sysconfdir}/grub.d/README
430     %{_sysconfdir}/grub.d/00_header
431 barjac 873987 %{_sysconfdir}/grub.d/01_users
432 barjac 254425 %{_sysconfdir}/grub.d/10_linux
433     %{_sysconfdir}/grub.d/20_linux_xen
434 barjac 550657 %{_sysconfdir}/grub.d/20_ppc_terminfo
435 barjac 254425 %{_sysconfdir}/grub.d/30_os-prober
436     %config(noreplace) %{_sysconfdir}/grub.d/40_custom
437     %config(noreplace) %{_sysconfdir}/grub.d/41_custom
438     %config(noreplace) %{_sysconfdir}/default/grub
439 barjac 399253 %{_datadir}/grub
440 barjac 1018949 %{_datadir}/grub/unicode.pf2
441 barjac 397190 %config(noreplace) /boot/%{name}/custom.cfg
442 barjac 254425 %{_mandir}/man1/%{name}-*.1*
443     %{_mandir}/man8/%{name}-*.8*
444 barjac 394991
445     %files mageia-theme
446 barjac 450000 %dir /boot/%{name}/themes/maggy
447     /boot/%{name}/themes/maggy/*

  ViewVC Help
Powered by ViewVC 1.1.30