make_single &&
-make &&
+default_build &&
make_normal
diff --git a/ftp/proftpd/CONFIGURE b/ftp/proftpd/CONFIGURE
index 67b6db6..ac57f9c 100755
--- a/ftp/proftpd/CONFIGURE
+++ b/ftp/proftpd/CONFIGURE
@@ -1,40 +1,138 @@
-. $GRIMOIRE/FUNCTIONS &&
-#if [[ $PROFTPD_DEVEL == "n" ]]; then
+. $GRIMOIRE/FUNCTIONS &&
+
if [[ $(get_sorcery_kernel_config CONFIG_SECURITY) != y ]]; then
- config_query_option PROFTPD_CAPS \
- "You don't have capabilities enabled in your kernel, do you still \
- want to build them?" n "" "--disable-cap"
-fi
-#fi &&
+ config_query_option PROFTPD_OPTS "You don't have capabilities enabled in
your kernel, do you still want to build them?" n \
+ "--enable-cap" \
+ "--disable-cap"
+fi &&
+
+config_query_option PROFTPD_OPTS "Enable IPv6 support?" y \
+ "--enable-ipv6" \
+ "--disable-ipv6" &&
+
+config_query_option PROFTPD_OPTS "Enable use of ident (RFC1413) lookups?" y \
+ "--enable-ident" \
+ "--disable-ident" &&
-config_query PROFTPD_MOD \
-"Choose optional user contributed modules to install?" n &&
+config_query_option PROFTPD_OPTS "Enable proftpd controls via ftpdctl?" n \
+ "--enable-ctrls" \
+ "--disable-ctrls" &&
+
+config_query PROFTPD_MOD "Choose optional user contributed modules to
install?" n &&
-#radius module failed (probably missing dep), all the others not in
-#the query are yet to be tried.
if [[ $PROFTPD_MOD == "y" ]]; then
- config_query_multi PROFTPD_MODS "Choose among this list:" \
- mod_ratio mod_readme mod_rewrite mod_tls mod_wrap \
- mod_sql mod_ldap &&
+ local MODULES="mod_copy \
+ mod_deflate \
+ mod_dynmasq \
+ mod_exec \
+ mod_ifsession \
+ mod_ifversion \
+ mod_load \
+ mod_qos \
+ mod_quotatab \
+ mod_ratio \
+ mod_readme \
+ mod_rewrite \
+ mod_sftp \
+ mod_site_misc \
+ mod_sql \
+ mod_tls \
+ mod_unique_id \
+ mod_wrap \
+ mod_wrap2" &&
+
+ if list_find "$PROFTPD_OPTS" "--enable-ctrls"; then
+ MODULES="mod_ban \
+ mod_ctrls_admin \
+ mod_shaper \
+ ${MODULES}"
+ fi &&
+
+ config_query_multi PROFTPD_MODS "Choose among this list:" ${MODULES} &&
+
+ if list_find "$PROFTPD_MODS" "mod_quotatab"; then
+ config_query PROFTPD_MOD_QUOTATAB_LDAP "Include LDAP support in
mod_quotatab?" n &&
- PROFTPD_MODS="--with-modules=`echo $PROFTPD_MODS | sed 's/\ /:/g'`" &&
+ if [[ $PROFTPD_MOD_QUOTATAB_LDAP == y ]]; then
+ list_add "PROFTPD_MODS" "mod_quotatab_ldap"
+ fi &&
- if [[ "x`echo $PROFTPD_MODS | grep sql`" != "x" ]]; then
- config_query_list PROFTPD_SQL \
- "You chose mod_sql, now which DBMS do you want:" mod_sql_mysql \
- mod_sql_postgres &&
+ config_query PROFTPD_MOD_QUOTATAB_RADIUS "Include RADIUS support in
mod_quotatab?" n &&
- if [[ "x${PROFTPD_SQL}" == "xmod_sql_mysql" ]]; then
- SQL_INC="/usr/include/mysql"
- else
- SQL_INC="/usr/include/postgresql"
+ if [[ $PROFTPD_MOD_QUOTATAB_RADIUS == y ]]; then
+ list_add "PROFTPD_MODS" "mod_quotatab_radius"
+ fi &&
+
+ config_query PROFTPD_MOD_QUOTATAB_SQL "Include SQL support in
mod_quotatab?" n &&
+
+ if ! list_find "$PROFTPD_MODS" "mod_sql"; then
+ list_add "PROFTPD_MODS" "mod_sql"
+ fi &&
+
+ if [[ $PROFTPD_MOD_QUOTATAB_SQL == y ]]; then
+ list_add "PROFTPD_MODS" "mod_quotatab_sql"
fi
-
- PROFTPD_MODS="${PROFTPD_MODS}:${PROFTPD_SQL} \
- --with-includes=${SQL_INC}"
- fi
-fi
+ fi &&
+
+ if list_find "$PROFTPD_MODS" "mod_sftp"; then
+ config_query PROFTPD_MOD_SFTP_SQL "Include SQL support in mod_sftp?" n &&
+
+ if ! list_find "$PROFTPD_MODS" "mod_sql"; then
+ list_add "PROFTPD_MODS" "mod_sql"
+ fi &&
+
+ if [[ $PROFTPD_MOD_SFTP_SQL == y ]]; then
+ list_add "PROFTPD_MODS" "mod_sftp_sql"
+ fi &&
+
+ config_query PROFTPD_MOD_SFTP_PAM "Include PAM support in mod_sftp?" n &&
+ if [[ $PROFTPD_MOD_SFTP_PAM == y ]]; then
+ list_add "PROFTPD_MODS" "mod_sftp_pam"
+ fi
+ fi &&
+
+ if list_find "$PROFTPD_MODS" "mod_wrap2"; then
+ config_query PROFTPD_MOD_WRAP2_FILE "Include file support in mod_wrap2?"
n &&
+
+ if [[ $PROFTPD_MOD_WRAP2_FILE == y ]]; then
+ list_add "PROFTPD_MODS" "mod_wrap2_file"
+ fi &&
+
+ config_query PROFTPD_MOD_WRAP2_SQL "Include SQL support in mod_wrap2?" n
&&
+
+ if ! list_find "$PROFTPD_MODS" "mod_sql"; then
+ list_add "PROFTPD_MODS" "mod_sql"
+ fi &&
+
+ if [[ $PROFTPD_MOD_WRAP2_SQL == y ]]; then
+ list_add "PROFTPD_MODS" "mod_wrap2_sql"
+ fi
+ fi &&
+
+ if list_find "$PROFTPD_MODS" "mod_sql"; then
+ config_query PROFTPD_MOD_SQL_PASSWD "Include passwd support in mod_sql?"
n &&
+
+ if [[ $PROFTPD_MOD_SQL_PASSWD == y ]]; then
+ list_add "PROFTPD_MODS" "mod_sql_passwd"
+ fi
+ fi &&
+
+ if list_find "$PROFTPD_MODS" "mod_tls"; then
+ config_query PROFTPD_MOD_TLS_MEMCACHE "Include memcache support in
mod_tls?" n &&
+
+ if [[ $PROFTPD_MOD_TLS_MEMCACHE == y ]]; then
+ list_add "PROFTPD_MODS" "mod_tls_memcache"
+ fi &&
+
+ config_query PROFTPD_MOD_TLS_SHMCACHE "Include SysV shared memory cache
support in mod_tls?" n &&
+
+ if [[ $PROFTPD_MOD_TLS_SHMCACHE == y ]]; then
+ list_add "PROFTPD_MODS" "mod_tls_shmcache"
+ fi
+ fi
+fi
diff --git a/ftp/proftpd/DEPENDS b/ftp/proftpd/DEPENDS
index f4c0dd2..a45290b 100755
--- a/ftp/proftpd/DEPENDS
+++ b/ftp/proftpd/DEPENDS
@@ -1,29 +1,111 @@
-if [[ "x`echo $PROFTPD_MODS | grep tls`" != "x" ]]; then
- depends openssl
+if list_find "$PROFTPD_MODS" "mod_deflate"; then
+ depends zlib
fi &&
-if [[ "x`echo $PROFTPD_MODS | grep wrap`" != "x" ]]; then
- depends tcp_wrappers
+if list_find "$PROFTPD_MODS" "mod_sql"; then
+ optional_depends MYSQL "" "" "for MySQL support in mod_sql" &&
+
+ if is_depends_enabled $SPELL $(get_spell_provider $SPELL MYSQL); then
+ list_add "PROFTPD_MODS" "mod_sql_mysql"
+ fi &&
+
+ optional_depends postgresql "" "" "for PostgreSQL support in mod_sql" &&
+
+ if is_depends_enabled $SPELL postgresql; then
+ list_add "PROFTPD_MODS" "mod_sql_postgres"
+ fi &&
+
+ optional_depends sqlite "" "" "for SQLite support in mod_sql" &&
+
+ if is_depends_enabled $SPELL sqlite; then
+ list_add "PROFTPD_MODS" "mod_sql_sqlite"
+ fi &&
+
+ optional_depends ODBC-MGR "" "" "for ODBC support in mod_sql" &&
+
+ if is_depends_enabled $SPELL $(get_spell_provider $SPELL ODBC-MGR); then
+ list_add "PROFTPD_MODS" "mod_sql_odbc"
+ fi
+fi &&
+
+if list_find "$PROFTPD_MODS" "mod_wrap" || list_find "$PROFTPD_MODS"
"mod_wrap2"; then
+ depends tcp_wrappers
+fi &&
+
+if list_find "$PROFTPD_MODS" "mod_tls" || list_find "$PROFTPD_MODS"
"mod_sftp" || list_find "$PROFTPD_MODS" "mod_sql_passwd"; then
+ depends openssl '--enable-openssl'
+else
+ optional_depends openssl \
+ "--enable-openssl" \
+ "--disable-openssl" \
+ "for OpenSSL support"
+fi &&
+
+if list_find "$PROFTPD_OPTS" "mod_sftp_pam"; then
+ depends linux-pam
+fi &&
+
+if list_find "$PROFTPD_OPTS" "mod_tls_memcache"; then
+ depends libmemcached
fi &&
-if [[ "x`echo $PROFTPD_MODS | grep mysql`" != "x" ]]; then
- depends MYSQL
+optional_depends openldap "" "" "to build mod_ldap module" &&
+
+if is_depends_enabled $SPELL openldap; then
+ list_add "PROFTPD_MODS" "mod_ldap"
+elif list_find "$PROFTPD_MODS" "mod_quotatab_ldap"; then
+ depends openldap
fi &&
-if [[ "x`echo $PROFTPD_MODS | grep postgresql`" != "x" ]]; then
- depends postgresql
+optional_depends freeradius "" "" "to build mod_radius module" &&
+
+if is_depends_enabled $SPELL freeradius; then
+ list_add "PROFTPD_MODS" "mod_radius"
+elif list_find "$PROFTPD_MODS" "mod_quotatab_radius"; then
+ depends freeradius
fi &&
-if [[ "x`echo $PROFTPD_MODS | grep ldap`" != "x" ]]; then
- depends openldap
+optional_depends ncurses \
+ "--enable-curses" \
+ "--disable-curses" \
+ "for use of curses" &&
+
+optional_depends shadow \
+ "--enable-shadow" \
+ "--disable-shadow" \
+ "for shadowed password support" &&
+
+if is_depends_enabled $SPELL shadow; then
+ config_query_option PROFTPD_OPTS "Enable run-time auto-detection of
shadowed passwords?" n \
+ "--enable-autoshadow" \
+ "--disable-autoshadow"
fi &&
-optional_depends libcap \
- "--enable-cap" \
- "--disable-cap" \
- "for POSIX.1e capabilities" &&
+if list_find "$PROFTPD_OPTS" "--enable-cap"; then
+ optional_depends libcap "" "" "to use system libcap library for POSIX.1e
capabilities"
+fi &&
optional_depends linux-pam \
"--enable-auth-pam" \
"--disable-auth-pam" \
- "for Linux-PAM support"
+ "for Linux-PAM support" &&
+
+optional_depends libmemcached \
+ "--enable-memcache" \
+ "--disable-memcache" \
+ "for memcache support" &&
+
+optional_depends gettext \
+ "--enable-nls" \
+ "--disable-nls" \
+ "for Native Language Support" &&
+
+optional_depends pcre \
+ "--enable-pcre" \
+ "--disable-pcre" \
+ "for use of PCRE for POSIX regular expressions rather than
the system library" &&
+
+optional_depends acl \
+ "--enable-facl" \
+ "--disable-facl" \
+ "for POSIX ACLs support"
diff --git a/ftp/proftpd/DETAILS b/ftp/proftpd/DETAILS
index 03ee949..2b880dd 100755
--- a/ftp/proftpd/DETAILS
+++ b/ftp/proftpd/DETAILS
@@ -1,7 +1,7 @@
SPELL=proftpd
- VERSION=1.3.4a
+ VERSION=1.3.4b
SECURITY_PATCH=2
- SOURCE=$SPELL-$VERSION.tar.bz2
+ SOURCE=$SPELL-$VERSION.tar.gz
SOURCE2=$SOURCE.asc
SOURCE2_IGNORE=signature
SOURCE_GPG=A511976A.gpg:$SOURCE2:UPSTREAM_KEY
diff --git a/ftp/proftpd/HISTORY b/ftp/proftpd/HISTORY
index 99ac8f3..2d5f693 100644
--- a/ftp/proftpd/HISTORY
+++ b/ftp/proftpd/HISTORY
@@ -1,3 +1,19 @@
+2012-08-01 Vlad Glagolev <stealth AT sourcemage.org>
+ * DETAILS: updated spell to 1.3.4b; changed SOURCEs extension
+
+2012-07-31 Vlad Glagolev <stealth AT sourcemage.org>
+ * DETAILS: PATCHLEVEL=1
+ * BUILD: remove pic flags wisely; fix basic config file only when
xinetd
+ script had been installed; use default_build; dropped deprecated
seds;
+ use PROFTPD_OPTS and PROFTPD_MODS; moved sql include paths here;
+ redefine localstatedir to /var/run
+ * CONFIGURE, DEPENDS: use new modules framework; added missing options
+ and dependencies; switched to PROFTPD_OPTS
+ * PRE_BUILD: added, to optionally apply the patch
+ * ldap-cert.patch: added, for certificates selection support in
mod_ldap
+ * init.d/proftpd: switch to default stop() method, which doesn't
return
+ success on already stopped service
+
2012-01-09 Vlad Glagolev <stealth AT sourcemage.org>
* DETAILS: SECURITY_PATCH++ (CVE-2011-4130)