Summary: Simple kernel loader which uses a FAT ot iso9660 filesystem ot a PXE network
Summary(ja): FAT/iso9660 ファイルシステムまたは PXE ネットワークを利用するシンプルなカーネルローダー
Name: syslinux
Version: 4.04
Release: 1%{?_dist_release}
License: GPLv2+
Group: Applications/System
Source0: ftp://ftp.kernel.org/pub/linux/utils/boot/syslinux/%{name}-%{version}.tar.bz2
URL: http://syslinux.zytor.com/
ExclusiveArch: %{ix86} x86_64
Buildroot: %{_tmppath}/%{name}-%{version}-root
BuildRequires: nasm, perl, netpbm-progs
Requires: mtools

Vendor: Project Vine
Distribution: Vine Linux
Packager: daisuke, shaolin


%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 -l ja
SYSLINUX はカーネルローダー集です。現在は FAT ファイルシステム、Linux の
ext2/ext3 ファイルシステム(EXTLINUX)、PXE ネットワークブート (PXELINUX) および
ISO 9660 CDROM (ISOLINUX) に対応しています。


%package perl
Summary: Syslinux tools written in perl
Summary(ja): Syslinux の perl ツール集
Group: Applications/System

%description perl
Syslinux tools written in perl


%package devel
Summary: Headers and libraries for syslinux development.
Summary(ja): Syslinux 開発用ヘッダとライブラリ
Group: Development/Libraries

%description devel
Headers and libraries for syslinux development.


%package extlinux
Summary: The EXTLINUX bootloader, for booting the local system.
Summary(ja): EXTLINUX ブートローダ
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
Summary(ja): ネットワークブート用 SYSLINUX モジュール
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 clean
make installer
make -C sample tidy


%install
rm -rf %{buildroot}

mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_sbindir}
mkdir -p %{buildroot}%{_syssbindir}
mkdir -p %{buildroot}%{_libdir}/syslinux
mkdir -p %{buildroot}%{_includedir}
make install-all \
	INSTALLROOT=%{buildroot} BINDIR=%{_bindir} SBINDIR=%{_syssbindir} \
	LIBDIR=%{_prefix}/lib DATADIR=%{_datadir} \
	MANDIR=%{_mandir} INCDIR=%{_includedir} \
	TFTPBOOT=/tftpboot EXTLINUXDIR=/boot/extlinux

install -m 755 linux/syslinux-nomtools %{buildroot}%{_datadir}/syslinux
install -m 755 linux/syslinux %{buildroot}%{_datadir}/syslinux

mkdir -p %{buildroot}/%{_docdir}/%{name}-%{version}/sample
install -m 644 sample/sample.* %{buildroot}/%{_docdir}/%{name}-%{version}/sample/
mkdir -p %{buildroot}/etc
( cd %{buildroot}/etc && ln -s ../boot/extlinux/extlinux.conf . )

# don't ship libsyslinux, at least, not for now
rm -f %{buildroot}%{_prefix}/lib/libsyslinux*
rm -f %{buildroot}%{_includedir}/syslinux.h


%clean
rm -rf $RPM_BUILD_ROOT


