# this is to keep rpmbuild from thinking the .c32 / .com / .0 / memdisk files # in noarch packages are a reason to stop the build. %define _binaries_in_noarch_packages_terminate_build 0 Summary: Simple kernel loader which uses a FAT ot iso9660 filesystem ot a PXE network Summary(ja): FAT/iso9660 ファイルシステムまたは PXE ネットワークを利用するシンプルなカーネルローダー Name: syslinux Version: 6.04 %global pre_relase pre1 Release: 1%{?_dist_release} Group: system Vendor: Project Vine Distribution: Vine Linux Packager: daisuke, shaolin License: GPLv2+ URL: https://wiki.syslinux.org/wiki/index.php?title=The_Syslinux_Project Source0: https://mirrors.edge.kernel.org/pub/linux/utils/boot/syslinux{?pre_relase:/Testing/%{version}}/syslinux-%{version}%{?pre_relase:-%{pre_relase}}.tar.xz # upstream patches Patch0: syslinux-6.04-20210324.patch Patch100: 0015-efi-main.c-include-efisetjmp.h.patch # debian patches Patch1004: 0004-gnu-efi-from-debian.patch Patch1016: 0016-strip-gnu-property.patch Patch1017: 0017-single-load-segment.patch Patch1019: 0019-gcc-10-compatibility.patch BuildRoot: %{_tmppath}/%{name}-%{version}-root ExclusiveArch: %{ix86} x86_64 BuildRequires: nasm, perl, netpbm-progs BuildRequires: libuuid-devel %ifarch x86_64 BuildRequires: gnu-efi-devel BuildRequires: compat32-glibc-devel %endif Requires: mtools %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: admin-tools %description perl Syslinux tools written in perl %package devel Summary: Headers and libraries for syslinux development. Summary(ja): Syslinux 開発用ヘッダとライブラリ Group: programming %description devel Headers and libraries for syslinux development. %package extlinux Summary: The EXTLINUX bootloader, for booting the local system. Summary(ja): EXTLINUX ブートローダ Group: system 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: system,network Requires: syslinux %description tftpboot All the SYSLINUX/PXELINUX modules directly available for network booting in the /tftpboot directory. %debug_package %prep %setup -q -n syslinux-%{version}%{?pre_relase:-%{pre_relase}} %autopatch -p1 sed -i -e '/CORELIBOBJS =/a calloc.o \\' mk/lib.mk %ifarch x86_64 sed -i -e 's|/crt0-efi-|/gnuefi/crt0-efi-|' mk/efi.mk sed -i -e "s|-lefi||" efi/Makefile sed -i -e '/make/d' efi/clean-gnu-efi.sh sed -i -e 's|&load_error_buf|load_error_buf|' efi/main.c %endif %build CFLAGS32="$(echo '%{build_cflags}' | sed -e 's/-m64 -mtune=generic//' -e 's/-fcf-protection//')" make OPTFLAGS="${CFLAGS32}" bios make OPTFLAGS="${CFLAGS32}" bios all ||: %ifarch x86_64 make OPTFLAGS="%{build_cflags}" efi64 %endif %install mkdir -p %{buildroot}%{_bindir} mkdir -p %{buildroot}%{_sbindir} mkdir -p %{buildroot}%{_syssbindir} mkdir -p %{buildroot}%{_libdir}/syslinux mkdir -p %{buildroot}%{_includedir} make bios install netinstall \ INSTALLROOT=%{buildroot} BINDIR=%{_bindir} SBINDIR=%{_syssbindir} \ LIBDIR=%{_prefix}/lib DATADIR=%{_datadir} \ MANDIR=%{_mandir} INCDIR=%{_includedir} \ TFTPBOOT=/tftpboot EXTLINUXDIR=/boot/extlinux \ LDLINUX=ldlinux.c32 make bios extbootinstall \ INSTALLROOT=%{buildroot} BINDIR=%{_bindir} SBINDIR=%{_syssbindir} \ LIBDIR=%{_prefix}/lib DATADIR=%{_datadir} \ MANDIR=%{_mandir} INCDIR=%{_includedir} \ TFTPBOOT=/tftpboot EXTLINUXDIR=/boot/extlinux \ LDLINUX=ldlinux.c32 ||: %ifarch x86_64 make efi64 install netinstall \ INSTALLROOT=%{buildroot} BINDIR=%{_bindir} SBINDIR=%{_syssbindir} \ LIBDIR=%{_prefix}/lib DATADIR=%{_datadir} \ MANDIR=%{_mandir} INCDIR=%{_includedir} \ TFTPBOOT=/tftpboot EXTLINUXDIR=/boot/extlinux \ LDLINUX=ldlinux.c32 %endif #install -m 755 linux/syslinux-nomtools %{buildroot}%{_datadir}/syslinux #install -m 755 linux/syslinux %{buildroot}%{_datadir}/syslinux mkdir -p %{buildroot}/%{_pkgdocdir}/sample install -m 644 sample/sample.* %{buildroot}/%{_pkgdocdir}/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 %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 %files %defattr(-,root,root) %license COPYING %doc NEWS README* %doc doc/* %doc sample %{_mandir}/man1/gethostip* %{_mandir}/man1/syslinux* %{_mandir}/man1/extlinux* %{_mandir}/man1/isohybrid* %{_mandir}/man1/memdiskfind* %{_bindir}/gethostip %{_bindir}/isohybrid %{_bindir}/memdiskfind %{_bindir}/syslinux %dir %{_datadir}/syslinux %dir %{_datadir}/syslinux/dosutil %{_datadir}/syslinux/dosutil/* %dir %{_datadir}/syslinux/diag %{_datadir}/syslinux/diag/* %ifarch x86_64 %{_datadir}/syslinux/efi64 %endif %{_datadir}/syslinux/*.com %{_datadir}/syslinux/*.c32 %{_datadir}/syslinux/*.bin %{_datadir}/syslinux/*.0 %{_datadir}/syslinux/memdisk %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 %config /etc/extlinux.conf /boot/extlinux %files tftpboot /tftpboot %changelog * Thu Mar 25 2021 Tomohiro "Tomo-p" KATO 6.04-1 - new upstream release. - imported Patch0 from upstream. - imported Patch100 from upstream PR. - imported Patch1004-1019 from debian. * Sun Oct 12 2014 Ryoichi INAGAKI 4.07-1 - updated to 4.07 - moved extlinux subpackage to Applications/System Group * Mon Feb 27 2012 Daisuke SUZUKI 4.05-1 - update to 4.05 - add BR: libuuid-devel * Mon Jun 06 2011 Daisuke SUZUKI 4.04-1 - update to 4.04 * Tue Jan 11 2011 MATSUBAYASHI Kohji - 4.03-1 - new upstream release * Sun Sep 26 2010 MATSUBAYASHI Kohji - 4.02-2 - remove Obsoletes: syslinux-devel * Sat Sep 25 2010 MATSUBAYASHI Kohji - 4.02-1 - new upstream release - split out -devel/perl/extlinux/tftpboot subpackages * Sat Nov 28 2009 MATSUBAYASHI Kohji - 3.83-1 - new upstream release * Fri Jun 12 2009 MATSUBAYASHI Kohji - 3.82-1 - new upstream release w/ bugfixes * Thu May 14 2009 MATSUBAYASHI Kohji - 3.80-1 - new upstream release 3.80 w/ dozens of bugfixes and new features :) * Thu Dec 11 2008 MATSUBAYASHI Kohji 3.63-3 - add missing files to the filelist * Fri May 23 2008 MATSUBAYASHI Kohji 3.63-2 - spec in UTF-8 * Mon May 19 2008 MATSUBAYASHI Kohji 3.63-1 - updated to new upstream release * Wed Nov 21 2007 Shu KONNO 3.53-0vl1 - new upstream source * Wed May 18 2005 Daisuke SUZUKI 3.07-0vl1 - new upstream source - add extlinux - remove and obsolete syslinux-devel * Fri Dec 17 2004 Daisuke SUZUKI 2.13-0vl1 - new upstream release * Fri Jun 25 2004 Daisuke SUZUKI 2.10-0vl1 - new upstream release * Tue Mar 26 2002 Daisuke SUZUKI 1.52-2vl1 - rebuild for Vine Linux * Sun Jun 24 2001 Elliot Lee - Bump release + rebuild. * 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藷? - use %%{_tmppath} - change application group (Applications/Internet doesn't seem right to me) - added BuildRequires * Tue Apr 04 2000 Erik Troan - initial packaging