summaryrefslogtreecommitdiff
path: root/community/proftpd
diff options
context:
space:
mode:
Diffstat (limited to 'community/proftpd')
-rw-r--r--community/proftpd/PKGBUILD64
-rwxr-xr-xcommunity/proftpd/proftpd41
-rw-r--r--community/proftpd/proftpd.conf.d4
-rw-r--r--community/proftpd/proftpd.install3
-rw-r--r--community/proftpd/proftpd.logrotate5
-rw-r--r--community/proftpd/proftpd.service12
-rw-r--r--community/proftpd/proftpd.tmpfiles1
7 files changed, 130 insertions, 0 deletions
diff --git a/community/proftpd/PKGBUILD b/community/proftpd/PKGBUILD
new file mode 100644
index 000000000..a37843c18
--- /dev/null
+++ b/community/proftpd/PKGBUILD
@@ -0,0 +1,64 @@
+# $Id: PKGBUILD 83174 2013-01-27 16:24:33Z pierre $
+# Maintainer:
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=proftpd
+pkgver=1.3.4b
+pkgrel=3
+epoch=1
+pkgdesc="A high-performance, scalable FTP server"
+arch=('i686' 'x86_64')
+url="http://www.proftpd.org/"
+license=('GPL')
+depends=('libmysqlclient' 'postgresql-libs')
+backup=('etc/proftpd.conf' 'etc/conf.d/proftpd')
+install=${pkgname}.install
+source=(ftp://ftp.proftpd.org/distrib/source/${pkgname}-${pkgver}.tar.gz{,.asc}
+ 'proftpd' 'proftpd.logrotate' 'proftpd.conf.d' 'proftpd.service'
+ 'proftpd.tmpfiles')
+md5sums=('0871e0b93c9c3c88ca950b6d9a04aed2'
+ 'e5b9bd78029a15f82994efcb7ed2e9fb'
+ 'c439a0a1dbc21b604d8382da87aa021b'
+ 'ddb09eb13131becdf0e081eef413116b'
+ '71d5932b0461c318ed68c2c0c2660736'
+ '5709f27ebcbe906e52963ea75e4fde64'
+ '907b149a120b046f05647c73502e23c9')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ ./configure --prefix=/usr \
+ --libexecdir=/usr/lib \
+ --disable-pam \
+ --with-modules=mod_quotatab:mod_quotatab_sql:mod_quotatab_file:mod_tls:mod_ldap:mod_sql:mod_sql_mysql:mod_sql_postgres \
+ --sysconfdir=/etc \
+ --localstatedir=/run/proftpd \
+ --enable-ctrls \
+ --enable-ipv6 \
+ --with-includes=/usr/include/mysql:/usr/include/postgresql \
+ --with-libraries=/usr/lib/mysql:/usr/lib/postgresql \
+ --enable-nls \
+ --with-systemd
+
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+ sed -i 's|nogroup|nobody|g' "${pkgdir}/etc/proftpd.conf"
+
+ install -Dm644 ../proftpd.logrotate "${pkgdir}/etc/logrotate.d/proftpd"
+ install -Dm644 ../proftpd.conf.d "${pkgdir}/etc/conf.d/proftpd"
+ install -Dm755 ../proftpd "${pkgdir}/etc/rc.d/proftpd"
+ install -Dm755 contrib/xferstats.holger-preiss "${pkgdir}/usr/bin/ftpstats"
+
+ install -d "${pkgdir}/usr/lib/systemd/system/"
+ install -m644 "${srcdir}"/proftpd.service "${pkgdir}/usr/lib/systemd/system/"
+ install -Dm644 "${srcdir}"/proftpd.tmpfiles \
+ "${pkgdir}"/usr/lib/tmpfiles.d/proftpd.conf
+
+ # /run is tmpfs
+ rmdir "${pkgdir}"/run/{proftpd,}
+}
diff --git a/community/proftpd/proftpd b/community/proftpd/proftpd
new file mode 100755
index 000000000..9ea1d47fc
--- /dev/null
+++ b/community/proftpd/proftpd
@@ -0,0 +1,41 @@
+#!/bin/bash
+
+# source application-specific settings
+PROFTPD_ARGS=
+[ -f /etc/conf.d/proftpd ] && . /etc/conf.d/proftpd
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+case "$1" in
+ start)
+ stat_busy "Starting ProFTPd Server"
+ /usr/sbin/proftpd ${PROFTPD_ARGS}
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon proftpd
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping ProFTPd Server"
+ [ -f /run/proftpd/proftpd.pid ] && kill $(cat /run/proftpd/proftpd.pid) &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm -f /run/proftpd/proftpd.pid
+ rm_daemon proftpd
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
+
diff --git a/community/proftpd/proftpd.conf.d b/community/proftpd/proftpd.conf.d
new file mode 100644
index 000000000..1a5a8a201
--- /dev/null
+++ b/community/proftpd/proftpd.conf.d
@@ -0,0 +1,4 @@
+#
+# Parameters to be passed to proftpd
+#
+PROFTPD_ARGS=""
diff --git a/community/proftpd/proftpd.install b/community/proftpd/proftpd.install
new file mode 100644
index 000000000..6d9888496
--- /dev/null
+++ b/community/proftpd/proftpd.install
@@ -0,0 +1,3 @@
+post_install() {
+ systemd-tmpfiles --create proftpd.conf
+}
diff --git a/community/proftpd/proftpd.logrotate b/community/proftpd/proftpd.logrotate
new file mode 100644
index 000000000..7b6d7a87b
--- /dev/null
+++ b/community/proftpd/proftpd.logrotate
@@ -0,0 +1,5 @@
+/var/log/xferlog {
+ postrotate
+ /bin/kill -HUP `cat /var/run/proftpd.pid 2>/dev/null` 2>/dev/null || true
+ endscript
+}
diff --git a/community/proftpd/proftpd.service b/community/proftpd/proftpd.service
new file mode 100644
index 000000000..a07d17f46
--- /dev/null
+++ b/community/proftpd/proftpd.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=ProFTPD FTP Server
+After=network.target
+
+[Service]
+Type=forking
+PIDFile=/run/proftpd/proftpd.pid
+ExecStart=/usr/sbin/proftpd
+ExecReload=/bin/kill -HUP $MAINPID
+
+[Install]
+WantedBy = multi-user.target
diff --git a/community/proftpd/proftpd.tmpfiles b/community/proftpd/proftpd.tmpfiles
new file mode 100644
index 000000000..241dc7cb1
--- /dev/null
+++ b/community/proftpd/proftpd.tmpfiles
@@ -0,0 +1 @@
+d /run/proftpd 0755 root root