# # spec file for package atftp (Version 0.7.0) # # Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # norootforbuild Name: atftp %define pkg_version 0.7 Version: 0.7.0 Release: 48 License: GNU General Public License (GPL) Group: System/Daemons BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: readline-devel tcpd-devel PreReq: %insserv_prereq %fillup_prereq Conflicts: tftp URL: ftp://ftp.mamalinux.com/pub/atftp/ Source: %{name}-%{pkg_version}.tar.bz2 Source1: atftpd.init.d Source2: atftpd.sysconfig Patch1: atftp-0.7.dif Patch2: atftp-CLK_TCK.diff Patch3: atftp-0.7_compiler_warnings.patch Patch4: atftp-0.7_thread_crash.patch Patch5: atftp-0.7_sol_ip.patch Patch6: atftp-0.7_bug-213384_OPT_NUMBER.patch # Summary: Advanced TFTP Server and Client %description atftp stands for Advanced Trivial File Transfer Protocol. It is called "advanced", in contrast to others TFTP servers, for two reasons. First, it is intended to be fully compliant with all related RFCs. This includes RFC1350, RFC2090, RFC2347, RFC2348, and RFC2349. Second, atftp is intended for serving boot files to large clusters. It is multithreaded and will eventually support multicast, allowing faster boot of hundreds of machines simultaneously. Authors: -------- Jean-Pierre Lefebvre Remi Lefebvre %prep %setup -q -n %{name}-%{pkg_version} %patch1 %patch2 %patch3 %patch4 %patch5 %patch6 %build autoreconf -fi %configure %{__make} %install %makeinstall # SuSE rc %{__install} -D -m 0755 %{S:1} %{buildroot}/etc/init.d/atftpd %{__ln_s} -f ../../etc/init.d/atftpd %{buildroot}%{_sbindir}/rcatftpd %{__install} -D -m 0644 %{S:2} %{buildroot}/var/adm/fillup-templates/sysconfig.atftpd %{__install} -Dd -m 0750 %{buildroot}/var/run/atftpd/ %clean %{__rm} -rf %{buildroot} %preun %stop_on_removal atftpd %post %{fillup_and_insserv -n -s atftpd} %postun %restart_on_update atftpd %{insserv_cleanup} %files %defattr(-,root,root) %doc BUGS FAQ LICENSE README TODO %{_bindir}/atftp %{_sbindir}/atftpd %{_sbindir}/in.tftpd %{_sbindir}/rcatftpd /etc/init.d/atftpd /var/adm/fillup-templates/sysconfig.atftpd %{_mandir}/man1/atftp.1.gz %{_mandir}/man8/atftpd.8.gz %{_mandir}/man8/in.tftpd.8.gz %dir %attr(-,nobody,nogroup) /var/run/atftpd/ %changelog * Thu Jun 21 2007 - adrian@suse.de - fix changelog entry order * Mon Jan 22 2007 - mrueckert@suse.de - added atftp-0.7_bug-213384_OPT_NUMBER.patch: "atftpd incorrectly sends OACK (option acknowledge) packets" (#213384,#80441) * Mon Jul 31 2006 - mrueckert@suse.de - added /var/run/atftpd/ (0755,nobody,nogroup): at ftp can finally create pid files the default pid file for a single instance will be /var/run/atftpd/pid - added support to run multiple instances of atftpd bound to specific IP addresses: * new sysconfig variable ATFTPD_BIND_ADDRESSES: whitespace seperated list of ip addresses. * each instance has its own pid file /var/run/atftpd/$ip.pid * Sat Jul 01 2006 - mrueckert@suse.de - bump the version number to 0.7.0: This fix is needed because 0.7 < 0.7cvs. Replaced %%{version} with %%{pkg_version} everywhere. %%{pkg_version} holds the original value of 0.7. * Thu Mar 30 2006 - mrueckert@suse.de - added atftp-0.7_compiler_warnings.patch: o missing include of pthread.h o make the the 1st parameter of tftp_mtftp_missed_packet unsigned int to fix a differ in signedness warning o configure overwrote the CFLAGS from the environment. o fixed logging of threadids - added atftp-0.7_thread_crash.patch: fixes http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=271816 - added atftp-0.7_sol_ip.patch: only use the SOL_IP if it is defined - updated atftp-0.7.dif: o really always run through the whole bitmap to find old holes. (bug #148779, #65660) * Wed Jan 25 2006 - mls@suse.de - converted neededforbuild to BuildRequires * Tue Dec 20 2005 - ro@suse.de - define CLK_TCK if not already done * Thu Mar 03 2005 - nashif@suse.de - Applied patch from #65660: transfer breaks down if packets get dropped * Thu Mar 03 2005 - nashif@suse.de - According to #65660 memory allocation issue not present anymore * Sun Feb 13 2005 - nashif@suse.de - fixed segfault on x86_64 * Tue Nov 16 2004 - ro@suse.de - merge old changelog entries (after checking all fixes are here) - removed also destdir.patch (included upstream) * Fri Nov 12 2004 - jhargado@suse.de - Added a patch to fix a problem where if a client requests a file that doesn't exist, sometimes the daemon would exit without warning. The .7 version of atftp is needed in SLRS to allow HA functionality. This package is only included in the SLRS distribution. * Sat Sep 11 2004 - kukuk@suse.de - Adjust to new glibc __THROW define * Mon Apr 12 2004 - nashif@suse.de - update to 0.7 final - when called in batch mode, return right exit code if operation fails. * Tue Mar 09 2004 - ms@suse.de - include timeout patch: We finally got a network trace with the ACKs included. When the client fails the checksum, it stops acking the server. This was occurring anywhere from the middle to the end of the 730MB download. It boils down to slower systems are taking to long to write the network data to the disk and in the meanwhile the tftp timeout value is incrementing and when it reaches 5 tftp timeouts, the clients gives up!! Dan added code to reset the timeout counter when the client received another good packet. With this fix, the clients, even slow clients never failed. We think adding more memory to the slower clients made the problem worse because it took longer to write the memory cache out to the disk and caused more timeouts. While trying to cause more timeouts on the clients (we paused the client in the middle of the download), we noticed the server code has the same timeout scheme so Dan also added this code to reset the timeout counter when good packets were received. These fixes look solid, even under error conditions. * Mon Mar 01 2004 - nashif@suse.de - Update to 0.7 cvs * Thu Feb 19 2004 - kukuk@suse.de - Cleanup neededforbuild * Wed Feb 04 2004 - ms@suse.de - according to Anas Nashif the current version 0.6.2 includes the fix for bug (#27341). buffer overflow when a long filename is sent to the server * Wed Feb 04 2004 - ms@suse.de - include version 0.6.2 to SLES8 includes important multicast fixes related to project Point-of-Sale (#34074) * Sat Jan 10 2004 - adrian@suse.de - build as user * Fri Aug 29 2003 - nashif@suse.de - Provide default tftp directory * Fri Aug 01 2003 - nashif@suse.de - update to 0.6.2 - Fixes bug #27341 - Readded conflict to tftp * Wed May 28 2003 - nashif@suse.de - Removed conflict to tftp - added manpages as doc files * Mon May 26 2003 - lmuelle@suse.de - Remove set -e from init script; exit with rc 5 if binary is not installed * Wed Jan 01 2003 - nashif@suse.de - Fixed bug #22614: missing metadata in sysconfig template * Sat Sep 14 2002 - nashif@suse.de - Added missing restart to init script * Fri Aug 30 2002 - nashif@suse.de - Fixed bug #18661: Removed ; from sysconfig file * Sat Aug 17 2002 - nashif@suse.de - Fixed bug #17793: Added PreReq - Fixed init script output * Sun Jun 09 2002 - nashif@suse.de - Update to version 0.6.1.1 * Sat Apr 13 2002 - nashif@suse.de - Use tftp_LDADD for libraries instead of LDFLAGS * Sat Mar 23 2002 - nashif@suse.de - Initial release (0.50)