# $Id$ PNAME="proftpd" PVER="1.3.3" PBUILD="r3" PCATEGORIE="net-ftp" STATE="unstable" #DESCRIPTION="Highly configurable GPL-licensed FTP server software." HOMEPAGE="http://proftpd.org/" SDEPEND=">= sys-libs/ncurses-5.7 >= sys-libs/pam-1.1 >= sys-libs/libcap-2.17 >= dev-libs/openssl-0.9.8k >= sys-apps/tcp-wrappers-7.6 >= sys-apps/acl-2.2 >= sys-apps/attr-2.4 >= net-nds/openldap-2.4.19 >= dev-db/mysql5-5.1.40 >= sys-dev/gettext-0.17" SRCFILE="${PNAME}-${PVER}.tar.bz2" SRCDIR="${BUILDDIR}/${PNAME}-${PVER}" SPLIT_PACKAGES="${PNAME} ${PNAME}-mysql ${PNAME}-ldap" MODULES_CVS_REV=1.5 RC_CVS_REV=1.3 sminclude mbuild mtools cleanutils SRC_URI=( ftp://ftp.proftpd.org/distrib/source/${SRCFILE} mirror://${PNAME}/${SRCFILE} mirror://${PNAME}/${PNAME}-${PVER}-config.patch mirror://${PNAME}/${PNAME}-${PVER}-config-pam.patch mirror://${PNAME}/${PNAME}-${PVER}-config-tls.patch mirror://${PNAME}/${PNAME}-${PVER}-config-tls-cosmetic.patch mirror://${PNAME}/${PNAME}-${PVER}-config-ban.patch mirror://${PNAME}/${PNAME}-${PVER}-config-ldap.patch mirror://${PNAME}/${PNAME}-${PVER}-config-anonymous.patch mirror://${PNAME}/${PNAME}-1.3.0a-cracklib.patch mirror://${PNAME}/ftpusers mirror://${PNAME}/modules.conf-${MODULES_CVS_REV} mirror://${PNAME}/proftpd.rc-${RC_CVS_REV} mirror://${PNAME}/proftpd.confd mirror://${PNAME}/proftpd.pam mirror://${PNAME}/proftpd.logrotate ) UP2DATE="updatecmd -listonly ftp://ftp.proftpd.org/distrib/source/ | grep -v 'rc[0-9]' | lasttarball" split_info_proftpd() { DESCRIPTION="Highly configurable GPL-licensed FTP server software." DEPEND=">= sys-libs/ncurses-5.7 >= sys-libs/pam-1.1 >= sys-libs/libcap-2.17 >= dev-libs/openssl-0.9.8k >= sys-apps/tcp-wrappers-7.6 >= sys-apps/acl-2.2 >= sys-apps/attr-2.4" preinstall() { # adding proftpd user ${MLIBDIR}/mgroupadd -o "-g 82" proftpd ${MLIBDIR}/museradd -o "-u 82 -g proftpd -d /dev/null -s /bin/false" proftpd } postinstall() { mstartservice proftpd } postremove() { mstopservice proftpd } } split_info_proftpd-mysql() { DESCRIPTION="Module to add MySQL support to the ProFTPD FTP server." DEPEND=">= dev-db/mysql5-5.1.40" } split_info_proftpd-ldap() { DESCRIPTION="Module to add LDAP support to the ProFTPD FTP server." DEPEND=">= net-nds/openldap-2.4.19" } src_prepare() { munpack ${SRCFILE} || die cd ${SRCDIR} # adjust configs to match magellan mpatch ${PNAME}-${PVER}-config.patch || die # enable pam support mpatch ${PNAME}-${PVER}-config-pam.patch || die # enable tls support mpatch ${PNAME}-${PVER}-config-tls.patch || die # fix tls description mpatch ${PNAME}-${PVER}-config-tls-cosmetic.patch || die # enable ban-list support mpatch ${PNAME}-${PVER}-config-ban.patch || die # enable ldap support mpatch ${PNAME}-${PVER}-config-ldap.patch || die # enable anonymous support mpatch ${PNAME}-${PVER}-config-anonymous.patch || die # fix cracklib location in ftpasswd mpatch ${PNAME}-1.3.0a-cracklib.patch || die } src_compile() { cd ${SRCDIR} # ToDO: postgres # the modules.conf must be fixed to # LoadModule mod_sql_postgres.c # new: mod_ban, mod_lang, mod_quotatab_radius, mod_wrap2, mod_wrap2_file, mod_wrap2_sql # mod_facl, mod_ldap, mod_sql, mod_sql_passwd, mod_sql_mysql, mod_sftp, mod_sftp_pam, # mod_sftp_sql, mod_quotatab_ldap, mod_quotatab_radius, mod_quotatab_sql, mod_tls_shmchache local dso_modules="mod_ratio:mod_radius:mod_rewrite:mod_tls:mod_wrap:mod_quotatab" dso_modules+=":mod_quotatab_file:mod_site_misc:mod_ctrls_admin" # the new ones dso_modules+=":mod_ban:mod_wrap2:mod_wrap2_file" dso_modules+=":mod_sftp:mod_sftp_pam:mod_shaper" dso_modules+=":mod_quotatab_radius:mod_tls_shmcache" # mysql dso_modules+=":mod_sql:mod_sql_passwd:mod_sql_mysql:mod_sftp_sql:mod_quotatab_sql" # ldap dso_modules+=":mod_ldap:mod_quotatab_ldap" # acl dso_modules+=":mod_facl" # must be the last one, see: http://www16.de.proftpd.org/docs/contrib/mod_ifsession.html#Installation dso_modules+=":mod_ifsession" # non shared modules local modules="mod_auth_pam:mod_readme" mconfigure \ --sysconfdir=/etc/proftpd \ --localstatedir=/var/run/proftpd \ --libexecdir=/usr/$(mlibdir)/proftpd \ --enable-shadow \ --enable-autoshadow \ --enable-auth-pam \ --enable-nls \ --enable-ncurses \ --enable-shadow \ --enable-autoshadow \ --enable-sendfile \ --enable-ctrls \ --enable-dso \ --enable-ipv6 \ --enable-openssl \ --with-includes=/usr/include/openssl \ --with-includes=/usr/include/mysql \ --enable-cap \ --enable-facl \ --enable-auth-file \ --with-modules=${modules} \ --with-shared=${dso_modules} \ || die mmake -j1 || die } src_install_proftpd() { cd ${SRCDIR} mmake DESTDIR=${BINDIR} install || die # install ftpuser blacklist minstalletc ftpusers || die # install modules.conf minstallfile -s modules.conf-${MODULES_CVS_REV} /etc/proftpd/modules.conf || die sed -i "s:@@modulepath@@:/usr/$(mlibdir)/proftpd:g" \ ${BINDIR}/etc/proftpd/modules.conf || die # install pam config minstallpam proftpd.pam proftpd || die # install initscript minstallrc proftpd.rc-${RC_CVS_REV} proftpd || die # install rc config minstallconf proftpd.confd proftpd || die # install logrotate config minstalllog proftpd.logrotate proftpd || die mkeepdir /var/run/proftpd || die mkeepdir /var/log/proftpd || die minstalldocs ChangeLog COPYING CREDITS NEWS README* RELEASE_NOTES || die minstalldocs doc/license.txt sample-configurations/*.conf || die # remove modules packaged in other split-packages rm ${BINDIR}/usr/$(mlibdir)/proftpd/mod_ldap.{a,la,so} || die rm ${BINDIR}/usr/$(mlibdir)/proftpd/mod_quotatab_ldap.{a,la,so} || die rm ${BINDIR}/usr/$(mlibdir)/proftpd/mod_sql.{a,la,so} || die rm ${BINDIR}/usr/$(mlibdir)/proftpd/mod_sql_mysql.{a,la,so} || die rm ${BINDIR}/usr/$(mlibdir)/proftpd/mod_sql_passwd.{a,la,so} || die rm ${BINDIR}/usr/$(mlibdir)/proftpd/mod_quotatab_sql.{a,la,so} || die rm ${BINDIR}/usr/$(mlibdir)/proftpd/mod_sftp_sql.{a,la,so} || die } src_install_proftpd-mysql() { cd ${SRCDIR} mmake DESTDIR=${BINDIR} install-modules || die # remove all other modules but mysql zapmost ${BINDIR}/usr/$(mlibdir)/proftpd \ mod_quotatab_ldap.* \ mod_sql.* \ mod_sql_mysql.* \ mod_sql_passwd.* \ mod_quotatab_sql.* \ mod_sftp_sql.* \ || die rm -r ${BINDIR}/etc || die } src_install_proftpd-ldap() { cd ${SRCDIR} mmake DESTDIR=${BINDIR} install-modules || die # remove all other modules but ldap zapmost ${BINDIR}/usr/$(mlibdir)/proftpd mod_ldap.* || die rm -r ${BINDIR}/etc || die }