/[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 876427 - (hide annotations) (download)
Thu Sep 10 21:58:24 2015 UTC (8 years, 6 months ago) by ovitters
Original Path: cauldron/grub2/current/SPECS/grub2.spec
File size: 12797 byte(s)
SILENT make use of autopatch
1 barjac 248856 %define Werror_cflags %nil
2     # Modules always contain just 32-bit code
3     %define _libdir %{_exec_prefix}/lib
4     %ifarch x86_64
5     # 64bit intel machines use 32bit boot loader
6     # (We cannot just redefine _target_cpu, as we'd get i386.rpm packages)
7     %global _target_platform i386-%{_vendor}-%{_target_os}%{?_gnu}
8     %global efi_arch x86_64-efi
9     %else
10     %global efi_arch i386-efi
11     %endif
12    
13 barjac 873987 %define tarver 2.02~beta2
14 barjac 248856 %global pc_arch i386-pc
15 barjac 873987 %define git 10101
16     %define rel 1
17 barjac 248856 Name: grub2
18 barjac 629976 Version: 2.02
19 barjac 873987 Release: %mkrel -c git%{git} %{rel}
20 barjac 248856 Summary: Boot-loader with support for Linux, Multiboot and more
21 barjac 390289 Group: System/Boot and Init
22 barjac 248856 License: GPLv3+ and GPLv2
23     # unicode font is GPLv2
24 barjac 318311 URL: http://www.gnu.org/software/grub/
25 barjac 629976 Source0: ftp://ftp.gnu.org/gnu/grub/grub-%{tarver}.tar.xz
26 barjac 400190 Source1: 90_persistent
27     Source2: grub.default
28     Source3: README.Mageia
29     Source4: README.efi
30     Source7: theme.txt
31 barjac 404821 # pf2 fonts may be regenerated in SOURCES using ./mkfonts
32 barjac 400190 Source8: mkfonts
33     Source9: unicode.pf2
34 barjac 402075 Source10: MageiaLogo-Bold-16.pf2
35     Source11: MageiaLogo-Bold-20.pf2
36     Source12: MageiaLogo-Bold-28.pf2
37     Source13: MageiaLogo-Regular-20.pf2
38 barjac 803582 Source14: Mageia5-grub2-1024x768.png
39 barjac 404821 Source15: MageiaLogoFonts-bdf.tar.xz
40 barjac 425400 Source16: 93_memtest
41 barjac 873987 Source17: gitignore
42 barjac 394991
43 barjac 550657 # Upstream git snapshot
44 barjac 873987 Patch1: grub2-grub-2.02-beta2-mga-git-%{git}.patch
45 luigiwalser 666017 # fix CVE-2014-4607 in bundled minilzo
46     Patch2: grub-2.00-minilzo.patch
47 barjac 873987 Patch3: grub2-2.00-mga-add_failsafe-10_linux.in.patch
48    
49 barjac 550657 # Fedora patches not upstream
50 barjac 873987 Patch0101: 0443-Migrate-PPC-from-Yaboot-to-Grub2.patch
51     Patch0102: 0450-Pass-x-hex-hex-straight-through-unmolested.patch
52     Patch0103: 0451-Fix-crash-on-http.patch
53     Patch0104: 0460-blscfg-add-blscfg-module-to-parse-Boot-Loader-Specif.patch
54     Patch0105: 0462-for-ppc-reset-console-display-attr-when-clear-screen.patch
55     Patch0106: 0476-Use-the-correct-indentation-for-the-term-help-text.patch
56     Patch0107: 0126-Don-t-munge-raw-spaces-when-we-re-doing-our-cmdline-.patch
57     Patch0108: 0039-Don-t-require-a-password-to-boot-entries-generated-b.patch
58     Patch0109: 0040-Don-t-emit-Booting-.-message.patch
59     Patch0110: 0041-Make-CTRL-and-ALT-keys-work-as-expected-on-EFI-syste.patch
60     Patch0111: 0042-May-as-well-try-it.patch
61     Patch0114: 0045-trim-arp-packets-with-abnormal-size.patch
62     Patch0115: 0046-Fix-convert-function-to-support-NVMe-devices.patch
63     Patch0116: 0047-Fix-bad-test-on-GRUB_DISABLE_SUBMENU.patch
64     Patch0119: 0050-reopen-SNP-protocol-for-exclusive-use-by-grub.patch
65     Patch0120: 0051-Reduce-timer-event-frequency-by-10.patch
66     Patch0121: 0052-always-return-error-to-UEFI.patch
67     Patch0122: 0053-Suport-for-bi-endianess-in-elf-file.patch
68     Patch0123: 0054-Add-grub_util_readlink.patch
69     Patch0124: 0055-Make-editenv-chase-symlinks-including-those-across-d.patch
70     Patch0126: 0057-Fix-GRUB_DISABLE_SUBMENU-one-more-time.patch
71     Patch0127: 0058-Minimize-the-sort-ordering-for-.debug-and-rescue-ker.patch
72     Patch0128: 0059-Add-GRUB_DISABLE_UUID.patch
73     Patch0129: 0060-Allow-fallback-to-include-entries-by-title-not-just-.patch
74     Patch0132: 0063-Try-to-emit-linux16-initrd16-and-linuxefi-initrdefi-.patch
75     Patch0134: 0065-Make-grub2-mkconfig-construct-titles-that-look-like-.patch
76     Patch0135: 0066-Make-rescue-and-debug-entries-sort-right-again-in-gr.patch
77     Patch0136: 0067-Make-.gitignore-suck-way-less.patch
78     Patch0137: 0068-Update-info-with-grub.cfg-netboot-selection-order-11.patch
79     Patch0138: 0069-Use-Distribution-Package-Sort-for-grub2-mkconfig-112.patch
80     Patch0139: 0070-Add-friendly-grub2-password-config-tool-985962.patch
81     Patch0140: 0071-Make-exit-take-a-return-code.patch
82     Patch0143: 0074-Mark-po-exclude.pot-as-binary-so-git-won-t-try-to-di.patch
83     Patch0144: 10001-Put-the-correct-.file-directives-in-our-.S-files.patch
84     Patch0145: 10002-Make-efi-machines-load-an-env-block-from-a-variable.patch
85     Patch0146: 10003-Make-it-possible-to-enabled-build-id-sha1.patch
86     Patch0147: 10005-Add-grub_qdprintf-grub_dprintf-without-the-file-line.patch
87     Patch0148: 10006-Make-a-gdb-dprintf-that-tells-us-load-addresses.patch
88 barjac 872680
89 barjac 248856 BuildRequires: flex
90     BuildRequires: bison
91     BuildRequires: ruby
92     BuildRequires: binutils
93     BuildRequires: glibc-static-devel
94     BuildRequires: ncurses-devel
95     BuildRequires: liblzo-devel
96 barjac 629976 BuildRequires: pkgconfig(freetype2)
97 pterjan 643675 BuildRequires: pkgconfig(libusb)
98 barjac 248856 BuildRequires: help2man
99     BuildRequires: texinfo
100     BuildRequires: libdevmapper-devel
101     BuildRequires: fuse-devel
102 pterjan 397685 BuildRequires: autogen
103 tv 819208 BuildRequires: pkgconfig(liblzma)
104 barjac 873987 BuildRequires: pkgconfig(rpm)
105 barjac 248856
106     Conflicts: %{name}-efi
107 tv 675721 Recommends: os-prober >= 1.53
108     Recommends: %{name}-mageia-theme = %{version}-%{release}
109 barjac 388456 Provides: bootloader
110 barjac 853282 Provides: grub2bootloader = %{version}-%{release}
111     Requires: %{name}-common = %{version}-%{release}
112 barjac 248856
113     %description
114     This is the second version of the GRUB (Grand Unified Boot-loader), a highly
115     configurable and customizable boot-loader with modular architecture.
116     It supports a wide range of kernel formats, file systems, computer
117     architectures and hardware devices.
118 barjac 403927 It may be safely installed alongside legacy grub.
119 barjac 248856 Refer to the README.Mageia file that is part of this package's documentation
120     for more information.
121    
122     %package efi
123 barjac 248863 Summary: Boot-loader with support for EFI
124 barjac 390289 Group: System/Boot and Init
125 barjac 248856
126     Conflicts: %{name}
127 tv 675721 Recommends: os-prober >= 1.53
128 tmb 547151 Requires(post): efibootmgr
129 tv 675721 Recommends: %{name}-mageia-theme = %{version}-%{release}
130 barjac 388456 Provides: bootloader
131 barjac 853282 Provides: grub2bootloader = %{version}-%{release}
132     Requires: %{name}-common = %{version}-%{release}
133 barjac 248856
134     %description efi
135     This is the second version of the GRUB (Grand Unified Boot-loader), a highly
136     configurable and customizable boot-loader with modular architecture.
137     It supports a wide range of kernel formats, file systems, computer
138     architectures and hardware devices.
139 barjac 403927 It may be safely installed alongside legacy grub.
140     Refer to the README.Mageia and README.efi files that are part of this package's
141     documentation for more information.
142 barjac 248856
143 barjac 853282 %package common
144     Summary: Provides files common to both grub2 and grub2-efi
145     Group: System/Boot and Init
146     Conflicts: %{name} < 2.02-0.git9752.19.mga5
147     Conflicts: %{name}-efi < 2.02-0.git9752.19.mga5
148     Recommends: xorriso
149     Requires: grub2bootloader = %{version}-%{release}
150    
151     %description common
152     Common files used by both grub2 and grub2-efi.
153    
154 barjac 394991 %package mageia-theme
155 barjac 403927 Summary: Provides a graphical theme with a custom Mageia background for grub2
156 barjac 394991 Group: System/Boot and Init
157    
158 barjac 853282 Requires: grub2bootloader = %{version}-%{release}
159 tmb 550414 Conflicts: grub2-mageia3-theme-dejavu
160 barjac 450000 BuildArch: noarch
161 barjac 394991
162     %description mageia-theme
163 barjac 403927 This package provides a custom Mageia graphical theme.
164 barjac 394991 It is provided as a separate package so it may be easily excluded from
165     minimal installations where a graphical theme is not required.
166    
167 barjac 248856 %prep
168 barjac 629976 %setup -q -n grub-%{tarver}
169 barjac 248856
170 barjac 873987 cp %{SOURCE17} .gitignore
171 ovitters 876427 %autopatch -p1
172 barjac 872503 find . -name "*.0???" -delete
173 barjac 295597
174 barjac 248856 # README.Mageia
175 barjac 400190 cp %{SOURCE3} .
176     # README.efi
177 barjac 397190 cp %{SOURCE4} .
178 barjac 248856
179     cd ..
180 barjac 629976 rm -rf grub-efi-%{tarver}
181     mv grub-%{tarver} grub-efi-%{tarver}
182 barjac 248856
183 barjac 629976 %setup -q -n grub-%{tarver}
184 barjac 248856
185 barjac 873987 cp %{SOURCE17} .gitignore
186 ovitters 876427 %autopatch -p1
187 barjac 872503 find . -name "*.0???" -delete
188 barjac 295597
189 barjac 248856 # README.Mageia
190 barjac 400190 cp %{SOURCE3} .
191     # README.efi
192 barjac 397190 cp %{SOURCE4} .
193 barjac 248856
194     %build
195     cd ..
196 barjac 629976 pushd grub-%{tarver}
197 pterjan 397685 ./autogen.sh
198 barjac 304517 %configure2_5x TARGET_LDFLAGS=-static \
199 barjac 248856 --with-platform=pc \
200     --enable-grub-emu-usb \
201     --disable-werror \
202     --enable-grub-mkfont \
203     --program-transform-name=s,grub,%{name}, \
204     --with-bootdir=/boot \
205     --with-grubdir=/%{name} \
206     CFLAGS=""
207 pterjan 397685 %make
208 barjac 248856 popd
209    
210 barjac 629976 pushd grub-efi-%{tarver}
211 barjac 397694 ./autogen.sh
212 barjac 304517 %configure2_5x TARGET_LDFLAGS=-static \
213 barjac 248856 --with-platform=efi \
214     %ifarch x86_64
215     --target=x86_64 \
216     %endif
217     --enable-grub-emu-usb \
218     --disable-werror \
219     --enable-grub-mkfont \
220     --program-transform-name=s,grub,%{name}, \
221     --with-bootdir=/boot \
222     --with-grubdir=/%{name} \
223     CFLAGS=""
224 pterjan 397685 %make
225 barjac 248856 popd
226    
227     %install
228     cd ..
229 barjac 629976 pushd grub-efi-%{tarver}
230 barjac 248856 %makeinstall_std
231     popd
232    
233 barjac 629976 pushd grub-%{tarver}
234 barjac 248856 %makeinstall_std
235    
236     # (bor) grub.info is harcoded in sources
237     mv %{buildroot}%{_infodir}/grub.info %{buildroot}%{_infodir}/%{name}.info
238    
239     # Script that makes part of grub.cfg persist across updates
240 barjac 400190 install -m 755 %{SOURCE1} %{buildroot}%{_sysconfdir}/grub.d
241 barjac 248856
242 barjac 425400 # Memtest
243     install -m 755 %{SOURCE16} %{buildroot}%{_sysconfdir}/grub.d
244    
245 barjac 248856 # Font
246     install -d %{buildroot}/boot/%{name}/fonts
247 barjac 400190 install -D %{SOURCE9} %{buildroot}/boot/%{name}/fonts
248 barjac 248856
249     # Theme
250     install -d %{buildroot}/boot/%{name}/themes/maggy
251 barjac 400190 install -D %{SOURCE7} %{buildroot}/boot/%{name}/themes/maggy
252     install -D %{SOURCE10} %{buildroot}/boot/%{name}/themes/maggy
253 barjac 397190 install -D %{SOURCE11} %{buildroot}/boot/%{name}/themes/maggy
254     install -D %{SOURCE12} %{buildroot}/boot/%{name}/themes/maggy
255 barjac 401593 install -D %{SOURCE13} %{buildroot}/boot/%{name}/themes/maggy
256 barjac 402075 install -D %{SOURCE14} %{buildroot}/boot/%{name}/themes/maggy
257 barjac 248856
258 barjac 397190 # Ghost config files
259 barjac 248856 install -d %{buildroot}/boot/%{name}
260     touch %{buildroot}/boot/%{name}/grub.cfg
261    
262 barjac 400102 # Workaround for RHL Bug 817187
263     install -d %{buildroot}%{_datadir}/locale/en/LC_MESSAGES
264     ln -s %{_datadir}/locale/en@quot/LC_MESSAGES/grub.mo %{buildroot}%{_datadir}/locale/en/LC_MESSAGES/grub.mo
265 barjac 397190
266     cat > %{buildroot}/boot/%{name}/custom.cfg <<EOF
267 barjac 449511 # Set non-graphical text/background colours
268     set menu_color_normal=cyan/blue
269     set menu_color_highlight=white/blue
270 barjac 397190
271 barjac 449511 # Add any extra custom menu entries in here:
272    
273 barjac 397190 EOF
274    
275 barjac 400332 # Provide 'update-grub' and update-grub2 symlink for *buntu exiles ;)
276     cat > %{buildroot}%{_bindir}/update-grub <<EOF
277 barjac 404429 #!/bin/sh
278     su --login root -c "/usr/sbin/grub2-mkconfig -o /boot/grub2/grub.cfg"
279 barjac 400332
280     EOF
281     chmod +x %{buildroot}%{_bindir}/update-grub
282     ln -s %{_bindir}/update-grub %{buildroot}%{_bindir}/update-grub2
283    
284 barjac 248856 # Defaults
285 barjac 400190 install -m 644 -D %{SOURCE2} %{buildroot}%{_sysconfdir}/default/grub
286 barjac 248856
287 barjac 491788 # Remove "GNU/Linux" in menu selections
288     sed -i 's/ GNU\/Linux//' %{buildroot}%{_sysconfdir}/grub.d/10_linux
289 barjac 397190
290 barjac 248856 %find_lang grub
291    
292     popd
293    
294 barjac 412288 %post
295 barjac 629976 # On update re-install grub2 to where it was installed by drakboot if possible,
296 barjac 549519 # otherwise next boot may fail due to mismatched boot code.
297    
298 barjac 629976 if [ $1 -eq 2 ]; then
299 tv 819995 if [ -f /boot/grub2/install.sh -a -x /usr/sbin/detectloader ]; then
300 barjac 820103 LOADER=$(/usr/sbin/detectloader)
301 barjac 820182 [ "$LOADER" = "GRUB2" ] && /boot/grub2/install.sh ||:
302 tv 819995 fi
303 barjac 412288 fi
304    
305 tv 819995
306 barjac 412288 %post efi
307 tv 819995 # On update re-install grub2 to where it was installed by drakboot if possible,
308 barjac 549519 # otherwise next boot may fail due to mismatched boot code.
309 barjac 629976
310     if [ $1 -eq 2 ]; then
311 tv 819995 if [ -f /boot/grub2/install.sh -a -x /usr/sbin/detectloader ]; then
312 barjac 820103 LOADER=$(/usr/sbin/detectloader)
313 barjac 820182 [ "$LOADER" = "GRUB2" ] && /boot/grub2/install.sh ||:
314 tv 819995 fi
315 barjac 549519 fi
316 barjac 412288
317 tv 819995
318 barjac 394991 %post mageia-theme
319     # Don't install if updating
320     if [ $1 -eq 1 ] ; then
321 barjac 397534 # Remove trailing blank lines from /etc/default/grub
322     sed -i -e :a -e '/^\n*$/{$d;N;};/\n$/ba' %{_sysconfdir}/default/grub
323     # Check that /etc/default/grub ends in a linefeed
324     [ "$(tail -n 1 %{_sysconfdir}/default/grub | wc --lines)" = "1" ] || echo >> %{_sysconfdir}/default/grub
325     # Add theme
326 barjac 394991 echo "GRUB_THEME=/boot/grub2/themes/maggy/theme.txt" >> %{_sysconfdir}/default/grub
327 barjac 248856 fi
328    
329     %preun
330     exec > /var/log/%{name}_preun.log 2>&1
331 barjac 394991 # Only if uninstalling
332     if [ $1 -eq 0 ]; then
333 barjac 248856 rm -rf /boot/%{name}/%{pc_arch}
334     rm -rf /boot/%{name}/locale
335 barjac 253503 fi
336 barjac 248856
337     %preun efi
338     exec > /var/log/%{name}_preun.log 2>&1
339 barjac 394991 # Only if uninstalling
340     if [ $1 -eq 0 ]; then
341 barjac 248856 rm -rf /boot/%{name}/%{efi_arch}
342     rm -rf /boot/%{name}/locale
343 barjac 253503 fi
344 barjac 248856
345 barjac 635563 # If updating grub2-efi from version below 2.02-0.git9752.4 then re-generate menu (Mga#13493)
346     # because Fedora patches to use "linuxefi" have now been removed.
347     %triggerpostun efi -- %{name}-efi < 2.02-0.git9752.4
348     %{name}-mkconfig -o /boot/%{name}/grub.cfg
349    
350 barjac 394991 %postun mageia-theme
351     exec > /var/log/%{name}_theme_postun.log 2>&1
352     # Only if uninstalling theme
353     if [ $1 -eq 0 ]; then
354 barjac 450000 # Remove theme from config
355     sed -i '/GRUB_THEME=\/boot\/grub2\/themes\/maggy\/theme.txt/d' %{_sysconfdir}/default/grub
356 barjac 394991 fi
357    
358 barjac 853282 %files
359 barjac 248856 %dir %{_libdir}/grub
360     %dir %{_libdir}/grub/i386-pc
361     %{_libdir}/grub/i386-pc/*
362 barjac 254425
363 barjac 853282 %files efi
364     %doc README.efi
365 barjac 254425 %dir %{_libdir}/grub
366     %dir %{_libdir}/grub/%{efi_arch}
367 barjac 853282 %{_libdir}/grub/%{efi_arch}/*
368    
369     %files common -f grub.lang
370     %doc COPYING NEWS README THANKS TODO README.Mageia
371 barjac 397190 %dir /boot/%{name}
372 barjac 394991 %dir /boot/%{name}/fonts
373     %dir /boot/%{name}/themes
374 barjac 853282 %{_infodir}/*
375 barjac 254425 %{_bindir}/%{name}-*
376 barjac 400332 %{_bindir}/update-grub
377     %{_bindir}/update-grub2
378 barjac 254425 %{_sbindir}/%{name}-*
379     %{_sysconfdir}/bash_completion.d/grub
380     %{_sysconfdir}/grub.d/README
381     %{_sysconfdir}/grub.d/00_header
382 barjac 873987 %{_sysconfdir}/grub.d/01_users
383 barjac 254425 %{_sysconfdir}/grub.d/10_linux
384     %{_sysconfdir}/grub.d/20_linux_xen
385 barjac 550657 %{_sysconfdir}/grub.d/20_ppc_terminfo
386 barjac 425400 %{_sysconfdir}/grub.d/93_memtest
387 barjac 254425 %{_sysconfdir}/grub.d/30_os-prober
388 barjac 399253 %{_sysconfdir}/grub.d/90_persistent
389 barjac 254425 %config(noreplace) %{_sysconfdir}/grub.d/40_custom
390     %config(noreplace) %{_sysconfdir}/grub.d/41_custom
391     %config(noreplace) %{_sysconfdir}/default/grub
392 barjac 399253 %{_datadir}/grub
393 barjac 254425 %config(noreplace) /boot/%{name}/grub.cfg
394 barjac 397190 %config(noreplace) /boot/%{name}/custom.cfg
395 barjac 254425 %{_mandir}/man1/%{name}-*.1*
396     %{_mandir}/man8/%{name}-*.8*
397 barjac 394991
398     %files mageia-theme
399     /boot/%{name}/fonts/unicode.pf2
400 barjac 450000 %dir /boot/%{name}/themes/maggy
401     /boot/%{name}/themes/maggy/*

  ViewVC Help
Powered by ViewVC 1.1.30