|
|
@@ -23,6 +23,11 @@
|
|
|
## SUCH DAMAGE.
|
|
|
##
|
|
|
|
|
|
+# package options
|
|
|
+%ifndef with_pam
|
|
|
+%define with_pam yes
|
|
|
+%endif
|
|
|
+
|
|
|
# package information
|
|
|
Name: proftpd
|
|
|
Summary: Professional FTP Daemon
|
|
|
@@ -33,7 +38,7 @@ Distribution: OpenPKG [REL]
|
|
|
Group: FTP
|
|
|
License: GPL
|
|
|
Version: 1.2.4
|
|
|
-Release: 20020301
|
|
|
+Release: 20020312
|
|
|
|
|
|
# list of sources
|
|
|
Source0: ftp://ftp.proftpd.net/distrib/proftpd-%{version}.tar.bz2
|
|
|
@@ -48,6 +53,10 @@ Prefix: %{l_prefix}
|
|
|
BuildRoot: %{l_buildroot}
|
|
|
BuildPreReq: OpenPKG, openpkg >= 20020206, make
|
|
|
PreReq: OpenPKG, openpkg >= 20020206
|
|
|
+%if "%{with_pam}" == "yes"
|
|
|
+BuildPreReq: PAM
|
|
|
+PreReq: PAM
|
|
|
+%endif
|
|
|
AutoReq: no
|
|
|
AutoReqProv: no
|
|
|
|
|
|
@@ -85,7 +94,9 @@ AutoReqProv: no
|
|
|
--sysconfdir=%{l_prefix}/etc/proftpd \
|
|
|
--localstatedir=%{l_prefix}/var/proftpd \
|
|
|
--with-modules=mod_ratio:mod_readme \
|
|
|
+%if "%{with_pam}" == "yes"
|
|
|
--enable-pam
|
|
|
+%endif
|
|
|
|
|
|
# build ProFTPd programs
|
|
|
%{l_make} %{l_mflags -O}
|
|
|
@@ -150,43 +161,21 @@ AutoReqProv: no
|
|
|
rm -rf $RPM_BUILD_ROOT
|
|
|
|
|
|
%post
|
|
|
+%if "%{with_pam}" == "yes"
|
|
|
# add PAM configuration entry
|
|
|
- check=`grep '^#<OpenPKG pkg=proftpd>' /etc/pam.conf`
|
|
|
- if [ ".$check" = . ]; then
|
|
|
- ( echo "#<OpenPKG pkg=proftpd>"
|
|
|
- case "%{l_target}" in
|
|
|
- *-freebsd* )
|
|
|
- echo "proftpd auth sufficient pam_skey.so"
|
|
|
- echo "proftpd auth required pam_unix.so try_first_pass"
|
|
|
- echo "proftpd account required pam_unix.so try_first_pass"
|
|
|
- echo "proftpd session required pam_permit.so"
|
|
|
- ;;
|
|
|
- *-linux* )
|
|
|
- echo "proftpd auth required /lib/security/pam_unix.so shadow nodelay"
|
|
|
- echo "proftpd auth required /lib/security/pam_nologin.so"
|
|
|
- echo "proftpd account required /lib/security/pam_unix.so"
|
|
|
- echo "proftpd session required /lib/security/pam_unix.so"
|
|
|
- ;;
|
|
|
- *-solaris* )
|
|
|
- echo "proftpd auth required /usr/lib/security/pam_unix.so try_first_pass"
|
|
|
- echo "proftpd account required /usr/lib/security/pam_unix.so try_first_pass"
|
|
|
- echo "proftpd session required /usr/lib/security/pam_unix.so"
|
|
|
- ;;
|
|
|
- esac
|
|
|
- echo "#</OpenPKG>"
|
|
|
- ) >>/etc/pam.conf
|
|
|
+ if [ $1 -eq 1 ]; then
|
|
|
+ $RPM_INSTALL_PREFIX/sbin/pamtool -a -s -n "proftpd"
|
|
|
fi
|
|
|
+%endif
|
|
|
|
|
|
%preun
|
|
|
+%if "%{with_pam}" == "yes"
|
|
|
# remove PAM configuration entry
|
|
|
if [ $1 -eq 0 ]; then
|
|
|
- check=`grep '^#<OpenPKG pkg=proftpd>' /etc/pam.conf`
|
|
|
- if [ ".$check" != . ]; then
|
|
|
- cp /etc/pam.conf /etc/pam.conf.tmp && \
|
|
|
- sed -e '/^#<OpenPKG pkg=proftpd>/,/^#<\/OpenPKG>/d' \
|
|
|
- </etc/pam.conf.tmp >/etc/pam.conf && \
|
|
|
- rm -f /etc/pam.conf.tmp
|
|
|
- fi
|
|
|
+ $RPM_INSTALL_PREFIX/sbin/pamtool -r -s -n "proftpd"
|
|
|
+ fi
|
|
|
+%endif
|
|
|
+ if [ $1 -eq 0 ]; then
|
|
|
$RPM_INSTALL_PREFIX/etc/rc proftpd stop
|
|
|
rm -f $RPM_INSTALL_PREFIX/var/proftpd/*.log
|
|
|
rm -f $RPM_INSTALL_PREFIX/var/proftpd/*.pid
|