Skip to content

proftpd : update to 1.3.9 ; more databases ; config changes #27811

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
132 changes: 100 additions & 32 deletions net/proftpd/Portfile
Original file line number Diff line number Diff line change
@@ -1,21 +1,25 @@
# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4

PortSystem 1.0
# check if legacysupport is necessary when updating to 1.3.10
# https://github.com/proftpd/proftpd/issues/1879
# https://github.com/proftpd/proftpd/issues/1881
PortGroup legacysupport 1.1

# dprintf
legacysupport.newest_darwin_requires_legacy 10

name proftpd
version 1.3.8b
version 1.3.9
revision 0
checksums rmd160 c5b29f1198beaec2a1191059b56f765b417ab904 \
sha256 183ab7c6107de271a2959ff268f55c9b6c76b2cf0029e6584fccc019686601e0 \
size 19752808
checksums rmd160 3cd0a88329a73761e272828a6cc5e4c168e62379 \
sha256 4a5f13b666226813b4da0ade34535d325e204ab16cf8008c7353b1b5a972f74b \
size 19837398

categories net
license GPL-2+
maintainers nomaintainer
maintainers {@BjarneDMat mathiesen.info:macintosh} openmaintainer

description Highly configurable ftp-server.
long_description ProFTPD is a highly configurable ftp daemon for unix \
and unix-like operating systems. ProFTPD is designed \
Expand All @@ -39,10 +43,10 @@ depends_lib port:libidn \
port:ncurses \
path:lib/libssl.dylib:openssl

patchfiles dynamic_lookup-11.patch

configure.args --sysconfdir=${prefix}/etc \
--localstatedir=${prefix}/var/run \
# remove the following line when updating to 1.3.10
use_autoconf yes
configure.args --sysconfdir=${prefix}/etc/${name} \
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

does this imply users upgrading need to move config files from /etc/ to the /etc/proftpd directory? if so, should probably be noted with a port note.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nvm i see the post-activate that takes care of this, maybe it does not need the note

