diff -r 07be25b95aca -r ef076e9bc56b tftp/tftp.spec --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tftp/tftp.spec Mon Aug 25 19:06:31 2014 +0200 @@ -0,0 +1,155 @@ +## +## tftp.spec -- OpenPKG RPM Package Specification +## Copyright (c) 2000-2014 OpenPKG Foundation e.V. +## +## Permission to use, copy, modify, and distribute this software for +## any purpose with or without fee is hereby granted, provided that +## the above copyright notice and this permission notice appear in all +## copies. +## +## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED +## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR +## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT +## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +## SUCH DAMAGE. +## + +# package information +Name: tftp +Summary: TFTP Client and Server +URL: http://www.kernel.org/pub/software/network/tftp/ +Vendor: H. Peter Anvin +Packager: OpenPKG Foundation e.V. +Distribution: OpenPKG Community +Class: BASE +Group: FTP +License: GPL +Version: 5.2 +Release: 20140301 + +# package options +%option with_fsl yes + +# list of sources +Source0: http://www.kernel.org/pub/software/network/tftp/tftp-hpa/tftp-hpa-%{version}.tar.gz +Source1: tftpd.remap +Source2: rc.tftp +Source3: fsl.tftp +Patch0: tftp.patch + +# build information +BuildPreReq: OpenPKG, openpkg >= 20100101, make, gcc +PreReq: OpenPKG, openpkg >= 20100101 +BuildPreReq: getopt +PreReq: getopt +%if "%{with_fsl}" == "yes" +BuildPreReq: fsl +PreReq: fsl +%endif + +%description + This is a portable client and server for the Trivial File Transfer + Protocol (TFTP). + +%track + prog tftp = { + version = %{version} + url = http://www.kernel.org/pub/software/network/tftp/tftp-hpa/ + regex = tftp-hpa-(__VER__)\.tar\.gz + } + +%prep + %setup -q -n tftp-hpa-%{version} + %patch -p0 + %{l_shtool} subst -e 's;PKTSIZE;TFTP_PKTSIZE;g' */*.[ch] + +%build + export CC="%{l_cc}" + export CFLAGS="%{l_cflags -O} %{l_cppflags} -DPID_FILE='\"%{l_prefix}/var/tftp/tftpd.pid\"'" + export CPPFLAGS="%{l_cppflags}" + export LDFLAGS="%{l_ldflags} %{l_fsl_ldflags}" + export LIBS="%{l_fsl_libs} -lgetopt" + case "%{l_platform -t}" in + *-netbsd* ) + CFLAGS="$CFLAGS -D_NETBSD_SOURCE" + CPPFLAGS="$CPPFLAGS -D_NETBSD_SOURCE" + ;; + esac + ./configure \ + --prefix=%{l_prefix} \ + --mandir=%{l_prefix}/man \ + --with-remap \ + --without-tcpwrappers \ + --without-readline + %{l_shtool} subst -e 's; -W[^ ]*;;g' MCONFIG + %{l_make} %{l_mflags} + +%install + %{l_shtool} mkdir -f -p -m 755 \ + $RPM_BUILD_ROOT%{l_prefix}/var/tftp \ + $RPM_BUILD_ROOT%{l_prefix}/etc/tftp \ + $RPM_BUILD_ROOT%{l_prefix}/var/tftp + %{l_make} %{l_mflags} install \ + INSTALL="%{l_shtool} install -c" \ + INSTALLROOT=$RPM_BUILD_ROOT + %{l_shtool} install -c -m 644 %{l_value -s -a} \ + %{SOURCE tftpd.remap} $RPM_BUILD_ROOT%{l_prefix}/etc/tftp/ + rm -f $RPM_BUILD_ROOT%{l_prefix}/man/man8/tftpd.8 + mv $RPM_BUILD_ROOT%{l_prefix}/man/man8/in.tftpd.8 \ + $RPM_BUILD_ROOT%{l_prefix}/man/man8/tftpd.8 + mv $RPM_BUILD_ROOT%{l_prefix}/sbin/in.tftpd \ + $RPM_BUILD_ROOT%{l_prefix}/sbin/tftpd + strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true + strip $RPM_BUILD_ROOT%{l_prefix}/sbin/* >/dev/null 2>&1 || true + + # install run-command script + %{l_shtool} mkdir -f -p -m 755 \ + $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d + %{l_shtool} install -c -m 755 %{l_value -s -a} \ + %{SOURCE rc.tftp} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/ + + # install OSSP fsl configuration + %{l_shtool} mkdir -f -p -m 755 $RPM_BUILD_ROOT%{l_prefix}/etc/fsl + %{l_shtool} install -c -m 644 %{l_value -s -a} \ + %{SOURCE fsl.tftp} \ + $RPM_BUILD_ROOT%{l_prefix}/etc/fsl/ + + # determine installation files + %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \ + %{l_files_std} \ + '%config %{l_prefix}/etc/fsl/fsl.tftp' \ + '%config %{l_prefix}/etc/tftp/*' + +%files -f files + +%clean + +%pre + # before upgrade, save status and stop service + [ $1 -eq 2 ] || exit 0 + eval `%{l_rc} tftp status 2>/dev/null | tee %{l_tmpfile}` + %{l_rc} tftp stop 2>/dev/null + exit 0 + +%post + if [ $1 -eq 2 ]; then + # after upgrade, restore status + eval `cat %{l_tmpfile}`; rm -f %{l_tmpfile} + [ ".$tftp_active" = .yes ] && %{l_rc} tftp start + fi + exit 0 + +%preun + # before erase, stop service and remove log files + [ $1 -eq 0 ] || exit 0 + %{l_rc} tftp stop 2>/dev/null + rm -f $RPM_INSTALL_PREFIX/var/tftp/*.log* >/dev/null 2>&1 || true + exit 0 +