-
Notifications
You must be signed in to change notification settings - Fork 10
Expand file tree
/
Copy pathsyslinux.spec
More file actions
185 lines (168 loc) · 6.23 KB
/
Copy pathsyslinux.spec
File metadata and controls
185 lines (168 loc) · 6.23 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
#
# Conditional build:
%bcond_without efi32 # EFI32 bootloader (requires x86_32 gnu-efi)
%bcond_without efi64 # EFI64 bootloader (requires x86_64 gnu-efi)
#
%ifnarch %{ix86}
# %%{x8664} also possible, but requires multilib gnu-efi
%undefine with_efi32
%endif
%ifnarch %{x8664}
%undefine with_efi64
%endif
Summary: Simple bootloader
Summary(pl.UTF-8): Prosty bootloader
Summary(pt_BR.UTF-8): Carregador de boot simples
Summary(zh_CN.UTF-8): Linux操作系统的启动管理器
Name: syslinux
Version: 6.04
Release: 5
License: GPL v2+
Group: Applications/System
# Source0: https://www.kernel.org/pub/linux/utils/boot/syslinux/%%{name}-%%{version}.tar.xz
Source0: https://mirrors.edge.kernel.org/pub/linux/utils/boot/syslinux/Testing/6.04/syslinux-6.04-pre1.tar.xz
# Source0-md5: f9c956fde0de29be297402ecbc8ff4d0
# FC:
Patch0: 0002-ext4-64bit-feature.patch
Patch1: 0003-include-sysmacros-h.patch
# Debian:
Patch10: 0005-gnu-efi-version-compatibility.patch
Patch11: 0016-strip-gnu-property.patch
Patch12: 0017-single-load-segment.patch
Patch13: 0018-prevent-pow-optimization.patch
Patch14: 0019-gcc-10-compatibility.patch
Patch15: gcc14.patch
URL: http://syslinux.zytor.com/
BuildRequires: gnu-efi >= 3.0u
BuildRequires: libuuid-devel
BuildRequires: nasm
BuildRequires: perl-base
BuildRequires: perl-modules
BuildRequires: sed >= 4.0
BuildRequires: tar >= 1:1.22
BuildRequires: xz
Requires: mtools
ExclusiveArch: %{ix86} %{x8664}
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define _sbindir /sbin
%description
SYSLINUX is a boot loader for the Linux operating system which
operates off MS-DOS floppies. It is intended to simplify first-time
installation of Linux, rescue disks, and other uses for boot floppies.
A SYSLINUX floppy can be manipulated using standard MS-DOS (or any
other OS that can access an MS-DOS filesystem) tools once it has been
created, and requires only a ~ 7K DOS program or ~ 13K Linux program
to create it in the first place. It also includes PXELINUX, a program
to boot off a network server using a boot PROM compatible with the
Intel PXE (Pre-Execution Environment) specification.
%description -l pl.UTF-8
SYSLINUX jest boot-loaderem dla Linuksa, który operuje na dyskietkach
z systemem plików MS-DOS. Jego przeznaczeniem jest uproszczenie
pierwszej instalacji Linuksa, dyskietki ratunkowe oraz inne rzeczy
związane z dyskietkami. Dyskietka syslinuksowa może być modyfikowana w
systemie MS-DOS (a także każdym innym systemie z dostępem do systemu
plików MS-DOS) gdy narzędzia są już stworzone, a także potrzebuje
tylko ~7K programu DOS-owego lub ~13K programu linuksowego do
stworzenia ich po raz pierwszy. Zawiera także program PXELINUX -
program służący do bootowania serwera sieciowego poprzez Boot-PROM
kompatybilny ze specyfikacją Intel PXE (Pre-Execution Environment).
%description -l pt_BR.UTF-8
SYSLINUX é um carregador de boot para o linux, operando em disquetes
com formatação DOS. Sua intenção é simplificar instalações do Linux,
discos de recuperação, e outros usos para disquetes de boot. Um
disquete SYSLINUX pode ser manipulado usando ferramentas padrão do DOS
(ou qualquer sistema que possa acessar um filesystem DOS) e requer
somente um programa DOS de aproximadamente 7K ou linux de 13K para
criá-lo na primeira vez.
Também inclui o PXELINUX, um programa para boot remoto a partir de um
servidor de rede usando um boot PROM compatível com a especificação
Intel PXE (Pre-Execution Environment).
%package devel
Summary: Header files for syslinux libraries
Summary(pl.UTF-8): Pliki nagłówkowe bibliotek syslinux
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
%description devel
This package includes the header files needed for compilation of
applications that are making use of the syslinux internals. Install
this package only if you plan to develop or will need to compile
customized syslinux clients.
%description devel -l pl.UTF-8
Ten pakiet zawiera pliki nagłówkowe potrzebne do kompilowania
aplikacji wykorzystujących kod syslinuksa. Należy go instalować tylko
jeśli chcemy tworzyć lub kompilować własnych klientów syslinuksa.
%prep
%setup -q -n %{name}-%{version}-pre1
%patch -P0 -p1
%patch -P1 -p1
%patch -P10 -p1
%patch -P11 -p1
%patch -P12 -p1
%patch -P13 -p1
%patch -P14 -p1
%patch -P15 -p1
%{__sed} -i 's/-march=i386//' sample/Makefile
%build
for d in "bios installer" %{?with_efi32:efi32} %{?with_efi64:efi64} ; do
%{__make} -j1 $d \
CC="%{__cc}"
done
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT{%{_bindir},%{_datadir}/%{name},%{_includedir}}
install bios/core/ldlinux.sys $RPM_BUILD_ROOT%{_datadir}/%{name}
%{__make} -j1 install \
firmware="bios %{?with_efi32:efi32} %{?with_efi64:efi64}" \
INSTALLROOT=$RPM_BUILD_ROOT \
LIBDIR=%{_libdir} \
MANDIR=%{_mandir}
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
%doc NEWS README* doc/*.txt
%attr(755,root,root) %{_sbindir}/extlinux
%attr(755,root,root) %{_bindir}/gethostip
%attr(755,root,root) %{_bindir}/isohybrid
%attr(755,root,root) %{_bindir}/isohybrid.pl
%attr(755,root,root) %{_bindir}/keytab-lilo
%attr(755,root,root) %{_bindir}/lss16toppm
%attr(755,root,root) %{_bindir}/md5pass
%attr(755,root,root) %{_bindir}/memdiskfind
%attr(755,root,root) %{_bindir}/mkdiskimage
%attr(755,root,root) %{_bindir}/ppmtolss16
%attr(755,root,root) %{_bindir}/pxelinux-options
%attr(755,root,root) %{_bindir}/sha1pass
%attr(755,root,root) %{_bindir}/syslinux
%attr(755,root,root) %{_bindir}/syslinux2ansi
%dir %{_datadir}/%{name}
%{_datadir}/%{name}/*.bin
%{_datadir}/%{name}/*.c32
%{_datadir}/%{name}/*.com
%{_datadir}/%{name}/dosutil
%{_datadir}/%{name}/ldlinux.sys
%{_datadir}/%{name}/lpxelinux.0
%{_datadir}/%{name}/memdisk
%{_datadir}/%{name}/pxelinux.0
%{_datadir}/%{name}/syslinux*.exe
%dir %{_datadir}/%{name}/diag
%{_datadir}/%{name}/diag/geodsp1s.img*
%{_datadir}/%{name}/diag/geodspms.img*
%{_datadir}/%{name}/diag/handoff.bin
%if %{with efi32}
%{_datadir}/%{name}/efi32
%endif
%if %{with efi64}
%{_datadir}/%{name}/efi64
%endif
%{_mandir}/man1/extlinux.1*
%{_mandir}/man1/gethostip.1*
%{_mandir}/man1/isohybrid.1*
%{_mandir}/man1/lss16toppm.1*
%{_mandir}/man1/memdiskfind.1*
%{_mandir}/man1/ppmtolss16.1*
%{_mandir}/man1/syslinux.1*
%{_mandir}/man1/syslinux2ansi.1*
%files devel
%defattr(644,root,root,755)
%{_datadir}/%{name}/com32