# $Header: /magellan-cvs/smage/vsftpd/vsftpd-2.0.6-r1.smage2,v 1.1 2008/04/20 23:09:20 niro Exp $ PNAME="vsftpd" PVER="2.0.6" PBUILD="r1" PCATEGORIE="net-ftp" STATE="unstable" DESCRIPTION="Probably the most secure and fastest FTP server for UNIX-like systems." HOMEPAGE="http://vsftpd.beasts.org/" DEPEND=">= virtual/glibc >= dev-libs/openssl-0.9.8 >= sys-libs/pam-0.99 >= sys-apps/tcp-wrappers-7 >= sys-apps/inetutils-1.5 >= sys-libs/libcap-1.1" SDEPEND=">= sys-apps/sed-4" SRCFILE="${PNAME}-${PVER}.tar.gz" SRCDIR="${BUILDDIR}/${PNAME}-${PVER}" sminclude mtools SRC_URI=( ftp://vsftpd.beasts.org/users/cevans/${SRCFILE} mirror://${PNAME}/${SRCFILE} mirror://${PNAME}/vsftpd.conf mirror://${PNAME}/ftpusers mirror://${PNAME}/vsftpd.pam mirror://${PNAME}/vsftpd.rc ) # secure_chroot_dir --> /var/empty src_prepare() { munpack ${SRCFILE} || die cd ${SRCDIR} # setup builddefs.h echo '#ifndef VSF_BUILDDEFS_H' > ${SRCDIR}/builddefs.h || die echo '#define VSF_BUILDDEFS_H' >> ${SRCDIR}/builddefs.h || die # enable tcpwrappers support echo '#define VSF_BUILD_TCPWRAPPERS' >> ${SRCDIR}/builddefs.h || die # enable pam support echo '#define VSF_BUILD_PAM' >> ${SRCDIR}/builddefs.h || die # enable ssl support echo '#define VSF_BUILD_SSL' >> ${SRCDIR}/builddefs.h || die # eof builddefs.h echo '#endif /* VSF_BUILDDEFS_H */' >> ${SRCDIR}/builddefs.h || die # make use of our CFLAGS sed -i "s:-02:${CFLAGS}:g" Makefile || die # # do not link against libpcap # sed -i '/^#define VSF_SYSDEP_HAVE_LIBCAP$/ d' ${SRCDIR}/sysdeputil.c || die # sed -i '/libcap/ d' ${SRCDIR}/vsf_findlibs.sh || die # fix linking issues on 64bit arches if [[ $(mlibdir) != lib ]] then sed -i "s:/lib/:/$(mlibdir)/:g" ${SRCDIR}/vsf_findlibs.sh || die fi } src_compile() { cd ${SRCDIR} mmake || die } src_install() { cd ${SRCDIR} # needed directories minstalldir /usr/sbin || die # install bins minstallexec vsftpd /usr/sbin || die # conf files minstalletc vsftpd.conf vsftpd.conf.example || die minstalletc ftpusers || die # setup pam minstallpam vsftpd.pam vsftpd || die # install init-script minstallrc vsftpd.rc vsftpd || die # mark this uninstallable mkeepdir /usr/share/empty || die # install man minstallman vsftpd.conf.5 || die minstallman vsftpd.8 || die # install docs minstalldocs AUDIT BENCHMARKS BUGS COPYING COPYRIGHT \ Changelog FAQ LICENSE README* REFS \ REWARD SIZE SPEED TODO TUNING \ || die } postinstall() { ${MLIBDIR}/mgroupadd -o "-g 65534" nobody ${MLIBDIR}/museradd -o "-u 65534 -g nobody -d / -s /bin/false" nobody ${MLIBDIR}/mgroupadd -o "-g 21" ftp ${MLIBDIR}/museradd -o "-u 21 -g ftp -d /home/ftp -s /bin/false" ftp if [ ! -d ${MROOT}/home/ftp ] then # vsftpd won't run if this dir is writeable install -o root -g root -d ${MROOT}/home/ftp fi mstartservice vsftpd } postremove() { mstopservice vsftpd }