--localstatedir=${prefix}/var/run/${name} \
--mandir=${prefix}/share/man \
--enable-ctrls \
--enable-dso \
Expand All @@ -57,6 +61,10 @@ set modules [list mod_tls mod_sftp mod_sftp_pam mod_ban mod_ctrls_admin \
set includes {}
set libs {}
pre-configure {
if {[lsearch -glob ${modules} mod_sql_*] != -1} {
lappend modules mod_sql mod_sql_passwd
configure.args-append --enable-openssl
}
configure.args-append --with-modules=[join $modules :]
configure.args-append --with-shared=[join $modules :]
if {$includes != {}} {
Expand All @@ -69,45 +77,105 @@ pre-configure {

pre-destroot {
reinplace "s|nogroup|nobody|g" ${worksrcpath}/sample-configurations/basic.conf
xinstall -m 755 -d ${destroot}${prefix}/var/run/proftpd
touch ${destroot}${prefix}/var/run/proftpd/proftpd.scoreboard
xinstall -m 755 -d ${destroot}${prefix}/var/run/${name}
touch ${destroot}${prefix}/var/run/${name}/${name}.scoreboard
}

post-destroot {
move ${destroot}${prefix}/etc/proftpd.conf ${destroot}${prefix}/etc/proftpd.conf.dist
move ${destroot}${prefix}/var/run/proftpd/proftpd.scoreboard ${destroot}${prefix}/var/run/proftpd/proftpd.scoreboard.dist
move ${destroot}${prefix}/etc/${name}/${name}.conf ${destroot}${prefix}/etc/${name}/${name}.conf.dist
move ${destroot}${prefix}/var/run/${name}/${name}.scoreboard ${destroot}${prefix}/var/run/${name}/${name}.scoreboard.dist
}

post-activate {
if {![file exists ${prefix}/etc/proftpd.conf]} {
copy ${prefix}/etc/proftpd.conf.dist ${prefix}/etc/proftpd.conf
# move the .conf from an old install
if {[file exists ${prefix}/etc/${name}.conf]} {
move ${prefix}/etc/${name}.conf ${prefix}/etc/${name}/${name}.conf
}
if {![file exists ${prefix}/etc/${name}/${name}.conf]} {
copy ${prefix}/etc/${name}/${name}.conf.dist ${prefix}/etc/${name}/${name}.conf
}
}

variant mysql57 conflicts postgresql11 sqlite3 description {Build with mysql 5.7 support} {
depends_lib-append port:mysql57
lappend modules mod_sql mod_sql_mysql
lappend includes ${prefix}/include/mysql57/mysql
lappend libs ${prefix}/lib/mysql57/mysql
variant mysql57 conflicts mysql8 sqlite3 postgresql13 postgresql14 postgresql15 postgresql16 postgresql17 description {Build with mysql 5.7 support} {
set my_db mysql57
depends_lib-append port:${my_db}
lappend modules mod_sql_mysql
lappend includes ${prefix}/include/${my_db}/mysql
lappend libs ${prefix}/lib/${my_db}/mysql
}

variant postgresql11 conflicts mysql57 sqlite3 description {Build with PostgreSQL 11 support} {
depends_lib-append port:postgresql11
lappend modules mod_sql mod_sql_postgres
lappend includes ${prefix}/include/postgresql11
lappend libs ${prefix}/lib/postgresql11
variant mysql8 conflicts mysql57 sqlite3 postgresql13 postgresql14 postgresql17 postgresql17 postgresql17 description {Build with mysql 8 support} {
set my_db mysql8
depends_lib-append port:${my_db}
lappend modules mod_sql_mysql
lappend includes ${prefix}/include/${my_db}/mysql
lappend libs ${prefix}/lib/${my_db}/mysql
}

variant sqlite3 conflicts mysql57 postgresql11 description {Build with sqlite3 support} {
# https://www.postgresql.org/support/versioning/
variant postgresql13 conflicts mysql57 mysql8 sqlite3 postgresql14 postgresql15 postgresql16 postgresql17 description {Build with PostgreSQL 13 support} {
set my_db postgresql13
depends_lib-append port:${my_db}
lappend modules mod_sql_postgres
lappend includes ${prefix}/include/${my_db}
lappend libs ${prefix}/lib/${my_db}
}

variant postgresql14 conflicts mysql57 mysql8 sqlite3 postgresql13 postgresql15 postgresql16 postgresql17 description {Build with PostgreSQL 14 support} {
set my_db postgresql14
depends_lib-append port:${my_db}
lappend modules mod_sql_postgres
lappend includes ${prefix}/include/${my_db}
lappend libs ${prefix}/lib/${my_db}
}

variant postgresql15 conflicts mysql57 mysql8 sqlite3 postgresql13 postgresql14 postgresql16 postgresql17 description {Build with PostgreSQL 15 support} {
set my_db postgresql15
depends_lib-append port:${my_db}
lappend modules mod_sql_postgres
lappend includes ${prefix}/include/${my_db}
lappend libs ${prefix}/lib/${my_db}
}

variant postgresql16 conflicts mysql57 mysql8 sqlite3 postgresql13 postgresql14 postgresql15 postgresql17 description {Build with PostgreSQL 16 support} {
set my_db postgresql16
depends_lib-append port:${my_db}
lappend modules mod_sql_postgres
lappend includes ${prefix}/include/${my_db}
lappend libs ${prefix}/lib/${my_db}
}

variant postgresql17 conflicts mysql57 mysql8 sqlite3 postgresql13 postgresql14 postgresql15 postgresql16 description {Build with PostgreSQL 17 support} {
set my_db postgresql17
depends_lib-append port:${my_db}
lappend modules mod_sql_postgres
lappend includes ${prefix}/include/${my_db}
lappend libs ${prefix}/lib/${my_db}
}

variant sqlite3 conflicts mysql57 mysql8 postgresql13 postgresql14 postgresql15 postgresql16 postgresql17 description {Build with sqlite3 support} {
depends_lib-append port:sqlite3
lappend modules mod_sql mod_sql_sqlite
lappend modules mod_sql_sqlite
}

variant quotatab description {Build with SQL quota support} {
lappend modules mod_quotatab mod_quotatab_sql
variant quotasql description {Build with SQL quota support} {
lappend modules mod_quotatab_sql
}

notes "
On activation, if no ${prefix}/etc/${name}/${name}.conf file exists,
one will be created

If a ${prefix}/etc/${name}/${name}.cnf file exists, MacPorts does not
touch it, and any changes you make to ${prefix}/etc/${name}/${name}.cnf
will be preserved (e.g., during port upgrades, deactivations or
activations).

If you are upgrading from 1.3.8, the old ${prefix}/etc/${name}.cnf
will be moved to ${prefix}/etc/${name}/${name}.cnf
"

startupitem.create yes
startupitem.start "${prefix}/sbin/proftpd"
startupitem.restart "/bin/kill -HUP \$(/bin/cat ${prefix}/var/run/proftpd.pid)"
startupitem.stop "/bin/kill -15 \$(/bin/cat ${prefix}/var/run/proftpd.pid)"
startupitem.start "${prefix}/sbin/${name}"
startupitem.restart "/bin/kill -HUP \$(/bin/cat ${prefix}/var/run/${name}/${name}.pid)"
startupitem.stop "/bin/kill -15 \$(/bin/cat ${prefix}/var/run/${name}/${name}.pid)"
23 changes: 23 additions & 0 deletions net/proftpd/files/-Wimplicit-function-declaration
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
Warning: Configuration logfiles contain indications of -Wimplicit-function-declaration; check that features were not accidentally disabled:
crypt: found in proftpd-1.3.8c/config.log
gethostbyname: found in proftpd-1.3.8c/config.log
inet_aton: found in proftpd-1.3.8c/config.log
gethostent: found in proftpd-1.3.8c/config.log
bind: found in proftpd-1.3.8c/config.log
authenticate: found in proftpd-1.3.8c/config.log
loginfailed: found in proftpd-1.3.8c/config.log
loginsuccess: found in proftpd-1.3.8c/config.log
acl_get_perm: found in proftpd-1.3.8c/config.log
send_file: found in proftpd-1.3.8c/config.log
lgetxattr: found in proftpd-1.3.8c/config.log
llistxattr: found in proftpd-1.3.8c/config.log
lremovexattr: found in proftpd-1.3.8c/config.log
lsetxattr: found in proftpd-1.3.8c/config.log
SSLeay_add_all_algorithms: found in proftpd-1.3.8c/config.log, proftpd-1.3.8c/contrib/mod_sftp/config.log

after autoconf w/ patch applied :
+ strchr: found in proftpd-1.3.8c/config.log
- make_scrambled_password: found in proftpd-1.3.8c/config.log
- make_scrambled_password_323: found in proftpd-1.3.8c/config.log
- my_make_scrambled_password: found in proftpd-1.3.8c/config.log
- my_make_scrambled_password_323: found in proftpd-1.3.8c/config.log
48 changes: 0 additions & 48 deletions net/proftpd/files/dynamic_lookup-11.patch

This file was deleted.