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