Kaynağa Gözat

upgrade to PAM package and make PAM optional

master
Dr. Ralf S. Engelschall 24 yıl önce
ebeveyn
işleme
145af394ec
  1. 53
      proftpd/proftpd.spec

53
proftpd/proftpd.spec

@ -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

Yükleniyor…
İptal
Kaydet