pureftpd.spec 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. ##
  2. ## pureftpd.spec -- OpenPKG RPM Specification
  3. ## Copyright (c) 2000-2003 Cable & Wireless Deutschland GmbH
  4. ## Copyright (c) 2000-2003 The OpenPKG Project <http://www.openpkg.org/>
  5. ## Copyright (c) 2000-2003 Ralf S. Engelschall <rse@engelschall.com>
  6. ##
  7. ## Permission to use, copy, modify, and distribute this software for
  8. ## any purpose with or without fee is hereby granted, provided that
  9. ## the above copyright notice and this permission notice appear in all
  10. ## copies.
  11. ##
  12. ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
  13. ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  14. ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
  15. ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
  16. ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  17. ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  18. ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
  19. ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  20. ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  21. ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  22. ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  23. ## SUCH DAMAGE.
  24. ##
  25. # package information
  26. Name: pureftpd
  27. Summary: Alternative FTP Server
  28. URL: http://www.pureftpd.org/
  29. Vendor: A.Gulbrandsen, Frank DENIS
  30. Packager: The OpenPKG Project
  31. Distribution: OpenPKG [BASE]
  32. Group: FTP
  33. License: GPL
  34. Version: 1.1.0
  35. Release: 20030708
  36. # package options
  37. %option with_fsl yes
  38. %option with_pam no
  39. # list of sources
  40. Source0: http://osdn.dl.sourceforge.net/sourceforge/pureftpd/pure-ftpd-%{version}.tar.gz
  41. Source1: rc.pureftpd
  42. Source2: fsl.pureftpd
  43. # build information
  44. Prefix: %{l_prefix}
  45. BuildRoot: %{l_buildroot}
  46. BuildPreReq: OpenPKG, openpkg >= 20030415, make
  47. PreReq: OpenPKG, openpkg >= 20030415
  48. %if "%{with_fsl}" == "yes"
  49. BuildPreReq: fsl
  50. PreReq: fsl
  51. %endif
  52. %if "%{with_pam}" == "yes"
  53. BuildPreReq: PAM
  54. PreReq: PAM
  55. %endif
  56. AutoReq: no
  57. AutoReqProv: no
  58. %description
  59. Pure-FTPd is a fast, production-quality, standard-conformant FTP
  60. server, based upon Troll-FTPd. Unlike other popular FTP servers,
  61. it's designed to be secure in default configuration, has no known
  62. buffer overflow, it is really trivial to set up and it is especially
  63. designed for modern kernels. Features include PAM support, IPv6,
  64. chroot()ed home directories, virtual domains, built-in 'ls',
  65. anti-warez system, bounded ports for passive downloads, FXP
  66. protocol, bandwidth throttling, ratios, LDAP, XML and HTML reports,
  67. support for external programs to post-process uploads and more.
  68. %prep
  69. %setup -q -n pure-ftpd-%{version}
  70. %build
  71. CC="%{l_cc}" \
  72. CFLAGS="%{l_cflags -O}" \
  73. LDFLAGS="%{l_fsl_ldflags}" \
  74. LIBS="%{l_fsl_libs}" \
  75. %if "%{with_pam}" == "yes"
  76. CPPFLAGS="-I`%{l_prefix}/etc/rc --query pam_incdir`" \
  77. LDFLAGS="-L`%{l_prefix}/etc/rc --query pam_libdir` ${LDFLAGS}" \
  78. %endif
  79. ./configure \
  80. --prefix=%{l_prefix} \
  81. --sysconfdir=%{l_prefix}/etc/pureftpd \
  82. --without-inetd \
  83. --without-humor \
  84. --without-cookie \
  85. --without-welcomemsg \
  86. %if "%{with_pam}" == "yes"
  87. --with-pam \
  88. %endif
  89. --with-ftpwho \
  90. --with-virtualhosts \
  91. --with-language=english
  92. %{l_make} %{l_mflags -O}
  93. %install
  94. rm -rf $RPM_BUILD_ROOT
  95. %{l_shtool} mkdir -f -p -m 755 \
  96. $RPM_BUILD_ROOT%{l_prefix}/var/pureftpd \
  97. $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d
  98. %{l_make} %{l_mflags} install AM_MAKEFLAGS="DESTDIR=$RPM_BUILD_ROOT"
  99. strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true
  100. strip $RPM_BUILD_ROOT%{l_prefix}/sbin/* >/dev/null 2>&1 || true
  101. # install run-command script
  102. %{l_shtool} mkdir -f -p -m 755 \
  103. $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d
  104. %{l_shtool} install -c -m 755 \
  105. -e 's;@l_prefix@;%{l_prefix};g' \
  106. -e 's;@l_susr@;%{l_susr};g' \
  107. -e 's;@l_rusr@;%{l_rusr};g' \
  108. -e 's;@l_rgrp@;%{l_rgrp};g' \
  109. %{SOURCE rc.pureftpd} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/
  110. # install OSSP fsl configuration
  111. %{l_shtool} mkdir -f -p -m 755 $RPM_BUILD_ROOT%{l_prefix}/etc/fsl
  112. %{l_shtool} install -c -m 644 \
  113. -e 's;@l_prefix@;%{l_prefix};g' \
  114. %{SOURCE fsl.pureftpd} \
  115. $RPM_BUILD_ROOT%{l_prefix}/etc/fsl/
  116. # determine installation files
  117. %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \
  118. %{l_files_std} \
  119. '%not %dir %{l_prefix}/etc/fsl' \
  120. '%config %{l_prefix}/etc/fsl/fsl.pureftpd'
  121. %files -f files
  122. %clean
  123. rm -rf $RPM_BUILD_ROOT
  124. %post
  125. %if "%{with_pam}" == "yes"
  126. # add PAM configuration entry
  127. if [ $1 -eq 1 ]; then
  128. $RPM_INSTALL_PREFIX/sbin/pamtool --add --smart --name=pureftpd
  129. fi
  130. %endif
  131. %preun
  132. %if "%{with_pam}" == "yes"
  133. # remove PAM configuration entry
  134. if [ $1 -eq 0 ]; then
  135. $RPM_INSTALL_PREFIX/sbin/pamtool --remove --smart --name=pureftpd
  136. fi
  137. %endif