aboutsummaryrefslogtreecommitdiffstats
path: root/testing/proftpd/APKBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'testing/proftpd/APKBUILD')
-rw-r--r--testing/proftpd/APKBUILD183
1 files changed, 105 insertions, 78 deletions
diff --git a/testing/proftpd/APKBUILD b/testing/proftpd/APKBUILD
index 789a71cdf8..37888182c3 100644
--- a/testing/proftpd/APKBUILD
+++ b/testing/proftpd/APKBUILD
@@ -3,86 +3,105 @@
# Contributor: Valery Kartel <valery.kartel@gmail.com>
# Maintainer: Valery Kartel <valery.kartel@gmail.com>
pkgname=proftpd
-pkgver=1.3.6
-pkgrel=7
-_pkgver=${pkgver/_rc/rc}
+pkgver=1.3.7_rc3
+_pkgver=${pkgver/_/}
+pkgrel=0
pkgdesc="Highly configurable FTP server software"
-url="http://www.proftpd.org/"
+url="https://github.com/proftpd/proftpd"
pkgusers=$pkgname
pkggroups=$pkgname
arch="all"
-license="GPL"
-options="!check"
-depends=""
-depends_dev="perl"
-makedepends="$depends_dev bash file pcre-dev libmemcached-dev openssl-dev sqlite-dev mariadb-connector-c-dev
- hiredis-dev unixodbc-dev postgresql-dev openldap-dev geoip-dev net-snmp-dev"
+license="GPL-2.0-or-later"
+options="!check" # almost all checks fail, disbled for now
+makedepends="autoconf
+ automake
+ pcre-dev
+ libmemcached-dev
+ openssl-dev
+ sqlite-dev
+ mariadb-connector-c-dev
+ hiredis-dev
+ unixodbc-dev
+ postgresql-dev
+ openldap-dev
+ geoip-dev
+ net-snmp-dev"
install="$pkgname.pre-install"
-_modules="auth_file auth_otp:sftp ban copy ctrls_admin deflate delay dnsbl dynmasq exec geoip
- facl facts ident ifsession:=zz ifversion lang ldap load log_forensic memcache qos
- quotatab:-- quotatab_file:quotatab quotatab_ldap:quotatab quotatab_radius:quotatab
- quotatab_sql:quotatab,sql radius ratio readme redis rewrite sftp_sql:sftp,sql site_misc
- shaper sql:-- sql_passwd:sql sql_sqlite:sql sql_mysql:sql sql_odbc:sql sql_postgres:sql
- statcache tls tls_fscache:tls tls_memcache:tls tls_redis:tls tls_shmcache:tls unique_id
- wrap2:-- wrap2_file:wrap2 wrap2_redis:wrap2,redis wrap2_sql:wrap2,sql"
-for _module in $_modules; do
- [ -z "${_module##*:*}" ] && eval _load_mod_${_module%:*}=${_module#*:}
- subpackages="$subpackages $pkgname-mod_${_module%:*}:_module"
- _shared_mods="${_shared_mods:+$_shared_mods:}mod_${_module%:*}"
+
+_modules="$_modules:mod_unique_id:mod_site_misc:mod_load:mod_ban:mod_quotatab:mod_sql:mod_sql_mysql:mod_sql_postgres:mod_sql_sqlite:mod_sql_odbc:mod_dynmasq"
+_modules="$_modules:mod_quotatab_sql:mod_ldap:mod_quotatab_ldap:mod_ratio:mod_tls:mod_rewrite:mod_radius:mod_wrap2:mod_wrap2_file"
+_modules="$_modules:mod_wrap2_sql:mod_quotatab_file:mod_quotatab_radius:mod_facl:mod_ctrls_admin:mod_copy:mod_deflate:mod_ifversion"
+_modules="$_modules:mod_geoip:mod_exec:mod_sftp:mod_sftp_sql:mod_shaper:mod_sql_passwd:mod_ifsession:mod_auth_otp:mod_tls_redis"
+_modules="$_modules:mod_wrap2_redis:mod_redis:mod_memcache:mod_tls_memcache:mod_readme:mod_snmp:mod_tls_shmcache"
+
+subpackages="$pkgname-doc
+ $pkgname-utils
+ $pkgname-openrc"
+
+for _module in ${_modules//:/ }; do
+ subpackages="$subpackages $pkgname-$_module:_module"
done
-subpackages="$pkgname-dev $pkgname-doc $pkgname-utils
- $pkgname-mod_sftp $pkgname-mod_snmp $subpackages
- "
-source="ftp://ftp.proftpd.org/distrib/source/$pkgname-$_pkgver.tar.gz
- openssl-1.1.1.patch
+
+source="$pkgname-$_pkgver.tar.gz::https://github.com/proftpd/proftpd/archive/v$_pkgver.tar.gz
+ fix-autoconf.patch
+
$pkgname.logrotate
$pkgname.initd
- mod_delay.conf
- mod_load.conf
+ $pkgname.conf
mod_sftp.conf
- mod_tls_shmcache.conf
- "
-builddir="$srcdir/$pkgname-$_pkgver"
+ mod_tls_shmcache.conf"
+
+builddir="$srcdir/$pkgname-$_pkgver/"
+
prepare() {
default_prepare
update_config_guess
+ autoreconf -f
+}
+
+check() {
+ make check
}
build() {
- cd "$builddir"
./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
--prefix=/usr \
--sysconfdir=/etc/$pkgname \
--localstatedir=/run/$pkgname \
--libexecdir=/usr/lib/$pkgname \
- --disable-strip \
- --disable-pam \
- --disable-wtmp \
- --enable-dso \
+ --disable-static \
+ --enable-sendfile \
--enable-facl \
- --enable-pcre \
- --enable-ipv6 \
+ --enable-dso \
+ --enable-autoshadow \
--enable-ctrls \
+ --enable-ipv6 \
+ --enable-pcre \
+ --disable-strip \
+ --disable-wtmp \
+ --disable-auth-pam \
--enable-openssl \
- --with-shared=mod_sftp:mod_snmp:$_shared_mods
+ --with-shared=$_modules
make
}
package() {
- make -C "$builddir" DESTDIR="$pkgdir" install
- sed -i -e "5 a Include /etc/$pkgname/modules.d/*.conf" \
- -e "5 a Include /etc/$pkgname/conf.d/*.conf\n" \
- -e "s/nobody/$pkgname/" \
- -e "s/nogroup/$pkgname/" \
- "$pkgdir"/etc/$pkgname/$pkgname.conf
+ make DESTDIR="$pkgdir" install
mkdir -p "$pkgdir"/var/log/$pkgname \
"$pkgdir"/etc/$pkgname/conf.d \
"$pkgdir"/etc/$pkgname/modules.d
+
+ install -Dm644 "$srcdir"/$pkgname.conf "$pkgdir"/etc/$pkgname/$pkgname.conf
install -dm750 -o ftp -g ftp "$pkgdir"/var/lib/ftp
install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
install -Dm644 "$srcdir"/$pkgname.logrotate "$pkgdir"/etc/logrotate.d/$pkgname
+
rm -fr "$pkgdir"/run "$pkgdir"/usr/share/locale \
- "$pkgdir"/usr/sbin/in.$pkgname
+ "$pkgdir"/usr/sbin/in.$pkgname \
+ "$pkgdir"/usr/lib/pkgconfig \
+ "$pkgdir"/usr/include
}
dev() {
@@ -103,7 +122,7 @@ doc() {
utils() {
pkgdesc="$pkgdesc (utilities)"
- depends="$pkgname perl perl-mail-sendmail"
+ depends="$pkgname perl-mail-sendmail"
mkdir -p "$subpkgdir"/usr/sbin
mv "$pkgdir"/usr/sbin/ftpscrub \
"$pkgdir"/usr/sbin/ftpshut \
@@ -113,53 +132,61 @@ utils() {
_module() {
local name=${subpkgname#$pkgname-}
- local load=$(eval echo \$_load_$name)
+ local module_name=${name#mod_}
+ local module_dep=${module_name%%_*}
+
pkgdesc="ProFTPd module: $name"
depends="$pkgname"
mkdir -p "$subpkgdir"/usr/lib/$pkgname
- mv "$pkgdir"/usr/lib/$pkgname/$name.so \
- "$subpkgdir"/usr/lib/$pkgname
- [ -f "$srcdir"/$name.conf ] && install -Dm644 "$srcdir"/$name.conf \
- "$subpkgdir"/etc/$pkgname/conf.d/${name#mod_}.conf
- if [ "$load" != "--" ]; then
- local file="$subpkgdir"/etc/$pkgname/modules.d/${name#mod_}.conf
- if [ -z "${load##=*}" ]; then
- file="$subpkgdir"/etc/$pkgname/modules.d/${load#=}${name#mod_}.conf
- load=""
- fi
- mkdir -p ${file%/*}
- echo "<IfModule !$name.c>" > $file
- local dep; for dep in $(echo $load | tr "," " "); do
- depends="$depends $pkgname-mod_$dep"
- echo " <IfModule !mod_$dep.c>" >> $file
- echo " LoadModule mod_$dep.c" >> $file
- echo " </IfModule>" >> $file
- done
- echo " LoadModule $name.c" >> $file
- echo "</IfModule>" >> $file
+ mv "$pkgdir"/usr/lib/$pkgname/$name.so "$subpkgdir"/usr/lib/$pkgname
+ if [ -f "$srcdir"/$name.conf ]; then
+ install -Dm644 "$srcdir"/$name.conf \
+ "$subpkgdir"/etc/$pkgname/conf.d/$module_name.conf
fi
+
+ local file="$subpkgdir"/etc/$pkgname/modules.d/$module_name.conf
+ mkdir -p ${file%/*}
+ {
+ echo "<IfModule !$name.c>"
+ if [ "$module_name" != "$module_dep" ]; then
+ depends="$depends $pkgname-mod_$module_dep"
+ echo " <IfModule !mod_$module_dep.c>"
+ echo " LoadModule mod_$module_dep.c"
+ echo " </IfModule>"
+ fi
+ echo " LoadModule $name.c"
+ echo "</IfModule>"
+ } >$file
+
+ # thats fine
+ # shellcheck disable=2015
+ type -q _post_$name && eval _post_$name || true
}
-mod_snmp() {
- _module
+_post_mod_snmp() {
mkdir -p "$subpkgdir"/usr/share/snmp/mibs
mv "$pkgdir"/etc/$pkgname/PROFTPD-MIB.txt \
"$subpkgdir"/usr/share/snmp/mibs
}
-mod_sftp() {
- _module
+_post_mod_ldap() {
+ mkdir -p "$subpkgdir"/etc/$pkgname
+ cp "$builddir"/contrib/mod_quotatab_ldap.ldif \
+ "$builddir"/contrib/mod_quotatab_ldap.schema \
+ "$subpkgdir"/etc/$pkgname
+}
+
+_post_mod_sftp() {
mkdir -p "$subpkgdir"/etc/$pkgname/authorized_keys
mv "$pkgdir"/etc/$pkgname/dhparams.pem \
"$pkgdir"/etc/$pkgname/blacklist.dat \
"$subpkgdir"/etc/$pkgname/
}
-sha512sums="2a3ca76a0c35ba31e9d79f7f652f4f35768262f5039c5dc04ef83ac9218f624645ac6cee445af4ec6a8c59a9bdad1e7b48e0e90cd13934cbe7c3e77a2f6013c0 proftpd-1.3.6.tar.gz
-9ef193a2b3f84103775c8df7636da2d4e7d1937f15c745005a99a4dcfd9db96d45c81490aeba04251bb975cdceb1be8015162a957fcd0a6f3dcd3054f6293a1a openssl-1.1.1.patch
+sha512sums="cab3ffee0ce6b921596cafc5fd2e0059c59a03f790791973b502e6384d45f0880b94e0d0961c3b230541a1785e9b0afa3d80276c82f4720696a46ea6594d744f proftpd-1.3.7rc3.tar.gz
+d127ffe52df1d0130cc838eaf8aaf2e2980704cd840afd7e2ee30b1c0cd40440a1552b652c7e47b13306accd0cabdf35b8ab78e04141f2a83d60c310bcfbf311 fix-autoconf.patch
142f8ba096844eb48883cdd3890fa3c0c4c8f73f7ce4f2acd5fb742053f8a3605b3f6ca5d5ab6c62c673d76eb60885d796af55bd7b53950794c4e7e2837973b8 proftpd.logrotate
a03124a88c0c9f3981762804c62aa479f36227f24408a60437bf737c1e783c539a2d2c0aed0b1d95e56a587bdb5c372f6d670c298cdb7433ecd1f64d4bef7c42 proftpd.initd
-e918e9fdf42e46953faeb55f5a8e7e7afc8951b861059182993f45b7ca870b9bdfa261fc893923772060bf500c44f98503d44878473dce7534f0825a7ff87831 mod_delay.conf
-06c149f4c1b8e0deb8102a0ddbe5314354d53cb70934c9315968ab69b9d2b1e16c33bf652aba05472eac4ca44137ce18c93214bb1257fad6c6e2e9b0728cf556 mod_load.conf
-557cbf2c1ca3a724216837f98c0f86b7d14df5f91564e1aceef721389c4774562edbd584d3ce2611ea4b2853c50acd569c33302f534e6e60452cf12b4b997ece mod_sftp.conf
-768ce1e63b44eafb9033212655c9a5a9aa65a6f7e1b97b11210ccc0e49caf5c32dd2514dba10a098a4ab2c8bd5f3ad5167f337f5fa0a1cdd5efa4e37c980f6e5 mod_tls_shmcache.conf"
+c6c6b6c32dd00d31fc1e328e989c77944aac993818747da05794c9560a270630e9bc7e09ac29215b57bcc709299d3720ae9009d3e2a94a0aef8cc5729fae1d0b proftpd.conf
+8c810838219dd0663d3a7390c4e3a31739c1389238f92f856a4c74cd5a71317e1cae0dcfecc4e43cc3057f8c4132539e87511e06620debb2f166694a15adc13e mod_sftp.conf
+2b5beaa4e01588b6d936b7ffda790e270fcba1e337eb43af11a1ad9c615d443d627c4bf66fe2b7946e57c65f5b1075568ab32df3c982e7e7d263b39d422693cd mod_tls_shmcache.conf"