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