# -*- rpm -*- %define RPMVERSION @@RPMVERSION@@ %define VERSION @@VERSION@@ Summary: Kernel loader which uses a FAT, ext2/3 or iso9660 filesystem or a PXE network Name: syslinux Version: %{RPMVERSION} Release: 1 License: GPL Group: System/Boot Source0: ftp://ftp.kernel.org/pub/linux/utils/boot/syslinux/%{name}-%{VERSION}.tar.gz ExclusiveArch: i386 i486 i586 i686 athlon pentium4 x86_64 Packager: H. Peter Anvin Buildroot: %{_tmppath}/%{name}-%{VERSION}-root BuildPrereq: nasm >= 0.98.39, perl, netpbm-progs Autoreq: 0 %ifarch x86_64 Requires: mtools, libc.so.6()(64bit) %define my_cc gcc %else Requires: mtools, libc.so.6 %define my_cc gcc -m32 %endif # NOTE: extlinux belongs in /sbin, not in /usr/sbin, since it is typically # a system bootloader, and may be necessary for system recovery. %define _sbindir /sbin %package devel Summary: Development environment for SYSLINUX add-on modules Group: Development/Libraries Requires: syslinux %description SYSLINUX is a suite of bootloaders, currently supporting DOS FAT filesystems, Linux ext2/ext3 filesystems (EXTLINUX), PXE network boots (PXELINUX), or ISO 9660 CD-ROMs (ISOLINUX). It also includes a tool, MEMDISK, which loads legacy operating systems from these media. %description devel The SYSLINUX boot loader contains an API, called COM32, for writing sophisticated add-on modules. This package contains the libraries necessary to compile such modules. %package extlinux Summary: The EXTLINUX bootloader, for booting the local system. Group: System/Boot Requires: syslinux %description extlinux The EXTLINUX bootloader, for booting the local system, as well as all the SYSLINUX/PXELINUX modules in /boot. %package tftpboot Summary: SYSLINUX modules in /tftpboot, available for network booting Group: Applications/Internet Requires: syslinux %description tftpboot All the SYSLINUX/PXELINUX modules directly available for network booting in the /tftpboot directory. %prep %setup -q -n syslinux-%{VERSION} %build make CC='%{my_cc}' clean make CC='%{my_cc}' installer make CC='%{my_cc}' -C sample tidy %install rm -rf %{buildroot} mkdir -p %{buildroot}%{_bindir} mkdir -p %{buildroot}%{_sbindir} mkdir -p %{buildroot}%{_datadir}/syslinux mkdir -p %{buildroot}%{_includedir} mkdir -p %{buildroot}/boot/extlinux %{buildroot}/etc mkdir -p %{buildroot}/tftpboot/pxelinux.cfg make CC='%{my_cc}' install-all \ INSTALLROOT=%{buildroot} BINDIR=%{_bindir} SBINDIR=%{_sbindir} \ LIBDIR=%{_datadir} INCDIR=%{_includedir} make CC='%{my_cc}' -C sample tidy cp mkdiskimage sys2ansi.pl keytab-lilo.pl %{buildroot}%{_datadir}/syslinux cp %{buildroot}%{_datadir}/syslinux/*.c32 %{buildroot}/boot/extlinux cp %{buildroot}%{_datadir}/syslinux/memdisk %{buildroot}/boot/extlinux ( cd %{buildroot}/etc && ln -s ../boot/extlinux/extlinux.conf . ) cp %{buildroot}%{_datadir}/syslinux/*.c32 %{buildroot}/tftpboot cp %{buildroot}%{_datadir}/syslinux/pxelinux.0 %{buildroot}/tftpboot cp %{buildroot}%{_datadir}/syslinux/memdisk %{buildroot}/tftpboot %clean rm -rf %{buildroot} %files %defattr(-,root,root) %doc NEWS README* *.doc memdisk/*.doc COPYING %doc sample %{_bindir}/syslinux %{_bindir}/ppmtolss16 %{_bindir}/lss16toppm %{_bindir}/gethostip %{_bindir}/sha1pass %{_bindir}/md5pass %{_datadir}/syslinux/*.com %{_datadir}/syslinux/*.exe %{_datadir}/syslinux/*.c32 %{_datadir}/syslinux/*.bin %{_datadir}/syslinux/*.0 %{_datadir}/syslinux/memdisk %{_datadir}/syslinux/*.pl %{_datadir}/syslinux/mkdiskimage %files devel %{_datadir}/syslinux/com32 %files extlinux %{_sbindir}/extlinux /boot/extlinux %config /etc/extlinux.conf %files tftpboot /tftpboot %post extlinux # If we have a /boot/extlinux.conf file, assume extlinux is our bootloader # and update it. if [ -f /boot/extlinux/extlinux.conf ]; then \ extlinux --update /boot/extlinux ; \ elif [ -f /boot/extlinux.conf ]; then \ mkdir -p /boot/extlinux && \ mv /boot/extlinux.conf /boot/extlinux/extlinux.conf && \ extlinux --update /boot/extlinux ; \ fi %postun %changelog * Mon Nov 19 2007 Bernard Li - Added netpbm-progs (provides pngtopnm) to BuildPrereq (this should be changed to BuildRequires since it is deprecated...) * Thu Mar 15 2007 H. Peter Anvin - Move extlinux /boot stuff into /boot/extlinux. * Thu Jan 25 2007 H. Peter Anvin - Hacks to make the 32-bit version build correctly on 64-bit machines. * Mon Sep 19 2006 H. Peter Anvin - Add a syslinux-tftpboot module. - Factor extlinux into its own package. - Move to %{_datadir} (/usr/share). * Wed Sep 21 2005 H. Peter Anvin - If /boot/extlinux.conf exist, run extlinux --update. * Fri Sep 9 2005 H. Peter Anvin - Copy, don't link, *.c32 into /boot; rpm doesn't like breaking links. * Tue Aug 23 2005 H. Peter Anvin - Put *.c32 into /boot. * Thu Dec 30 2004 H. Peter Anvin - libsyslinux dropped in syslinux 3.00. - Additional documentation. - Add extlinux. * Tue Dec 14 2004 H. Peter Anvin - Add a devel package for the com32 library added in 2.12. * Wed Apr 16 2003 H. Peter Anvin 2.04-1 - 2.04 release - Add support for libsyslinux.so* - Templatize for inclusion in CVS tree * Thu Apr 10 2003 H. Peter Anvin - 2.03 release - Add support for libsyslinux.a - Add keytab-lilo.pl to the /usr/lib/syslinux directory - Modernize syntax - Support building on x86-64 * Thu Feb 13 2003 H. Peter Anvin - 2.02 release; no longer setuid * Thu Jan 30 2003 H. Peter Anvin - Prepare for 2.01 release; make /usr/bin/syslinux setuid root * Fri Oct 25 2002 H. Peter Anvin - Upgrade to 2.00. * Tue Aug 27 2002 H. Peter Anvin - Upgrade to 1.76. * Fri Jun 14 2002 H. Peter Anvin - Upgrade to 1.75. * Sat Jun 1 2002 H. Peter Anvin - Upgrade to 1.74. * Sun May 26 2002 H. Peter Anvin - Upgrade to 1.73. * Tue Apr 23 2002 H. Peter Anvin - Upgrade to 1.72. * Wed Apr 17 2002 H. Peter Anvin - Upgrade to 1.71. - Update the title. * Wed Apr 17 2002 H. Peter Anvin - Upgrade to 1.70. * Sat Feb 3 2002 H. Peter Anvin - Upgrade to 1.67. * Tue Jan 1 2002 H. Peter Anvin - Upgrade to 1.66. * Sat Dec 15 2001 H. Peter Anvin - Upgrade to 1.65; make appropriate changes. * Sat Aug 24 2001 H. Peter Anvin - Upgrade to 1.64. * Mon Aug 6 2001 H. Peter Anvin - Upgrade to 1.63. - Use make install since the stock SYSLINUX distribution now supports INSTALLROOT. * Sat Apr 24 2001 H. Peter Anvin - Upgrade to 1.62. * Sat Apr 14 2001 H. Peter Anvin - Fix missing %files; correct modes. * Fri Apr 13 2001 H. Peter Anvin - Upgrade to 1.61 - Install auxilliary programs in /usr/lib/syslinux * Sat Feb 10 2001 Matt Wilson - 1.52 * Wed Jan 24 2001 Matt Wilson - 1.51pre7 * Mon Jan 22 2001 Matt Wilson - 1.51pre5 * Fri Jan 19 2001 Matt Wilson - 1.51pre3, with e820 detection * Tue Dec 12 2000 Than Ngo - rebuilt with fixed fileutils * Thu Nov 9 2000 Than Ngo - update to 1.49 - update ftp site - clean up specfile - add some useful documents * Tue Jul 18 2000 Nalin Dahyabhai - add %%defattr (release 4) * Wed Jul 12 2000 Prospector - automatic rebuild * Thu Jul 06 2000 Trond Eivind Glomsrød - use %%{_tmppath} - change application group (Applications/Internet doesn't seem right to me) - added BuildRequires * Tue Apr 04 2000 Erik Troan - initial packaging