1 |
%ifarch %{ix86} |
2 |
%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 |
Version: 0.11.2 |
12 |
Release: %mkrel 3 |
13 |
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 |
ExclusiveArch: %{ix86} x86_64 |
25 |
BuildRequires: gnu-efi-devel |
26 |
Provides: bootloader |
27 |
Requires: efibootmgr |
28 |
|
29 |
%description |
30 |
|
31 |
A graphical boot manager for EFI- and UEFI-based computers, such as all |
32 |
Intel-based Macs and recent (most 2011 and later) PCs. rEFInd presents a |
33 |
boot menu showing all the EFI boot loaders on the EFI-accessible |
34 |
partitions, and optionally BIOS-bootable partitions on Macs and BIOS boot |
35 |
entries on UEFI PCs with CSMs. EFI-compatible OSes, including Linux, |
36 |
provide boot loaders that rEFInd can detect and launch. rEFInd can launch |
37 |
Linux EFI boot loaders such as ELILO, GRUB Legacy, GRUB 2, and 3.3.0 and |
38 |
later kernels with EFI stub support. EFI file system drivers for ext2/3/4fs, |
39 |
ReiserFS, Btrfs, NTFS, HFS+, and ISO-9660 enable rEFInd to read boot |
40 |
loaders from these file systems, too. rEFInd's ability to detect boot |
41 |
loaders at run time makes it very easy to use, particularly when paired with |
42 |
Linux kernels that provide EFI stub support. |
43 |
|
44 |
%prep |
45 |
%autosetup -p1 |
46 |
cp %{SOURCE1} icons/ |
47 |
|
48 |
%build |
49 |
make LIBDIR=%{_libdir} gnuefi |
50 |
make LIBDIR=%{_libdir} fs_gnuefi |
51 |
|
52 |
%install |
53 |
mkdir -p %{buildroot}%{_datadir}/%{name}/refind/ |
54 |
|
55 |
# Copy the rEFInd binaries (rEFInd proper and drivers) |
56 |
install -Dp -m0644 refind/refind*.efi %{buildroot}%{_datadir}/%{name}/refind/ |
57 |
mkdir -p %{buildroot}%{_datadir}/%{name}/refind/drivers_%{efiarch} |
58 |
cp -a drivers_%{efiarch}/* %{buildroot}%{_datadir}/%{name}/refind/drivers_%{efiarch}/ |
59 |
mkdir -p %{buildroot}%{_datadir}/%{name}/refind/tools_%{efiarch} |
60 |
install -Dp -m0644 gptsync/gptsync_%{efiarch}.efi %{buildroot}%{_datadir}/%{name}/refind/tools_%{efiarch}/gptsync_%{efiarch}.efi |
61 |
|
62 |
# Copy configuration and support files |
63 |
install -Dp -m0644 refind.conf-sample %{buildroot}%{_datadir}/%{name}/refind/ |
64 |
cp -a icons %{buildroot}%{_datadir}/%{name}/refind/ |
65 |
rm -rf %{buildroot}%{_datadir}/%{name}/refind/icons/svg |
66 |
install -Dp -m0755 refind-install %{buildroot}%{_datadir}/%{name}/ |
67 |
|
68 |
# Copy man pages |
69 |
mkdir -p %{buildroot}%{_mandir}/man8 |
70 |
install -Dp -m0644 docs/man/mvrefind.8 %{buildroot}%{_mandir}/man8 |
71 |
install -Dp -m0644 docs/man/mkrlconf.8 %{buildroot}%{_mandir}/man8 |
72 |
install -Dp -m0644 docs/man/refind-install.8 %{buildroot}%{_mandir}/man8 |
73 |
install -Dp -m0644 docs/man/refind-mkdefault.8 %{buildroot}%{_mandir}/man8 |
74 |
|
75 |
# Copy scripts |
76 |
mkdir -p %{buildroot}%{_sbindir} |
77 |
install -Dp -m0755 mkrlconf %{buildroot}%{_sbindir}/ |
78 |
install -Dp -m0755 mvrefind %{buildroot}%{_sbindir}/ |
79 |
install -Dp -m0755 refind-mkdefault %{buildroot}%{_sbindir}/ |
80 |
ln -sr %{buildroot}%{_datadir}/%{name}/refind-install %{buildroot}%{_sbindir} |
81 |
|
82 |
# Copy banners and fonts |
83 |
cp -a banners %{buildroot}%{_datadir}/%{name}/ |
84 |
cp -a fonts %{buildroot}%{_datadir}/%{name}/ |
85 |
|
86 |
# Create version file and urpmi README file |
87 |
echo %{version} > VERSION |
88 |
echo "Version %{version} of the rEFInd boot manager is now available." > README.urpmi |
89 |
echo "To install it in the ESP, either use drakboot or, as root user," >> README.urpmi |
90 |
echo "execute the command '/sbin/refind-install'." >> README.urpmi |
91 |
echo "If you are having no problems with booting your system, there is" >> README.urpmi |
92 |
echo "no need to install this update in the ESP." >> README.urpmi |
93 |
|
94 |
%files |
95 |
%doc NEWS.txt COPYING.txt LICENSE.txt README.txt CREDITS.txt docs/Styles docs/refind |
96 |
%doc VERSION README.urpmi |
97 |
%{_sbindir}/mkrlconf |
98 |
%{_sbindir}/mvrefind |
99 |
%{_sbindir}/refind-install |
100 |
%{_sbindir}/refind-mkdefault |
101 |
%{_datadir}/%{name} |
102 |
%{_mandir}/man8/* |