aboutsummaryrefslogtreecommitdiffstats
path: root/community/proftpd/APKBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'community/proftpd/APKBUILD')
-rw-r--r--community/proftpd/APKBUILD194
1 files changed, 194 insertions, 0 deletions
diff --git a/community/proftpd/APKBUILD b/community/proftpd/APKBUILD
new file mode 100644
index 0000000000..c821f3d08c
--- /dev/null
+++ b/community/proftpd/APKBUILD
@@ -0,0 +1,194 @@
+# Contributor: Pedro Filipe <pedrofilipe64@gmail.com>
+# Contributor: Elizabeth Jennifer Myers <elizabeth@sporksirc.net>
+# Contributor: Valery Kartel <valery.kartel@gmail.com>
+# Maintainer: Valery Kartel <valery.kartel@gmail.com>
+# Maintainer: Simon Frankenberger <simon-alpine@fraho.eu>
+pkgname=proftpd
+pkgver=1.3.7a
+_pkgver=${pkgver/_/}
+pkgrel=0
+pkgdesc="Highly configurable FTP server software"
+url="https://github.com/proftpd/proftpd"
+pkgusers=$pkgname
+pkggroups=$pkgname
+arch="all"
+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="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
+
+source="$pkgname-$_pkgver.tar.gz::https://github.com/proftpd/proftpd/archive/v$_pkgver.tar.gz
+ fix-autoconf.patch
+ fix-ar-dir.patch
+
+ $pkgname.logrotate
+ $pkgname.initd
+ $pkgname.conf
+ mod_sftp.conf
+ mod_tls_shmcache.conf"
+
+builddir="$srcdir/$pkgname-$_pkgver/"
+
+prepare() {
+ default_prepare
+ autoreconf -f
+}
+
+check() {
+ make check
+}
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc/$pkgname \
+ --localstatedir=/run/$pkgname \
+ --libexecdir=/usr/lib/$pkgname \
+ --disable-static \
+ --enable-sendfile \
+ --enable-facl \
+ --enable-dso \
+ --enable-autoshadow \
+ --enable-ctrls \
+ --enable-ipv6 \
+ --enable-pcre \
+ --disable-strip \
+ --disable-wtmp \
+ --disable-auth-pam \
+ --enable-openssl \
+ --with-shared=$_modules
+ make
+}
+
+package() {
+ make DESTDIR="$pkgdir" -j1 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/lib/pkgconfig \
+ "$pkgdir"/usr/include
+}
+
+dev() {
+ default_dev
+ mkdir -p "$subpkgdir"/usr/bin
+ mv "$pkgdir"/usr/bin/prxs "$subpkgdir"/usr/bin
+}
+
+doc() {
+ default_doc
+ mkdir -p "$subpkgdir"/usr/share/doc/$pkgname
+ cd "$builddir"
+ cp -r RELEASE_NOTES doc/* contrib/README* \
+ contrib/mod_quotatab_ldap.ldif \
+ contrib/mod_quotatab_ldap.schema \
+ "$subpkgdir"/usr/share/doc/$pkgname
+}
+
+utils() {
+ pkgdesc="$pkgdesc (utilities)"
+ depends="$pkgname perl-mail-sendmail"
+ mkdir -p "$subpkgdir"/usr/sbin
+ mv "$pkgdir"/usr/sbin/ftpscrub \
+ "$pkgdir"/usr/sbin/ftpshut \
+ "$subpkgdir"/usr/sbin
+ mv "$pkgdir"/usr/bin "$subpkgdir"/usr
+}
+
+_module() {
+ local name=${subpkgname#$pkgname-}
+ 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
+ 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
+}
+
+_post_mod_snmp() {
+ mkdir -p "$subpkgdir"/usr/share/snmp/mibs
+ mv "$pkgdir"/etc/$pkgname/PROFTPD-MIB.txt \
+ "$subpkgdir"/usr/share/snmp/mibs
+}
+
+_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="abb53c494677001b6d8d5a15af4ae47e2527025c952667b8c42e144452266d2b7f89b57e68c96177e6054733eb5e5d04cc1c0cf61ff7c3697910e0a525a9de87 proftpd-1.3.7a.tar.gz
+6e1679de13fb504fbeaa12eb28492af1b3ef7303c0a6ce0a341d5dfda5ce01061c0986c3619eacceab01897eb11fdc54e1f5f419180e75ab906a47e74df3870c fix-autoconf.patch
+00cceed4c7fb98a109e1f7059e352d02cdbe9805df6e9de052fd44a9562f31234fbd72a57f92f6612b69c8ed6b946b7b9a5dd75ff98ce43b9eaf74ac48fabeda fix-ar-dir.patch
+142f8ba096844eb48883cdd3890fa3c0c4c8f73f7ce4f2acd5fb742053f8a3605b3f6ca5d5ab6c62c673d76eb60885d796af55bd7b53950794c4e7e2837973b8 proftpd.logrotate
+a03124a88c0c9f3981762804c62aa479f36227f24408a60437bf737c1e783c539a2d2c0aed0b1d95e56a587bdb5c372f6d670c298cdb7433ecd1f64d4bef7c42 proftpd.initd
+c6c6b6c32dd00d31fc1e328e989c77944aac993818747da05794c9560a270630e9bc7e09ac29215b57bcc709299d3720ae9009d3e2a94a0aef8cc5729fae1d0b proftpd.conf
+8c810838219dd0663d3a7390c4e3a31739c1389238f92f856a4c74cd5a71317e1cae0dcfecc4e43cc3057f8c4132539e87511e06620debb2f166694a15adc13e mod_sftp.conf
+2b5beaa4e01588b6d936b7ffda790e270fcba1e337eb43af11a1ad9c615d443d627c4bf66fe2b7946e57c65f5b1075568ab32df3c982e7e7d263b39d422693cd mod_tls_shmcache.conf"