diff options
Diffstat (limited to 'community/proftpd')
-rw-r--r-- | community/proftpd/PKGBUILD | 64 | ||||
-rwxr-xr-x | community/proftpd/proftpd | 41 | ||||
-rw-r--r-- | community/proftpd/proftpd.conf.d | 4 | ||||
-rw-r--r-- | community/proftpd/proftpd.install | 3 | ||||
-rw-r--r-- | community/proftpd/proftpd.logrotate | 5 | ||||
-rw-r--r-- | community/proftpd/proftpd.service | 12 | ||||
-rw-r--r-- | community/proftpd/proftpd.tmpfiles | 1 |
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 |