1 |
martinw |
1258338 |
%ifarch %{ix86} |
2 |
martinw |
1258332 |
%define efiarch ia32 |
3 |
|
|
%endif |
4 |
|
|
%ifarch x86_64 |
5 |
|
|
%define efiarch x64 |
6 |
|
|
%endif |
7 |
|
|
|
8 |
|
|
%define debug_package %{nil} |
9 |
|
|
|
10 |
|
|
Name: refind |
11 |
martinw |
1583319 |
Version: 0.12.0 |
12 |
|
|
Release: %mkrel 1 |
13 |
martinw |
1258332 |
Summary: EFI boot manager |
14 |
|
|
License: GPLv3 |
15 |
|
|
Group: System/Boot and Init |
16 |
|
|
URL: http://www.rodsbooks.com/refind/ |
17 |
|
|
Source0: https://sourceforge.net/projects/refind/files/%version/refind-src-%version.tar.gz |
18 |
|
|
# Replace old Mageia icon with current version |
19 |
|
|
Source1: os_mageia.png |
20 |
|
|
# Fix ESP mount point and GNU EFI library paths |
21 |
|
|
Patch0: mga-system-path-fixes.patch |
22 |
|
|
# Add --nvramonly option to refind-install |
23 |
|
|
Patch1: install-nvram-only.patch |
24 |
martinw |
1342446 |
# Support 32-bit EFI on 64-bit O/S (and vice versa) |
25 |
|
|
Patch2: detect-efi-size.patch |
26 |
martinw |
1583319 |
# GGC 10 synthesises a call to memmove, which isn't implemented. Work |
27 |
|
|
# round this by disabling that optimisation. |
28 |
|
|
Patch3: disable-gcc-memmove-opt.patch |
29 |
martinw |
1258338 |
ExclusiveArch: %{ix86} x86_64 |
30 |
martinw |
1258332 |
BuildRequires: gnu-efi-devel |
31 |
martinw |
1342446 |
Provides: bootloader |
32 |
martinw |
1258332 |
Requires: efibootmgr |
33 |
|
|
|
34 |
|
|
%description |
35 |
|
|
|
36 |
|
|
A graphical boot manager for EFI- and UEFI-based computers, such as all |
37 |
|
|
Intel-based Macs and recent (most 2011 and later) PCs. rEFInd presents a |
38 |
|
|
boot menu showing all the EFI boot loaders on the EFI-accessible |
39 |
|
|
partitions, and optionally BIOS-bootable partitions on Macs and BIOS boot |
40 |
|
|
entries on UEFI PCs with CSMs. EFI-compatible OSes, including Linux, |
41 |
|
|
provide boot loaders that rEFInd can detect and launch. rEFInd can launch |
42 |
|
|
Linux EFI boot loaders such as ELILO, GRUB Legacy, GRUB 2, and 3.3.0 and |
43 |
|
|
later kernels with EFI stub support. EFI file system drivers for ext2/3/4fs, |
44 |
|
|
ReiserFS, Btrfs, NTFS, HFS+, and ISO-9660 enable rEFInd to read boot |
45 |
|
|
loaders from these file systems, too. rEFInd's ability to detect boot |
46 |
|
|
loaders at run time makes it very easy to use, particularly when paired with |
47 |
|
|
Linux kernels that provide EFI stub support. |
48 |
|
|
|
49 |
|
|
%prep |
50 |
|
|
%autosetup -p1 |
51 |
|
|
cp %{SOURCE1} icons/ |
52 |
|
|
|
53 |
|
|
%build |
54 |
|
|
make LIBDIR=%{_libdir} gnuefi |
55 |
|
|
make LIBDIR=%{_libdir} fs_gnuefi |
56 |
|
|
|
57 |
|
|
%install |
58 |
|
|
mkdir -p %{buildroot}%{_datadir}/%{name}/refind/ |
59 |
|
|
|
60 |
|
|
# Copy the rEFInd binaries (rEFInd proper and drivers) |
61 |
|
|
install -Dp -m0644 refind/refind*.efi %{buildroot}%{_datadir}/%{name}/refind/ |
62 |
|
|
mkdir -p %{buildroot}%{_datadir}/%{name}/refind/drivers_%{efiarch} |
63 |
|
|
cp -a drivers_%{efiarch}/* %{buildroot}%{_datadir}/%{name}/refind/drivers_%{efiarch}/ |
64 |
|
|
mkdir -p %{buildroot}%{_datadir}/%{name}/refind/tools_%{efiarch} |
65 |
|
|
install -Dp -m0644 gptsync/gptsync_%{efiarch}.efi %{buildroot}%{_datadir}/%{name}/refind/tools_%{efiarch}/gptsync_%{efiarch}.efi |
66 |
|
|
|
67 |
|
|
# Copy configuration and support files |
68 |
|
|
install -Dp -m0644 refind.conf-sample %{buildroot}%{_datadir}/%{name}/refind/ |
69 |
|
|
cp -a icons %{buildroot}%{_datadir}/%{name}/refind/ |
70 |
|
|
rm -rf %{buildroot}%{_datadir}/%{name}/refind/icons/svg |
71 |
|
|
install -Dp -m0755 refind-install %{buildroot}%{_datadir}/%{name}/ |
72 |
|
|
|
73 |
|
|
# Copy man pages |
74 |
|
|
mkdir -p %{buildroot}%{_mandir}/man8 |
75 |
|
|
install -Dp -m0644 docs/man/mvrefind.8 %{buildroot}%{_mandir}/man8 |
76 |
|
|
install -Dp -m0644 docs/man/mkrlconf.8 %{buildroot}%{_mandir}/man8 |
77 |
|
|
install -Dp -m0644 docs/man/refind-install.8 %{buildroot}%{_mandir}/man8 |
78 |
|
|
install -Dp -m0644 docs/man/refind-mkdefault.8 %{buildroot}%{_mandir}/man8 |
79 |
|
|
|
80 |
|
|
# Copy scripts |
81 |
|
|
mkdir -p %{buildroot}%{_sbindir} |
82 |
|
|
install -Dp -m0755 mkrlconf %{buildroot}%{_sbindir}/ |
83 |
|
|
install -Dp -m0755 mvrefind %{buildroot}%{_sbindir}/ |
84 |
|
|
install -Dp -m0755 refind-mkdefault %{buildroot}%{_sbindir}/ |
85 |
|
|
ln -sr %{buildroot}%{_datadir}/%{name}/refind-install %{buildroot}%{_sbindir} |
86 |
|
|
|
87 |
|
|
# Copy banners and fonts |
88 |
|
|
cp -a banners %{buildroot}%{_datadir}/%{name}/ |
89 |
|
|
cp -a fonts %{buildroot}%{_datadir}/%{name}/ |
90 |
|
|
|
91 |
martinw |
1258909 |
# Create version file and urpmi README file |
92 |
martinw |
1258332 |
echo %{version} > VERSION |
93 |
|
|
echo "Version %{version} of the rEFInd boot manager is now available." > README.urpmi |
94 |
|
|
echo "To install it in the ESP, either use drakboot or, as root user," >> README.urpmi |
95 |
|
|
echo "execute the command '/sbin/refind-install'." >> README.urpmi |
96 |
|
|
echo "If you are having no problems with booting your system, there is" >> README.urpmi |
97 |
|
|
echo "no need to install this update in the ESP." >> README.urpmi |
98 |
|
|
|
99 |
|
|
%files |
100 |
|
|
%doc NEWS.txt COPYING.txt LICENSE.txt README.txt CREDITS.txt docs/Styles docs/refind |
101 |
martinw |
1258909 |
%doc VERSION README.urpmi |
102 |
martinw |
1258332 |
%{_sbindir}/mkrlconf |
103 |
|
|
%{_sbindir}/mvrefind |
104 |
|
|
%{_sbindir}/refind-install |
105 |
|
|
%{_sbindir}/refind-mkdefault |
106 |
|
|
%{_datadir}/%{name} |
107 |
|
|
%{_mandir}/man8/* |