1# -*- rpm -*-
2%define RPMVERSION 6.03
3%define VERSION    6.03
4Summary: Kernel loader which uses a FAT, ext2/3 or iso9660 filesystem or a PXE network
5Name: syslinux
6Version: %{RPMVERSION}
7Release: 1
8License: GPL
9Group: System/Boot
10Source0: ftp://ftp.kernel.org/pub/linux/utils/boot/syslinux/%{name}-%{VERSION}.tar.gz
11ExclusiveArch: i386 i486 i586 i686 athlon pentium4 x86_64
12Packager: H. Peter Anvin <hpa@zytor.com>
13Buildroot: %{_tmppath}/%{name}-%{VERSION}-root
14BuildRequires: nasm >= 2.03, perl
15Autoreq: 0
16%ifarch x86_64
17Requires: mtools, libc.so.6()(64bit)
18%define my_cc gcc
19%else
20Requires: mtools, libc.so.6
21%define my_cc gcc -m32
22%endif
23
24# NOTE: extlinux belongs in /sbin, not in /usr/sbin, since it is typically
25# a system bootloader, and may be necessary for system recovery.
26%define _sbindir /sbin
27
28%package devel
29Summary: Development environment for SYSLINUX add-on modules
30Group: Development/Libraries
31Requires: syslinux
32
33%description
34SYSLINUX is a suite of bootloaders, currently supporting DOS FAT
35filesystems, Linux ext2/ext3 filesystems (EXTLINUX), PXE network boots
36(PXELINUX), or ISO 9660 CD-ROMs (ISOLINUX).  It also includes a tool,
37MEMDISK, which loads legacy operating systems from these media.
38
39%description devel
40The SYSLINUX boot loader contains an API, called COM32, for writing
41sophisticated add-on modules.  This package contains the libraries
42necessary to compile such modules.
43
44%package extlinux
45Summary: The EXTLINUX bootloader, for booting the local system.
46Group: System/Boot
47Requires: syslinux
48
49%description extlinux
50The EXTLINUX bootloader, for booting the local system, as well as all
51the SYSLINUX/PXELINUX modules in /boot.
52
53%package tftpboot
54Summary: SYSLINUX modules in /tftpboot, available for network booting
55Group: Applications/Internet
56Requires: syslinux
57
58%description tftpboot
59All the SYSLINUX/PXELINUX modules directly available for network
60booting in the /tftpboot directory.
61
62%prep
63%setup -q -n syslinux-%{VERSION}
64
65%build
66make CC='%{my_cc}' clean
67make CC='%{my_cc}' installer
68make CC='%{my_cc}' -C sample tidy
69
70%install
71rm -rf %{buildroot}
72make CC='%{my_cc}' install-all \
73	INSTALLROOT=%{buildroot} BINDIR=%{_bindir} SBINDIR=%{_sbindir} \
74	LIBDIR=%{_libdir} DATADIR=%{_datadir} \
75	MANDIR=%{_mandir} INCDIR=%{_includedir} \
76	TFTPBOOT=/tftpboot EXTLINUXDIR=/boot/extlinux
77make CC='%{my_cc}' -C sample tidy
78mkdir -p %{buildroot}/etc
79( cd %{buildroot}/etc && ln -s ../boot/extlinux/extlinux.conf . )
80
81%clean
82rm -rf %{buildroot}
83
84%files
85%defattr(-,root,root)
86%doc COPYING NEWS doc/*
87%doc sample
88%{_mandir}/man*/*
89%{_bindir}/*
90%{_datadir}/syslinux/*.com
91%{_datadir}/syslinux/*.exe
92%{_datadir}/syslinux/*.c32
93%{_datadir}/syslinux/*.bin
94%{_datadir}/syslinux/*.0
95%{_datadir}/syslinux/memdisk
96%{_datadir}/syslinux/dosutil/*
97%{_datadir}/syslinux/diag/*
98
99%files devel
100%{_datadir}/syslinux/com32
101
102%files extlinux
103%{_sbindir}/extlinux
104/boot/extlinux
105%config /etc/extlinux.conf
106
107%files tftpboot
108/tftpboot
109
110%post extlinux
111# If we have a /boot/extlinux.conf file, assume extlinux is our bootloader
112# and update it.
113if [ -f /boot/extlinux/extlinux.conf ]; then \
114	extlinux --update /boot/extlinux ; \
115elif [ -f /boot/extlinux.conf ]; then \
116	mkdir -p /boot/extlinux && \
117	mv /boot/extlinux.conf /boot/extlinux/extlinux.conf && \
118	extlinux --update /boot/extlinux ; \
119fi
120
121%postun
122
123%changelog
124* Fri Dec 18 2009 H. Peter Anvin <hpa@zytor.com>
125- Require NASM 2.03
126- Package dosutil
127
128* Thu May 29 2008 H. Peter Anvin <hpa@zytor.com>
129- Use install targets; clean up various paths.
130
131* Thu Jan 10 2008 H. Peter Anvin <hpa@zytor.com>
132- Add man pages.
133
134* Mon Nov 19 2007 Bernard Li <bernard@vanhpc.org>
135- Added netpbm-progs (provides pngtopnm) to BuildPrereq (this should be
136  changed to BuildRequires since it is deprecated...)
137
138* Thu Mar 15 2007 H. Peter Anvin <hpa@zytor.com>
139- Move extlinux /boot stuff into /boot/extlinux.
140
141* Thu Jan 25 2007 H. Peter Anvin <hpa@zytor.com>
142- Hacks to make the 32-bit version build correctly on 64-bit machines.
143
144* Mon Sep 19 2006 H. Peter Anvin <hpa@zytor.com>
145- Add a syslinux-tftpboot module.
146- Factor extlinux into its own package.
147- Move to %{_datadir} (/usr/share).
148
149* Wed Sep 21 2005 H. Peter Anvin <hpa@zytor.com>
150- If /boot/extlinux.conf exist, run extlinux --update.
151
152* Fri Sep  9 2005 H. Peter Anvin <hpa@zytor.com>
153- Copy, don't link, *.c32 into /boot; rpm doesn't like breaking links.
154
155* Tue Aug 23 2005 H. Peter Anvin <hpa@zytor.com>
156- Put *.c32 into /boot.
157
158* Thu Dec 30 2004 H. Peter Anvin <hpa@zytor.com>
159- libsyslinux dropped in syslinux 3.00.
160- Additional documentation.
161- Add extlinux.
162
163* Tue Dec 14 2004 H. Peter Anvin <hpa@zytor.com>
164- Add a devel package for the com32 library added in 2.12.
165
166* Wed Apr 16 2003 H. Peter Anvin <hpa@zytor.com> 2.04-1
167- 2.04 release
168- Add support for libsyslinux.so*
169- Templatize for inclusion in CVS tree
170
171* Thu Apr 10 2003 H. Peter Anvin <hpa@zytor.com>
172- 2.03 release
173- Add support for libsyslinux.a
174- Add keytab-lilo.pl to the /usr/lib/syslinux directory
175- Modernize syntax
176- Support building on x86-64
177
178* Thu Feb 13 2003 H. Peter Anvin <hpa@zytor.com>
179- 2.02 release; no longer setuid
180
181* Thu Jan 30 2003 H. Peter Anvin <hpa@zytor.com>
182- Prepare for 2.01 release; make /usr/bin/syslinux setuid root
183
184* Fri Oct 25 2002 H. Peter Anvin <hpa@zytor.com>
185- Upgrade to 2.00.
186
187* Tue Aug 27 2002 H. Peter Anvin <hpa@zytor.com>
188- Upgrade to 1.76.
189
190* Fri Jun 14 2002 H. Peter Anvin <hpa@zytor.com>
191- Upgrade to 1.75.
192
193* Sat Jun  1 2002 H. Peter Anvin <hpa@zytor.com>
194- Upgrade to 1.74.
195
196* Sun May 26 2002 H. Peter Anvin <hpa@zytor.com>
197- Upgrade to 1.73.
198
199* Tue Apr 23 2002 H. Peter Anvin <hpa@zytor.com>
200- Upgrade to 1.72.
201
202* Wed Apr 17 2002 H. Peter Anvin <hpa@zytor.com>
203- Upgrade to 1.71.
204- Update the title.
205
206* Wed Apr 17 2002 H. Peter Anvin <hpa@zytor.com>
207- Upgrade to 1.70.
208
209* Sat Feb  3 2002 H. Peter Anvin <hpa@zytor.com>
210- Upgrade to 1.67.
211
212* Tue Jan  1 2002 H. Peter Anvin <hpa@zytor.com>
213- Upgrade to 1.66.
214
215* Sat Dec 15 2001 H. Peter Anvin <hpa@zytor.com>
216- Upgrade to 1.65; make appropriate changes.
217
218* Sat Aug 24 2001 H. Peter Anvin <hpa@zytor.com>
219- Upgrade to 1.64.
220
221* Mon Aug  6 2001 H. Peter Anvin <hpa@zytor.com>
222- Upgrade to 1.63.
223- Use make install since the stock SYSLINUX distribution now supports
224  INSTALLROOT.
225
226* Sat Apr 24 2001 H. Peter Anvin <hpa@zytor.com>
227- Upgrade to 1.62.
228
229* Sat Apr 14 2001 H. Peter Anvin <hpa@zytor.com>
230- Fix missing %files; correct modes.
231
232* Fri Apr 13 2001 H. Peter Anvin <hpa@zytor.com>
233- Upgrade to 1.61
234- Install auxilliary programs in /usr/lib/syslinux
235
236* Sat Feb 10 2001 Matt Wilson <msw@redhat.com>
237- 1.52
238
239* Wed Jan 24 2001 Matt Wilson <msw@redhat.com>
240- 1.51pre7
241
242* Mon Jan 22 2001 Matt Wilson <msw@redhat.com>
243- 1.51pre5
244
245* Fri Jan 19 2001 Matt Wilson <msw@redhat.com>
246- 1.51pre3, with e820 detection
247
248* Tue Dec 12 2000 Than Ngo <than@redhat.com>
249- rebuilt with fixed fileutils
250
251* Thu Nov 9 2000 Than Ngo <than@redhat.com>
252- update to 1.49
253- update ftp site
254- clean up specfile
255- add some useful documents
256
257* Tue Jul 18 2000 Nalin Dahyabhai <nalin@redhat.com>
258- add %%defattr (release 4)
259
260* Wed Jul 12 2000 Prospector <bugzilla@redhat.com>
261- automatic rebuild
262
263* Thu Jul 06 2000 Trond Eivind Glomsr�d <teg@redhat.com>
264- use %%{_tmppath}
265- change application group (Applications/Internet doesn't seem
266  right to me)
267- added BuildRequires
268
269* Tue Apr 04 2000 Erik Troan <ewt@redhat.com>
270- initial packaging
271