From b095ef8abf3175b440ed5660630dd081e04d5df7 Mon Sep 17 00:00:00 2001 From: mm Date: Thu, 26 Jan 2012 09:33:05 +0000 Subject: Update to 1.3.4a Switch to using dynamic modules Autosellect required modules instead of exiting with IGNORE Add slave port infrastructure for building individual modules --- ftp/proftpd/Makefile | 490 +++++++++++++++++-------- ftp/proftpd/distinfo | 4 +- ftp/proftpd/files/patch-contrib-mod_ban.c | 10 - ftp/proftpd/files/patch-contrib-mod_sftp-scp.c | 11 - ftp/proftpd/files/patch-contrib-mod_tls.c | 10 - ftp/proftpd/pkg-plist | 149 +++++++- 6 files changed, 474 insertions(+), 200 deletions(-) delete mode 100644 ftp/proftpd/files/patch-contrib-mod_ban.c delete mode 100644 ftp/proftpd/files/patch-contrib-mod_sftp-scp.c delete mode 100644 ftp/proftpd/files/patch-contrib-mod_tls.c (limited to 'ftp/proftpd') diff --git a/ftp/proftpd/Makefile b/ftp/proftpd/Makefile index 390bfeedb254..96bdc7e80ca5 100644 --- a/ftp/proftpd/Makefile +++ b/ftp/proftpd/Makefile @@ -5,9 +5,8 @@ # $FreeBSD$ # -PORTNAME= proftpd -PORTVERSION= 1.3.3g -PORTREVISION= 2 +PORTNAME?= proftpd +PORTVERSION?= 1.3.4a CATEGORIES?= ftp MASTER_SITES= ftp://ftp.proftpd.org/distrib/source/ \ ftp://ftp.fastorama.com/mirrors/ftp.proftpd.org/distrib/source/ \ @@ -23,77 +22,101 @@ DISTFILES= ${DISTNAME}${EXTRACT_SUFX} EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX} MAINTAINER?= mm@FreeBSD.org -COMMENT?= Highly configurable ftp daemon +COMMENT?= Highly configurable FTP daemon -LICENSE= GPLv2 -LICENSE_FILE= ${WRKSRC}/COPYING +LICENSE?= GPLv2 +LICENSE_FILE?= ${WRKSRC}/COPYING -MAN1= ftpcount.1 ftpwho.1 ftptop.1 +.if defined(_PROFTPD_MODULE) +_BUILDING_PROFTPD_MODULE= yes +DISTNAME= proftpd-${PORTVERSION} +.endif + +.if !defined(_BUILDING_PROFTPD_MODULE) +MAN1= ftpcount.1 ftpmail.1 ftpasswd.1 ftpquota.1 ftpwho.1 ftptop.1 MAN5= xferlog.5 MAN8= proftpd.8 ftpscrub.8 ftpshut.8 ftpdctl.8 -MAKE_JOBS_UNSAFE= yes PORTDOCS= * +.endif +MAKE_JOBS_UNSAFE= yes USE_GMAKE= yes USE_BZIP2= yes USE_AUTOTOOLS= autoconf GNU_CONFIGURE= yes -CONFLICTS= proftpd-devel-1.[0-9].* - +.if !defined(_BUILDING_PROFTPD_MODULE) USE_RC_SUBR= proftpd +.else +RUN_DEPENDS= ${LOCALBASE}/sbin/proftpd:${PORTSDIR}/ftp/proftpd +.endif LOCALSTATEDIR?= /var/run -CONFIGURE_ARGS= --localstatedir=${LOCALSTATEDIR} \ +CONFIGURE_ARGS=--localstatedir=${LOCALSTATEDIR} \ + --libexecdir=${PREFIX}/libexec/proftpd \ --with-pkgconfig=libdata/pkgconfig \ --sysconfdir=${PREFIX}/etc \ --enable-dso \ --disable-sendfile +.if defined(_BUILDING_PROFTPD_MODULE) +CONFIGURE_ARGS+= --with-shared=${_PROFTPD_MODULE} +INCLUDEDIRS:=${INCLUDEDIRS}:${WRKSRC}:${WRKSRC}/include +ALL_TARGET= shared +BUILD_WRKSRC= ${WRKSRC}/modules +INSTALL_WRKSRC= ${WRKSRC}/modules +PLIST= ${WRKDIR}/PLIST +PLIST_FILES+= libexec/proftpd/${_PROFTPD_MODULE}.a \ + libexec/proftpd/${_PROFTPD_MODULE}.la \ + libexec/proftpd/${_PROFTPD_MODULE}.so +PLIST_DIRSTRY+= libexec/proftpd +.else OPTIONS= BAN "Include mod_ban (requires CTRLS)" off \ + COPY "Include mod_copy" on \ CLAMAV "Include mod_clamav" off \ - CTRLS "Include controls" off \ + CTRLS "Enable controls via ftpdctl" on \ + CTRLS_ADMIN "Include mod_ctrls_admin (requires CTRLS)" off \ + DEFLATE "Include mod_deflate" on \ DYNMASQ "Include mod_dynmasq" off \ EXEC "Include mod_exec" off \ HTMLDOCS "Include HTML documentation" off \ IFSESSION "Include mod_ifsession" on \ - IPV6 "Use IPv6" on \ - LDAP "Use LDAP" off \ - LDAP_TLS "Use LDAP TLS (requires LDAP, OPENSSL)" off - -# Set the MYSQL option based upon the setting from the -# slave port (ftp/proftpd-mysql). -.if defined(WITH_MYSQL) -OPTIONS+= MYSQL "MySQL auth" on -.else -OPTIONS+= MYSQL "MySQL auth" off -.endif - -OPTIONS+= NLS "Use nls (builds mod_lang)" on \ - ODBC "ODBC" off \ - OPENSSL "Include mod_tls" on \ - PGSQL "Postgres auth" off \ - QUOTA "Include mod_quota" off \ - QUOTATAB_RADIUS "include mod_quotatab_radius" off \ - SHAPER "Shaper module (requires CTRLS)" off \ - SQLITE "SQLite auth" off \ + IFVERSION "Include mod_ifversion" on \ + IPV6 "Support IPv6" on \ + LDAP "Include mod_ldap" off \ + LDAP_TLS "TLS for mod_ldap (requires LDAP, TLS)" off \ + MEMCACHE "Include mod_memcache" off \ + NLS "Use nls (builds mod_lang)" on \ + ODBC "Include mod_sql_odbc (requires SQL)" off \ + PCRE "Use pcre for regular expressions" on \ + QOS "Include mod_qos" off \ + QUOTATAB "Include mod_quotatab" on \ + QUOTATAB_FILE "Include mod_quotatab_file" on \ + QUOTATAB_LDAP "Include mod_quotatab_ldap (requires LDAP)" off \ + QUOTATAB_SQL "Include mod_quotatab_sql (requires SQL)" on \ + QUOTATAB_RADIUS "Include mod_quotatab_radius" off \ + SFTP "Include mod_sftp" on \ + SFTP_SQL "Include mod_sftp_sql (requires SFTP, SQL)" off \ + SFTP_PAM "Include mod_sftp_pam (requires SFTP)" off \ + SITE_MISC "Include mod_site_misc" off \ + SHAPER "Include mod_shaper (requires CTRLS)" off \ + SQL "Include mod_sql" on \ + SQL_PASSWD "Include mod_sql_passwd (requires SQL)" off \ + SQLITE "Include mod_sql_sqlite (requires SQL)" off \ RADIUS "Include mod_radius" on \ RATIO "Include mod_ratio" on \ README "Include mod_readme" on \ REWRITE "Include mod_rewrite" on \ - TLS_SHMCACHE "TLS SHM session cache (requires OPENSSL)" off \ - TDS "Include mod_sql_tds" off \ - SFTP "Include mod_sftp" off\ - SFTP_SQL "Include mod_sftp_sql" off \ - SFTP_PAM "Include mod_sftp_pam" off \ - SITE_MISC "Include mod_site_misc" off \ - SQL_PASSWD "Include mod_sql_passwd" off \ + TLS "Include mod_tls" on \ + TLS_MEMCACHE "mod_tls_memcache (requires MEMCACHE)" off \ + TLS_SHMCACHE "TLS SHM session cache (requires TLS)" off \ + TDS "Include mod_sql_tds (requires SQL)" off \ UNIQUE "Include mod_unique_id" off \ WRAP "Include mod_wrap2" on \ WRAP_FILE "Include mod_wrap2_file (requires WRAP)" off \ - WRAP_SQL "Include mod_wrap2_sql (requires WRAP)" off + WRAP_SQL "Include mod_wrap2_sql (requires SQL, WRAP)" off MODULES?= LIBDIRS?= @@ -101,8 +124,12 @@ INCLUDEDIRS?= PLIST_SUB+= LOCALSTATEDIR="${LOCALSTATEDIR}" +.endif #!defined(_BUILDING_PROFTPD_MODULE) + .include +.if !defined(_BUILDING_PROFTPD_MODULE) + # FreeBSD-SA-11:07.chroot .if ${OSVERSION} < 800000 CHROOT_TEST != ${GREP} __FreeBSD_libc_enter_restricted_mode \ @@ -116,82 +143,186 @@ EXTRA_PATCHES+= ${FILESDIR}/extra-patch-8-src-fsio.c .endif .if ${ARCH} == "sparc64" && ${OSVERSION} > 900000 -BROKEN= Does not compile on sparc64-9: storage size of 'utx' isn't known +BROKEN= Does not compile on sparc64-9: storage size of 'utx' isn't known .endif .if !defined(WITHOUT_RATIO) MODULES:=${MODULES}:mod_ratio +PLIST_SUB+= MOD_RATIO="" +.else +PLIST_SUB+= MOD_RATIO="@comment " .endif .if !defined(WITHOUT_README) MODULES:=${MODULES}:mod_readme +PLIST_SUB+= MOD_README="" +.else +PLIST_SUB+= MOD_README="@comment " .endif .if !defined(WITHOUT_REWRITE) MODULES:=${MODULES}:mod_rewrite -.endif - -.if !defined(WITHOUT_WRAP) -MODULES:=${MODULES}:mod_wrap2 -INCLUDEDIRS:=${INCLUDEDIRS}:${WORKDIR}/include -LIBDIRS:=${LIBDIRS}:${LOCALBASE}/lib -PLIST_SUB+= WRAP="" +PLIST_SUB+= MOD_REWRITE="" .else -PLIST_SUB+= WRAP="@comment " -.endif - -.if ( defined(WITH_WRAP_FILE) || defined(WITH_WRAP_SQL) ) && defined(WITHOUT_WRAP) -IGNORE= options WRAP_FILE and WRAP_FILE_SQL require WRAP +PLIST_SUB+= MOD_REWRITE="@comment " .endif .if defined(WITH_WRAP_FILE) +AUTOSELECT_WRAP= yes INCLUDEDIRS:=${INCLUDEDIRS}:${LOCALBASE}/include LIBDIRS:=${LIBDIRS}:${LOCALBASE}/lib MODULES:=${MODULES}:mod_wrap2_file +PLIST_SUB+= MOD_WRAP_FILE=" +.else +PLIST_SUB+= MOD_WRAP_FILE="@comment " .endif .if defined(WITH_WRAP_SQL) +AUTOSELECT_SQL= yes +AUTOSELECT_WRAP= yes INCLUDEDIRS:=${INCLUDEDIRS}:${LOCALBASE}/include LIBDIRS:=${LIBDIRS}:${LOCALBASE}/lib MODULES:=${MODULES}:mod_wrap2_sql +PLIST_SUB+= MOD_WRAP_SQL="" +.else +PLIST_SUB+= MOD_WRAP_SQL="@comment " +.endif + +.if defined(WITH_BAN) +AUTOSELECT_CTRLS= yes +MODULES:=${MODULES}:mod_ban +PLIST_SUB+= MOD_BAN="" +.else +PLIST_SUB+= MOD_BAN="@comment " +.endif + +.if !defined(WITHOUT_COPY) +MODULES:=${MODULES}:mod_copy +PLIST_SUB+= MOD_COPY="" +.else +PLIST_SUB+= MOD_COPY="@comment " +.endif + +.if defined(WITH_CTRLS_ADMIN) +AUTOSELECT_CTRLS= yes +MODULES:=${MODULES}:mod_ctrls_admin +PLIST_SUB+= MOD_CTRLS_ADMIN="" +.else +PLIST_SUB+= MOD_CTRLS_ADMIN="@comment " +.endif + +.if !defined(WITHOUT_DEFLATE) +MODULES:=${MODULES}:mod_deflate +PLIST_SUB+= MOD_DEFLATE="" +.else +PLIST_SUB+= MOD_DEFLATE="@comment " .endif .if defined(WITH_DYNMASQ) MODULES:=${MODULES}:mod_dynmasq +PLIST_SUB+= MOD_DYNMASQ="" +.else +PLIST_SUB+= MOD_DYNMASQ="@comment " .endif .if defined(WITH_EXEC) MODULES:=${MODULES}:mod_exec +PLIST_SUB+= MOD_EXEC="" +.else +PLIST_SUB+= MOD_EXEC="@comment " .endif -.if defined(WITH_RADIUS) +.if !defined(WITHOUT_IFSESSION) +MODULES:=${MODULES}:mod_ifsession +PLIST_SUB+= MOD_IFSESSION="" +.else +PLIST_SUB+= MOD_IFSESSION="@comment " +.endif + +.if !defined(WITHOUT_IFVERSION) +MODULES:=${MODULES}:mod_ifversion +PLIST_SUB+= MOD_IFVERSION="" +.else +PLIST_SUB+= MOD_IFVERSION="@comment " +.endif + +.if defined(WITH_TLS_MEMCACHE) +AUTOSELECT_MEMCACHE= yes +AUTOSELECT_TLS= yes +MODULES:=${MODULES}:mod_tls_memcache +PLIST_SUB+= MOD_TLS_MEMCACHE="" +.else +PLIST_SUB+= MOD_TLS_MEMCACHE="@comment " +.endif + +.if !defined(WITHOUT_RADIUS) MODULES:=${MODULES}:mod_radius +PLIST_SUB+= MOD_RADIUS="" +.else +PLIST_SUB+= MOD_RADIUS="@comment " .endif -.if defined(WITH_SHAPER) -.if !defined(WITH_CTRLS) -IGNORE= option BAN requires CTRLS +.if defined(WITH_QOS) +MODULES:=${MODULES}:mod_qos +PLIST_SUB+= MOD_QOS="" +.else +PLIST_SUB+= MOD_QOS="@comment " .endif -MODULES:=${MODULES}:mod_shaper + +.if !defined(WITHOUT_QUOTATAB_FILE) +AUTOSELECT_QUOTATAB= yes +MODULES:=${MODULES}:mod_quotatab_file +PLIST_SUB+= MOD_QUOTATAB_FILE="" +.else +PLIST_SUB+= MOD_QUOTATAB_FILE="@comment " .endif -.if defined(WITH_SITE_MISC) -MODULES:=${MODULES}:mod_site_misc +.if defined(WITH_QUOTATAB_LDAP) +AUTOSELECT_QUOTATAB= yes +AUTOSELECT_LDAP= yes +MODULES:=${MODULES}:mod_quotatab_ldap +PLIST_SUB+= MOD_QUOTATAB_LDAP="" +.else +PLIST_SUB+= MOD_QUOTATAB_LDAP="@comment " .endif .if defined(WITH_QUOTATAB_RADIUS) +AUTOSELECT_QUOTATAB= yes MODULES:=${MODULES}:mod_quotatab_radius +PLIST_SUB+= MOD_QUOTATAB_RADIUS="" +.else +PLIST_SUB+= MOD_QUOTATAB_RADIUS="@comment " .endif -.if defined(WITH_BAN) -.if !defined(WITH_CTRLS) -IGNORE= option BAN requires CTRLS +.if !defined(WITHOUT_QUOTATAB_SQL) +AUTOSELECT_QUOTATAB= yes +AUTOSELECT_SQL= yes +MODULES:=${MODULES}:mod_quotatab_sql +PLIST_SUB+= MOD_QUOTATAB_SQL="" +.else +PLIST_SUB+= MOD_QUOTATAB_SQL="@comment " .endif -MODULES:=${MODULES}:mod_ban + +.if defined(WITH_SHAPER) +AUTOSELECT_CTRLS= yes +MODULES:=${MODULES}:mod_shaper +PLIST_SUB+= MOD_SHAPER="" +.else +PLIST_SUB+= MOD_SHAPER="@comment " +.endif + +.if defined(WITH_SITE_MISC) +MODULES:=${MODULES}:mod_site_misc +PLIST_SUB+= MOD_SITE_MISC="" +.else +PLIST_SUB+= MOD_SITE_MISC="@comment " .endif .if defined(WITH_UNIQUE) MODULES:=${MODULES}:mod_unique_id +PLIST_SUB+= MOD_UNIQUE="" +.else +PLIST_SUB+= MOD_UNIQUE="@comment " .endif .if defined(WITH_SETPASSENT) @@ -219,116 +350,76 @@ PLIST_SUB+= NLS="" PLIST_SUB+= NLS="@comment " .endif -#allow user to override -MODULES?= mod_ratio:mod_readme:mod_rewrite:mod_wrap2:mod_ifsession:mod_lang - -INCLUDEDIRS?= -LIBDIRS?= +.if !defined(WITHOUT_PCRE) +LIB_DEPENDS+= pcre.0:${PORTSDIR}/devel/pcre +CONFIGURE_ARGS+= --enable-pcre +.else +CONFIGURE_ARGS+= --disable-pcre +.endif .if defined(WITH_LDAP) +. if defined(WITH_LDAP_TLS) +AUTOSELECT_TLS= yes +. endif USE_OPENLDAP= yes MODULES:=${MODULES}:mod_ldap INCLUDEDIRS:=${INCLUDEDIRS}:${LOCALBASE}/include LIBDIRS:=${LIBDIRS}:${LOCALBASE}/lib -.endif - -# LDAP_TLS and TLS_SHMCACHE require OPENSSL -.if ( defined(WITH_LDAP_TLS) || defined(WITH_TLS_SHMCACHE) ) && !defined(WITH_OPENSSL) -IGNORE= options LDAP_TLS and TLS_SHMCACHE require OPENSSL -.endif - -# MYSQL, PGSQL, SQLITE, ODBC, TDS, SFTP_SQL and SQL_PASSWD require mod_sql -.if defined(WITH_MYSQL) || defined(WITH_PGSQL) || \ -defined(WITH_SQLITE) || defined(WITH_ODBC) || defined(WITH_TDS) \ -|| defined(WITH_SFTP_SQL) || defined (WITH_SQL_PASSWD) -MODULES:=${MODULES}:mod_sql -.endif - -.if defined(WITH_MYSQL) -USE_MYSQL= yes -MODULES:=${MODULES}:mod_sql_mysql -INCLUDEDIRS:=${INCLUDEDIRS}:${LOCALBASE}/include:${LOCALBASE}/include/mysql:${WRKSRC}/contrib -LIBDIRS:=${LIBDIRS}:${LOCALBASE}/lib/mysql -.endif - -.if defined(WITH_PGSQL) -USE_PGSQL= yes -MODULES:=${MODULES}:mod_sql_postgres -INCLUDEDIRS:=${INCLUDEDIRS}:${LOCALBASE}/include -LIBDIRS:=${LIBDIRS}:${LOCALBASE}/lib +PLIST_SUB+= MOD_LDAP="" +.else +PLIST_SUB+= MOD_LDAP="@comment " .endif .if defined(WITH_SQLITE) +AUTOSELECT_SQL= yes USE_SQLITE= yes MODULES:=${MODULES}:mod_sql_sqlite INCLUDEDIRS:=${INCLUDEDIRS}:${LOCALBASE}/include LIBDIRS:=${LIBDIRS}:${LOCALBASE}/lib +PLIST_SUB+= MOD_SQLITE="" +.else +PLIST_SUB+= MOD_SQLITE="@comment " .endif .if defined(WITH_ODBC) +AUTOSELECT_SQL= yes LIB_DEPENDS= iodbc.3:${PORTSDIR}/databases/libiodbc MODULES:=${MODULES}:mod_sql_odbc INCLUDEDIRS:=${INCLUDEDIRS}:${LOCALBASE}/include LIBDIRS:=${LIBDIRS}:${LOCALBASE}/lib CONFIGURE_ARGS+=LIBS=-liodbc LD_LIBRARY_PATH=${LOCALBASE}/lib LDFLAGS=-L${LOCALBASE}/lib +PLIST_SUB+= MOD_ODBC="" +.else +PLIST_SUB+= MOD_ODBC="@comment " .endif .if defined(WITH_TDS) || make(makesum) || defined(FETCH_ALL) +AUTOSELECT_SQL= yes DISTFILES+= mod_sql_tds-4.13.tar.bz2:sql_tds EXTRACT_ONLY+= mod_sql_tds-4.13.tar.bz2 MODULES:=${MODULES}:mod_sql_tds INCLUDEDIRS:=${INCLUDEDIRS}:${LOCALBASE}/include LIBDIRS:=${LIBDIRS}:${LOCALBASE}/lib LIB_DEPENDS+= sybdb.5:${PORTSDIR}/databases/freetds +PLIST_SUB+= MOD_SQL_TDS="" +.else +PLIST_SUB+= MOD_SQL_TDS="@comment " .endif .if defined(WITH_SQL_PASSWD) +AUTOSELECT_SQL= yes MODULES:=${MODULES}:mod_sql_passwd -.endif - -.if ${MODULES:M*mod_sql*} -PLIST_SUB+= SQL="" +PLIST_SUB+= MOD_SQL_PASSWD="" .else -PLIST_SUB+= SQL="@comment " +PLIST_SUB+= MOD_SQL_PASSWD="@comment " .endif .if defined(WITH_TLS_SHMCACHE) +AUTOSELECT_TLS= yes MODULES:=${MODULES}:mod_tls_shmcache -.endif - -.if defined(WITH_OPENSSL) -.include <${PORTSDIR}/Mk/bsd.openssl.mk> -CFLAGS+= -DHAVE_OPENSSL -I${OPENSSLINC} -PROFTPD_LIBS+= -lssl -lcrypto -L${OPENSSLLIB} -MODULES:=${MODULES}:mod_tls -PLIST_SUB+= TLS="" +PLIST_SUB+= MOD_TLS_SHMCACHE="" .else -PLIST_SUB+= TLS="@comment " -.endif - -.if defined(WITH_CTRLS) -CONFIGURE_ARGS+= --enable-ctrls -.if !defined(WITHOUT_CTRLS_ADMIN) -MODULES:=${MODULES}:mod_ctrls_admin -.endif -PLIST_SUB+= CTRLS_ADMIN="" -.else -PLIST_SUB+= CTRLS_ADMIN="@comment " -.endif - -# LDAP, PGSQL and MYSQL options due nothing (in this case) -# without QUOTA support. -.if defined(WITH_QUOTA) -MODULES:=${MODULES}:mod_quotatab:mod_quotatab_file -PLIST_SUB+= QUOTA="" -.if defined(WITH_LDAP) -MODULES:=${MODULES}:mod_quotatab_ldap -.endif -.if defined(WITH_PGSQL) || defined(WITH_MYSQL) -MODULES:=${MODULES}:mod_quotatab_sql -.endif -.else -PLIST_SUB+= QUOTA="@comment " +PLIST_SUB+= MOD_TLS_SHMCACHE="@comment " .endif .if defined(WITH_CLAMAV) || make(makesum) || defined(FETCH_ALL) @@ -339,50 +430,127 @@ MODULES:=${MODULES}:mod_clamav LIB_DEPENDS+= clamav.7:${PORTSDIR}/security/clamav INCLUDEDIRS:=${INCLUDEDIRS}:${LOCALBASE}/include LIBDIRS:=${LIBDIRS}:${LOCALBASE}/lib -PLIST_SUB+= CLAMAV="" +PLIST_SUB+= MOD_CLAMAV="" .else -PLIST_SUB+= CLAMAV="@comment " +PLIST_SUB+= MOD_CLAMAV="@comment " .endif -.if defined(WITH_SFTP) -MODULES:=${MODULES}:mod_sftp +.if defined(WITH_SFTP_SQL) +AUTOSELECT_SFTP= yes +AUTOSELECT_SQL= yes +MODULES:=${MODULES}:mod_sftp_sql INCLUDEDIRS:=${INCLUDEDIRS}:${LOCALBASE}/include LIBDIRS:=${LIBDIRS}:${LOCALBASE}/lib -PLIST_SUB+= SFTP="" +PLIST_SUB+= MOD_SFTP_SQL="" .else -PLIST_SUB+= SFTP="@comment " +PLIST_SUB+= MOD_SFTP_SQL="@comment " .endif -.if defined(WITH_SFTP_SQL) -MODULES:=${MODULES}:mod_sftp_sql +.if defined(WITH_SFTP_PAM) +AUTOSELECT_SFTP= yes +MODULES:=${MODULES}:mod_sftp_pam INCLUDEDIRS:=${INCLUDEDIRS}:${LOCALBASE}/include LIBDIRS:=${LIBDIRS}:${LOCALBASE}/lib -PLIST_SUB+= SFTP_SQL="" +PLIST_SUB+= MOD_SFTP_PAM="" .else -PLIST_SUB+= SFTP_SQL="@comment " +PLIST_SUB+= MOD_SFTP_PAM="@comment " .endif -.if defined(WITH_SFTP_PAM) -MODULES:=${MODULES}:mod_sftp_pam +# Handle autoselectable configuration at the end +.if !defined(WITHOUT_CTRLS) || defined(AUTOSELECT_CTRLS) +CONFIGURE_ARGS+= --enable-ctrls +PLIST_SUB+= CTRLS="" +.else +CONFIGURE_ARGS+= --disable-ctrls +PLIST_SUB+= CTRLS="@comment " +.endif + +.if defined(WITH_MEMCACHE) || defined(AUTOSELECT_MEMCACHE) +LIB_DEPENDS+= memcached.8:${PORTSDIR}/databases/libmemcached +CONFIGURE_ARGS+= --enable-memcache +PLIST_SUB+= MOD_MEMCACHE="" +.else +CONFIGURE_ARGS+= --disable-memcache +PLIST_SUB+= MOD_MEMCACHE="@comment " +.endif + +.if !defined(WITHOUT_QUOTATAB) || defined(AUTOSELECT_QUOTATAB) +MODULES:=${MODULES}:mod_quotatab +PLIST_SUB+= MOD_QUOTATAB="" +.else +PLIST_SUB+= MOD_QUOTATAB="@comment " +.endif + +.if !defined(WITHOUT_SFTP) || defined(AUTOSELECT_SFTP) +MODULES:=${MODULES}:mod_sftp INCLUDEDIRS:=${INCLUDEDIRS}:${LOCALBASE}/include LIBDIRS:=${LIBDIRS}:${LOCALBASE}/lib -PLIST_SUB+= SFTP_PAM="" +PLIST_SUB+= MOD_SFTP="" .else -PLIST_SUB+= SFTP_PAM="@comment " +PLIST_SUB+= MOD_SFTP="@comment " .endif -# mod_ifsession should be the last item in the modules list -.if !defined(WITHOUT_IFSESSION) -MODULES:=${MODULES}:mod_ifsession +.if !defined(WITHOUT_SQL) || defined(AUTOSELECT_SQL) +MODULES:=${MODULES}:mod_sql +PLIST_SUB+= MOD_SQL="" +.else +PLIST_SUB+= MOD_SQL="@comment " +.endif + +.if defined(WITH_OPENSSL) || !defined(WITHOUT_TLS) || defined(AUTOSELECT_TLS) +.include "${PORTSDIR}/Mk/bsd.openssl.mk" +CFLAGS+= -DHAVE_OPENSSL -I${OPENSSLINC} +PROFTPD_LIBS+= -lssl -lcrypto -L${OPENSSLLIB} +MODULES:=${MODULES}:mod_tls +PLIST_SUB+= MOD_TLS="" +.else +PLIST_SUB+= MOD_TLS="@comment " +.endif + +.if !defined(WITHOUT_WRAP) || defined(AUTOSELECT_WRAP) +MODULES:=${MODULES}:mod_wrap2 +INCLUDEDIRS:=${INCLUDEDIRS}:${WORKDIR}/include +LIBDIRS:=${LIBDIRS}:${LOCALBASE}/lib +PLIST_SUB+= MOD_WRAP="" +.else +PLIST_SUB+= MOD_WRAP="@comment " .endif # Keep this here below, in case similar constructs need to be made CONFIGURE_ENV+= "LIBS=${PROFTPD_LIBS}" .if !empty(MODULES) -CONFIGURE_ARGS+= --with-modules=${MODULES:C/^://g} +CONFIGURE_ARGS+= --with-shared=${MODULES:C/^://g} +PLIST_SUB+= MODULES="" +.else +PLIST_SUB+= MODULES="@comment " .endif +# Create list of autoselected modules +.if defined(WITHOUT_CTRLS) && defined(AUTOSELECT_CTRLS) +AUTOSELECT_MODULES+= mod_ctrls +.endif +.if !defined(WITH_MEMCACHE) && defined(AUTOSELECT_MEMCACHE) +AUTOSELECT_MODULES+= mod_memcache +.endif +.if defined(WITHOUT_QUOTATAB) && defined(AUTOSELECT_QUOTATAB) +AUTOSELECT_MODULES+= mod_quotatab +.endif +.if defined(WITHOUT_SFTP) && defined(AUTOSELECT_SFTP) +AUTOSELECT_MODULES+= mod_sftp +.endif +.if defined(WITHOUT_SQL) && defined(AUTOSELECT_SQL) +AUTOSELECT_MODULES+= mod_sql +.endif +.if defined(WITHOUT_TLS) && defined(AUTOSELECT_TLS) +AUTOSELECT_MODULES+= mod_tls +.endif +.if defined(WITHOUT_WRAP) && defined(AUTOSELECT_WRAP) +AUTOSELECT_MODULES+= mod_wrap +.endif + +.endif #!defined(_BUILDING_PROFTPD_MODULE) + .if !empty(INCLUDEDIRS) CONFIGURE_ARGS+= --with-includes=${INCLUDEDIRS} .endif @@ -391,6 +559,7 @@ CONFIGURE_ARGS+= --with-includes=${INCLUDEDIRS} CONFIGURE_ARGS+= --with-libraries=${LIBDIRS} .endif +.if !defined(BUILDING_PROFTPD_MODULE) post-extract: .if defined(WITH_CLAMAV) (cd ${WRKDIR} && ${GZIP_CMD} ${EXTRACT_BEFORE_ARGS} ${_DISTDIR}/mod_clamav-0.11rc.tar.gz ${EXTRACT_AFTER_ARGS}) @@ -411,7 +580,15 @@ post-patch: @${REINPLACE_CMD} -e 's|proftpd\.conf|proftpd.conf.sample|g' ${WRKSRC}/Makefile.in pre-configure: - @${ECHO_MSG} "==> Configuring with ${MODULES:C/^://g}" +.if defined(AUTOSELECT_MODULES) + @${ECHO_MSG} "*** NOTICE ***" + @${ECHO_MSG} "The following modules are required by the current\ + configuration and have been automatically added to the build:" + @${ECHO_MSG} ${AUTOSELECT_MODULES} + @${ECHO_MSG} "" +.endif + @${ECHO_MSG} "==> Configuring with following modules:" + @${ECHO_MSG} "${MODULES:C/^://g}" post-configure: ${REINPLACE_CMD} -e 's: -lnsl::' ${WRKSRC}/Make.rules @@ -420,6 +597,12 @@ post-configure: ${WRKSRC}/src/proftpd.8 ${WRKSRC}/utils/ftpshut.8 \ ${WRKSRC}/utils/ftpcount.1 +.endif #!defined(_BUILDING_PROFTPD_MODULE) + +.if defined(_BUILDING_PROFTPD_MODULE) +pre-build: + @cd ${WRKSRC} && ${MAKE} include/buildstamp.h +.else post-install: @cd ${PREFIX}/etc/ && ${CP} -n proftpd.conf.sample proftpd.conf @${MKDIR} ${LOCALSTATEDIR}/proftpd @@ -443,5 +626,6 @@ post-install: @${INSTALL_PROGRAM} ${WRKSRC}/ftpdctl ${PREFIX}/sbin/ @${INSTALL_MAN} ${WRKSRC}/src/ftpdctl.8 ${MAN8PREFIX}/man/man8/ .endif +.endif #!defined(_BUILDING_PROFTPD_MODULE) .include diff --git a/ftp/proftpd/distinfo b/ftp/proftpd/distinfo index 7bfd57e73406..7eb3ade4f93d 100644 --- a/ftp/proftpd/distinfo +++ b/ftp/proftpd/distinfo @@ -1,5 +1,5 @@ -SHA256 (proftpd-1.3.3g.tar.bz2) = b1104a91e5e4dfafb0aa876492c073cf24b7d00b3e8528fa4443c108d963ae15 -SIZE (proftpd-1.3.3g.tar.bz2) = 4204504 +SHA256 (proftpd-1.3.4a.tar.bz2) = ad92eec86deccc385ac144e3925f9b9cbe085e60f10b33d1de6da91d32f39f3e +SIZE (proftpd-1.3.4a.tar.bz2) = 6805631 SHA256 (mod_sql_tds-4.13.tar.bz2) = b32b1d4539b1b2e7e4f44161d12ab81a56ddf292ccd125307a9b2900fdd000a8 SIZE (mod_sql_tds-4.13.tar.bz2) = 11207 SHA256 (mod_clamav-0.11rc.tar.gz) = 87630eb1866066d6320ee711897d8998b8f4915c0498b2e78cc0464abd34855a diff --git a/ftp/proftpd/files/patch-contrib-mod_ban.c b/ftp/proftpd/files/patch-contrib-mod_ban.c deleted file mode 100644 index 7f7a9a9bfee0..000000000000 --- a/ftp/proftpd/files/patch-contrib-mod_ban.c +++ /dev/null @@ -1,10 +0,0 @@ ---- contrib/mod_ban.c.orig 2010-04-08 16:31:51.305526124 +0200 -+++ contrib/mod_ban.c 2010-04-08 16:32:29.115825094 +0200 -@@ -1117,6 +1117,7 @@ - - #if defined(FREEBSD4) || defined(FREEBSD5) || \ - defined(FREEBSD6) || defined(FREEBSD7) || \ -+ defined(FREEBSD8) || defined(FREEBSD9) || \ - defined(DARWIN7) || defined(DARWIN8) || defined(DARWIN9) - optreset = 1; - opterr = 1; diff --git a/ftp/proftpd/files/patch-contrib-mod_sftp-scp.c b/ftp/proftpd/files/patch-contrib-mod_sftp-scp.c deleted file mode 100644 index 54a7b056d7af..000000000000 --- a/ftp/proftpd/files/patch-contrib-mod_sftp-scp.c +++ /dev/null @@ -1,11 +0,0 @@ ---- contrib/mod_sftp/scp.c.orig 2010-04-08 16:50:19.950294512 +0200 -+++ contrib/mod_sftp/scp.c 2010-04-08 16:50:34.925959239 +0200 -@@ -1772,7 +1772,7 @@ - */ - - #if defined(FREEBSD4) || defined(FREEBSD5) || defined(FREEBSD6) || \ -- defined(FREEBSD7) || \ -+ defined(FREEBSD7) || defined(FREEBSD8) || defined(FREEBSD9) || \ - defined(DARWIN7) || defined(DARWIN8) || defined(DARWIN9) - optreset = 1; - opterr = 1; diff --git a/ftp/proftpd/files/patch-contrib-mod_tls.c b/ftp/proftpd/files/patch-contrib-mod_tls.c deleted file mode 100644 index c712376c3274..000000000000 --- a/ftp/proftpd/files/patch-contrib-mod_tls.c +++ /dev/null @@ -1,10 +0,0 @@ ---- contrib/mod_tls.c.orig 2010-04-08 16:31:45.943822175 +0200 -+++ contrib/mod_tls.c 2010-04-08 16:32:44.490058910 +0200 -@@ -4812,6 +4812,7 @@ - /* All the fun portability of resetting getopt(3). */ - #if defined(FREEBSD4) || defined(FREEBSD5) || \ - defined(FREEBSD6) || defined(FREEBSD7) || \ -+ defined(FREEBSD8) || defined(FREEBSD9) || \ - defined(DARWIN7) || defined(DARWIN8) || defined(DARWIN9) - optreset = 1; - opterr = 1; diff --git a/ftp/proftpd/pkg-plist b/ftp/proftpd/pkg-plist index 8acac40efc35..269d6b142683 100644 --- a/ftp/proftpd/pkg-plist +++ b/ftp/proftpd/pkg-plist @@ -1,17 +1,20 @@ +bin/ftpasswd bin/ftpcount bin/ftpdctl +bin/ftpmail +bin/ftpquota bin/ftptop bin/ftpwho bin/prxs @unexec if cmp -s %D/etc/proftpd.conf %D/etc/proftpd.conf.sample; then rm -f %D/etc/proftpd.conf; fi etc/proftpd.conf.sample @exec cp -n %D/%F %B/proftpd.conf -%%SFTP%%@unexec if cmp -s %D/etc/proftpd/dhparams.pem %D/etc/proftpd/dhparams.pem.sample; then rm -f %D/etc/proftpd/dhparams.pem; fi -%%SFTP%%etc/proftpd/dhparams.pem.sample -%%SFTP%%@exec cp -n %D/%F %B/dhparams.pem -%%SFTP%%@unexec if cmp -s %D/etc/proftpd/blacklist.dat %D/etc/proftpd/blacklist.dat.sample; then rm -f %D/etc/proftpd/blacklist.dat; fi -%%SFTP%%etc/proftpd/blacklist.dat.sample -%%SFTP%%@exec cp -n %D/%F %B/blacklist.dat +%%MOD_SFTP%%@unexec if cmp -s %D/etc/proftpd/dhparams.pem %D/etc/proftpd/dhparams.pem.sample; then rm -f %D/etc/proftpd/dhparams.pem; fi +%%MOD_SFTP%%etc/proftpd/dhparams.pem.sample +%%MOD_SFTP%%@exec cp -n %D/%F %B/dhparams.pem +%%MOD_SFTP%%@unexec if cmp -s %D/etc/proftpd/blacklist.dat %D/etc/proftpd/blacklist.dat.sample; then rm -f %D/etc/proftpd/blacklist.dat; fi +%%MOD_SFTP%%etc/proftpd/blacklist.dat.sample +%%MOD_SFTP%%@exec cp -n %D/%F %B/blacklist.dat @exec mkdir -p %%LOCALSTATEDIR%%/proftpd include/proftpd/auth.h include/proftpd/bindings.h @@ -40,13 +43,14 @@ include/proftpd/help.h include/proftpd/inet.h include/proftpd/libsupp.h include/proftpd/log.h +include/proftpd/memcache.h include/proftpd/mkhome.h -%%CLAMAV%%include/proftpd/mod_clamav.h -%%WRAP%%include/proftpd/mod_wrap2.h -%%SFTP%%include/proftpd/mod_sftp.h -%%SQL%%include/proftpd/mod_sql.h -%%TLS%%include/proftpd/mod_tls.h -%%QUOTA%%include/proftpd/mod_quotatab.h +%%MOD_CLAMAV%%include/proftpd/mod_clamav.h +%%MOD_WRAP%%include/proftpd/mod_wrap2.h +%%MOD_SFTP%%include/proftpd/mod_sftp.h +%%MOD_SQL%%include/proftpd/mod_sql.h +%%MOD_TLS%%include/proftpd/mod_tls.h +%%MOD_QUOTATAB%%include/proftpd/mod_quotatab.h include/proftpd/mod_ctrls.h include/proftpd/modules.h include/proftpd/netacl.h @@ -65,21 +69,137 @@ include/proftpd/response.h include/proftpd/scoreboard.h include/proftpd/session.h include/proftpd/sets.h +include/proftpd/stash.h include/proftpd/str.h include/proftpd/support.h include/proftpd/table.h include/proftpd/throttle.h include/proftpd/timers.h +include/proftpd/tpl.h include/proftpd/trace.h include/proftpd/var.h include/proftpd/version.h include/proftpd/xferlog.h libdata/pkgconfig/proftpd.pc +%%MOD_BAN%%libexec/proftpd/mod_ban.a +%%MOD_BAN%%libexec/proftpd/mod_ban.la +%%MOD_BAN%%libexec/proftpd/mod_ban.so +%%MOD_CLAMAV%%libexec/proftpd/mod_clamav.a +%%MOD_CLAMAV%%libexec/proftpd/mod_clamav.la +%%MOD_CLAMAV%%libexec/proftpd/mod_clamav.so +%%MOD_COPY%%libexec/proftpd/mod_copy.a +%%MOD_COPY%%libexec/proftpd/mod_copy.la +%%MOD_COPY%%libexec/proftpd/mod_copy.so +%%MOD_CTRLS_ADMIN%%libexec/proftpd/mod_ctrls_admin.a +%%MOD_CTRLS_ADMIN%%libexec/proftpd/mod_ctrls_admin.la +%%MOD_CTRLS_ADMIN%%libexec/proftpd/mod_ctrls_admin.so +%%MOD_DEFLATE%%libexec/proftpd/mod_deflate.a +%%MOD_DEFLATE%%libexec/proftpd/mod_deflate.la +%%MOD_DEFLATE%%libexec/proftpd/mod_deflate.so +%%MOD_DYNMASQ%%libexec/proftpd/mod_dynmasq.a +%%MOD_DYNMASQ%%libexec/proftpd/mod_dynmasq.la +%%MOD_DYNMASQ%%libexec/proftpd/mod_dynmasq.so +%%MOD_EXEC%%libexec/proftpd/mod_exec.a +%%MOD_EXEC%%libexec/proftpd/mod_exec.la +%%MOD_EXEC%%libexec/proftpd/mod_exec.so +%%MOD_IFVERSION%%libexec/proftpd/mod_ifversion.a +%%MOD_IFVERSION%%libexec/proftpd/mod_ifversion.la +%%MOD_IFVERSION%%libexec/proftpd/mod_ifversion.so +%%MOD_IFSESSION%%libexec/proftpd/mod_ifsession.a +%%MOD_IFSESSION%%libexec/proftpd/mod_ifsession.la +%%MOD_IFSESSION%%libexec/proftpd/mod_ifsession.so +%%MOD_LDAP%%libexec/proftpd/mod_ldap.a +%%MOD_LDAP%%libexec/proftpd/mod_ldap.la +%%MOD_LDAP%%libexec/proftpd/mod_ldap.so +%%MOD_MEMCACHE%%libexec/proftpd/mod_memcache.a +%%MOD_MEMCACHE%%libexec/proftpd/mod_memcache.la +%%MOD_MEMCACHE%%libexec/proftpd/mod_memcache.so +%%MOD_ODBC%%libexec/proftpd/mod_odbc.a +%%MOD_ODBC%%libexec/proftpd/mod_odbc.la +%%MOD_ODBC%%libexec/proftpd/mod_odbc.so +%%MOD_QOS%%libexec/proftpd/mod_qos.a +%%MOD_QOS%%libexec/proftpd/mod_qos.la +%%MOD_QOS%%libexec/proftpd/mod_qos.so +%%MOD_QUOTATAB%%libexec/proftpd/mod_quotatab.a +%%MOD_QUOTATAB%%libexec/proftpd/mod_quotatab.la +%%MOD_QUOTATAB%%libexec/proftpd/mod_quotatab.so +%%MOD_QUOTATAB%%libexec/proftpd/mod_quotatab_file.a +%%MOD_QUOTATAB%%libexec/proftpd/mod_quotatab_file.la +%%MOD_QUOTATAB%%libexec/proftpd/mod_quotatab_file.so +%%MOD_QUOTATAB_LDAP%%libexec/proftpd/mod_quotatab_ldap.a +%%MOD_QUOTATAB_LDAP%%libexec/proftpd/mod_quotatab_ldap.la +%%MOD_QUOTATAB_LDAP%%libexec/proftpd/mod_quotatab_ldap.so +%%MOD_QUOTATAB%%libexec/proftpd/mod_quotatab_sql.a +%%MOD_QUOTATAB%%libexec/proftpd/mod_quotatab_sql.la +%%MOD_QUOTATAB%%libexec/proftpd/mod_quotatab_sql.so +%%MOD_QUOTATAB_RADIUS%%libexec/proftpd/mod_quotatab_radius.a +%%MOD_QUOTATAB_RADIUS%%libexec/proftpd/mod_quotatab_radius.la +%%MOD_QUOTATAB_RADIUS%%libexec/proftpd/mod_quotatab_radius.so +%%MOD_RADIUS%%libexec/proftpd/mod_radius.a +%%MOD_RADIUS%%libexec/proftpd/mod_radius.la +%%MOD_RADIUS%%libexec/proftpd/mod_radius.so +%%MOD_RATIO%%libexec/proftpd/mod_ratio.a +%%MOD_RATIO%%libexec/proftpd/mod_ratio.la +%%MOD_RATIO%%libexec/proftpd/mod_ratio.so +%%MOD_README%%libexec/proftpd/mod_readme.a +%%MOD_README%%libexec/proftpd/mod_readme.la +%%MOD_README%%libexec/proftpd/mod_readme.so +%%MOD_REWRITE%%libexec/proftpd/mod_rewrite.a +%%MOD_REWRITE%%libexec/proftpd/mod_rewrite.la +%%MOD_REWRITE%%libexec/proftpd/mod_rewrite.so +%%MOD_SHAPER%%libexec/proftpd/mod_shaper.a +%%MOD_SHAPER%%libexec/proftpd/mod_shaper.la +%%MOD_SHAPER%%libexec/proftpd/mod_shaper.so +%%MOD_SFTP%%libexec/proftpd/mod_sftp.a +%%MOD_SFTP%%libexec/proftpd/mod_sftp.la +%%MOD_SFTP%%libexec/proftpd/mod_sftp.so +%%MOD_SFTP_PAM%%libexec/proftpd/mod_sftp_pam.a +%%MOD_SFTP_PAM%%libexec/proftpd/mod_sftp_pam.la +%%MOD_SFTP_PAM%%libexec/proftpd/mod_sftp_pam.so +%%MOD_SFTP_SQL%%libexec/proftpd/mod_sftp_sql.a +%%MOD_SFTP_SQL%%libexec/proftpd/mod_sftp_sql.la +%%MOD_SFTP_SQL%%libexec/proftpd/mod_sftp_sql.so +%%MOD_SITE_MISC%%libexec/proftpd/mod_site_misc.a +%%MOD_SITE_MISC%%libexec/proftpd/mod_site_misc.la +%%MOD_SITE_MISC%%libexec/proftpd/mod_sit_misc.so +%%MOD_SQL%%libexec/proftpd/mod_sql.a +%%MOD_SQL%%libexec/proftpd/mod_sql.la +%%MOD_SQL%%libexec/proftpd/mod_sql.so +%%MOD_SQLITE%%libexec/proftpd/mod_site_misc.a +%%MOD_SQLITE%%libexec/proftpd/mod_site_misc.la +%%MOD_SQLITE%%libexec/proftpd/mod_site_misc.so +%%MOD_SQL_PASSWD%%libexec/proftpd/mod_sql_passwd.a +%%MOD_SQL_PASSWD%%libexec/proftpd/mod_sql_passwd.la +%%MOD_SQL_PASSWD%%libexec/proftpd/mod_sql_passwd.so +%%MOD_SQL_TDS%%libexec/proftpd/mod_sql_tds.a +%%MOD_SQL_TDS%%libexec/proftpd/mod_sql_tds.la +%%MOD_SQL_TDS%%libexec/proftpd/mod_sql_tds.so +%%MOD_TLS%%libexec/proftpd/mod_tls.a +%%MOD_TLS%%libexec/proftpd/mod_tls.la +%%MOD_TLS%%libexec/proftpd/mod_tls.so +%%MOD_TLS_MEMCACHE%%libexec/proftpd/mod_tls_memcache.a +%%MOD_TLS_MEMCACHE%%libexec/proftpd/mod_tls_memcache.la +%%MOD_TLS_MEMCACHE%%libexec/proftpd/mod_tls_memcache.so +%%MOD_TLS_SHMCACHE%%libexec/proftpd/mod_tls_shmcache.a +%%MOD_TLS_SHMCACHE%%libexec/proftpd/mod_tls_shmcache.la +%%MOD_TLS_SHMCACHE%%libexec/proftpd/mod_tls_shmcache.so +%%MOD_UNIQUE%%libexec/proftpd/mod_unique_id.a +%%MOD_UNIQUE%%libexec/proftpd/mod_unique_id.la +%%MOD_UNIQUE%%libexec/proftpd/mod_unique_id.so +%%MOD_WRAP%%libexec/proftpd/mod_wrap2.a +%%MOD_WRAP%%libexec/proftpd/mod_wrap2.la +%%MOD_WRAP%%libexec/proftpd/mod_wrap2.so +%%MOD_WRAP_FILE%%libexec/proftpd/mod_wrap2_file.a +%%MOD_WRAP_FILE%%libexec/proftpd/mod_wrap2_file.la +%%MOD_WRAP_FILE%%libexec/proftpd/mod_wrap2_file.so +%%MOD_WRAP_SQL%%libexec/proftpd/mod_wrap2_sql.a +%%MOD_WRAP_SQL%%libexec/proftpd/mod_wrap2_sql.la +%%MOD_WRAP_SQL%%libexec/proftpd/mod_wrap2_sql.so sbin/ftpscrub sbin/ftpshut sbin/in.proftpd sbin/proftpd -%%CTRLS_ADMIN%%sbin/ftpdctl +%%CTRLS%%sbin/ftpdctl %%NLS%%share/locale/zh_CN/LC_MESSAGES/proftpd.mo %%NLS%%share/locale/zh_TW/LC_MESSAGES/proftpd.mo %%NLS%%share/locale/en_US/LC_MESSAGES/proftpd.mo @@ -104,7 +224,8 @@ sbin/proftpd %%NLS%%@dirrmtry share/locale/ru_RU %%NLS%%@dirrmtry share/locale/bg_BG %%NLS%%@dirrmtry share/locale/ko_KR -%%SFTP%%@dirrmtry etc/proftpd +%%MOD_SFTP%%@dirrmtry etc/proftpd @dirrm include/proftpd @dirrmtry lib/proftpd +%%MODULES%%@dirrmtry libexec/proftpd @unexec rmdir %%LOCALSTATEDIR%%/proftpd 2>/dev/null || true -- cgit