%files
%defattr(-,root,root)
%doc NEWS README* COPYING
%doc doc/*
%doc sample
%{_mandir}/man1/gethostip*
%{_mandir}/man1/syslinux*
%{_mandir}/man1/extlinux*
%{_bindir}/gethostip
%{_bindir}/isohybrid
%{_bindir}/memdiskfind
%{_bindir}/syslinux
%dir %{_datadir}/syslinux
%{_datadir}/syslinux/*.com
%{_datadir}/syslinux/*.exe
%{_datadir}/syslinux/*.c32
%{_datadir}/syslinux/*.bin
%{_datadir}/syslinux/*.0
%{_datadir}/syslinux/memdisk
%dir %{_datadir}/syslinux/dosutil
%{_datadir}/syslinux/dosutil/*
%{_datadir}/syslinux/syslinux
%{_datadir}/syslinux/syslinux-nomtools
%dir %{_datadir}/syslinux/diag
%{_datadir}/syslinux/diag/*

%files perl
%defattr(-,root,root)
%{_mandir}/man1/lss16toppm*
%{_mandir}/man1/ppmtolss16*
%{_mandir}/man1/syslinux2ansi*
%{_bindir}/keytab-lilo
%{_bindir}/lss16toppm
%{_bindir}/md5pass
%{_bindir}/mkdiskimage
%{_bindir}/ppmtolss16
%{_bindir}/pxelinux-options
%{_bindir}/sha1pass
%{_bindir}/syslinux2ansi
%{_bindir}/isohybrid.pl


%files devel
%defattr(-,root,root)
%dir %{_datadir}/syslinux/com32
%{_datadir}/syslinux/com32/*


%files extlinux
%{_syssbindir}/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


%changelog
* Mon Jun 06 2011 Daisuke SUZUKI <daisuke@linux.or.jp> 4.04-1
- update to 4.04

* Tue Jan 11 2011 MATSUBAYASHI Kohji <shaolin@vinelinux.org> - 4.03-1
- new upstream release

* Sun Sep 26 2010 MATSUBAYASHI Kohji <shaolin@vinelinux.org> - 4.02-2
- remove Obsoletes: syslinux-devel

* Sat Sep 25 2010 MATSUBAYASHI Kohji <shaolin@vinelinux.org> - 4.02-1
- new upstream release
- split out -devel/perl/extlinux/tftpboot subpackages

* Sat Nov 28 2009 MATSUBAYASHI Kohji <shaolin@vinelinux.org> - 3.83-1
- new upstream release

* Fri Jun 12 2009 MATSUBAYASHI Kohji <shaolin@vinelinux.org> - 3.82-1
- new upstream release w/ bugfixes

* Thu May 14 2009 MATSUBAYASHI Kohji <shaolin@vinelinux.org> - 3.80-1
- new upstream release 3.80 w/ dozens of bugfixes and new features :)

* Thu Dec 11 2008 MATSUBAYASHI Kohji <shaolin@vinelinux.org> 3.63-3
- add missing files to the filelist

* Fri May 23 2008 MATSUBAYASHI Kohji <shaolin@vinelinux.org> 3.63-2
- spec in UTF-8

* Mon May 19 2008 MATSUBAYASHI Kohji <shaolin@vinelinux.org> 3.63-1
- updated to new upstream release

* Wed Nov 21 2007 Shu KONNO <owa@bg.wakwak.com> 3.53-0vl1
- new upstream source

* Wed May 18 2005 Daisuke SUZUKI <daisuke@linux.or.jp> 3.07-0vl1
- new upstream source
- add extlinux
- remove and obsolete syslinux-devel

* Fri Dec 17 2004 Daisuke SUZUKI <daisuke@linux.or.jp> 2.13-0vl1
- new upstream release

* Fri Jun 25 2004 Daisuke SUZUKI <daisuke@linux.or.jp> 2.10-0vl1
- new upstream release

* Wed Mar 26 2002 Daisuke SUZUKI <daisuke@linux.or.jp> 1.52-2vl1
- rebuild for Vine Linux

* Sun Jun 24 2001 Elliot Lee <sopwith@redhat.com>
- Bump release + rebuild.

* Sat Feb 10 2001 Matt Wilson <msw@redhat.com>
- 1.52

* Wed Jan 24 2001 Matt Wilson <msw@redhat.com>
- 1.51pre7

* Mon Jan 22 2001 Matt Wilson <msw@redhat.com>
- 1.51pre5

* Fri Jan 19 2001 Matt Wilson <msw@redhat.com>
- 1.51pre3, with e820 detection

* Tue Dec 12 2000 Than Ngo <than@redhat.com>
- rebuilt with fixed fileutils

* Thu Nov 9 2000 Than Ngo <than@redhat.com>
- update to 1.49
- update ftp site
- clean up specfile
- add some useful documents

* Tue Jul 18 2000 Nalin Dahyabhai <nalin@redhat.com>
- add %%defattr (release 4)

* Wed Jul 12 2000 Prospector <bugzilla@redhat.com>
- automatic rebuild

* Thu Jul 06 2000 Trond Eivind Glomsr藷?<teg@redhat.com>
- use %%{_tmppath}
- change application group (Applications/Internet doesn't seem
  right to me)
- added BuildRequires

* Tue Apr 04 2000 Erik Troan <ewt@redhat.com>
- initial packaging