diff options
author | Luke Shumaker <LukeShu@sbcglobal.net> | 2013-04-22 10:52:18 -0400 |
---|---|---|
committer | Luke Shumaker <LukeShu@sbcglobal.net> | 2013-04-22 10:52:18 -0400 |
commit | 908d987dd1dcd4899f8f7f0878514c22ca8048b7 (patch) | |
tree | 29bf5986774207c3453044e1f370fb98d2431265 /pcr/inspircd | |
parent | 308bfb446305a96dffce945b6c4fb82b10d1b91b (diff) | |
parent | 8351d69e64a40d68fa32cfeea227b6fcf7afe974 (diff) | |
download | abslibre-908d987dd1dcd4899f8f7f0878514c22ca8048b7.tar.gz abslibre-908d987dd1dcd4899f8f7f0878514c22ca8048b7.tar.bz2 abslibre-908d987dd1dcd4899f8f7f0878514c22ca8048b7.zip |
Merge branch 'master' of ssh://parabolagnulinux.org:1863/srv/git/abslibre
Diffstat (limited to 'pcr/inspircd')
-rw-r--r-- | pcr/inspircd/PKGBUILD | 68 | ||||
-rw-r--r-- | pcr/inspircd/inspircd.install | 15 | ||||
-rw-r--r-- | pcr/inspircd/inspircd.rcd | 54 | ||||
-rw-r--r-- | pcr/inspircd/inspircd.service | 17 |
4 files changed, 154 insertions, 0 deletions
diff --git a/pcr/inspircd/PKGBUILD b/pcr/inspircd/PKGBUILD new file mode 100644 index 000000000..3de3d5e57 --- /dev/null +++ b/pcr/inspircd/PKGBUILD @@ -0,0 +1,68 @@ +pkgname=inspircd +pkgver=2.0.8 +pkgrel=2 +pkgdesc='A lightweight IRC daemon' +arch=('x86_64' 'i686' 'mips64el') +url='http://www.inspircd.org/' +license=('GPL2') +depends=('perl') +makedepends=('pkg-config' 'libmysqlclient' 'postgresql' 'sqlite3' 'libldap' 'geoip' + 'tre' 'gnutls' 'openssl' 'libgcrypt') +optdepends=('gnutls: m_ssl_gnutls' + 'libgcrypt: m_ssl_gnutls' + 'openssl: m_ssl_openssl' + 'libmysqlclient: m_mysql' + 'pcre: m_regex_pcre' + 'postgresql: m_pgsql' + 'sqlite3: m_sqlite3' + 'libldap: m_ldapoper and m_ldapauth' + 'geoip: m_geoip' + 'tre: m_regex_tre') +install=inspircd.install + +source=(https://github.com/downloads/inspircd/inspircd/InspIRCd-$pkgver.tar.bz2 + inspircd.rcd inspircd.service) +sha1sums=('c8bcbc222df40bc8110cefdb4a1fee91ad7c73d1' + '59c4aa6929732fb076ca2be96a01385cae9e8484' + '667b28d0d086be6daad7a0c2f110c68e6526264e') + +build() { + cd "${srcdir}/inspircd" + + ./configure \ + --enable-extras=m_geoip.cpp \ + --enable-extras=m_ldapauth.cpp \ + --enable-extras=m_ldapoper.cpp \ + --enable-extras=m_mysql.cpp \ + --enable-extras=m_pgsql.cpp \ + --enable-extras=m_regex_pcre.cpp \ + --enable-extras=m_regex_posix.cpp \ + --enable-extras=m_regex_tre.cpp \ + --enable-extras=m_sqlite3.cpp + + ./configure \ + --prefix=/usr/lib/inspircd \ + --binary-dir=/usr/sbin \ + --module-dir=/usr/lib/inspircd/modules \ + --config-dir=/etc/inspircd \ + --enable-gnutls \ + --enable-openssl \ + --enable-epoll + + make +} + +package() { + install -Dm755 "${srcdir}"/inspircd.rcd "${pkgdir}"/etc/rc.d/inspircd + install -Dm644 "${srcdir}"/inspircd.service "${pkgdir}"/usr/lib/systemd/system/inspircd.service + install -o141 -g141 -dm750 "${pkgdir}/var/log/inspircd" + + cd "${srcdir}/inspircd" + make DESTDIR="$pkgdir" INSTUID=141 install + + mkdir -p "${pkgdir}"/usr/share/inspircd + mv "${pkgdir}"/etc/inspircd/examples "${pkgdir}"/usr/share/inspircd/examples + + rm -rf "${pkgdir}"/usr/lib/inspircd/logs + rm -rf "${pkgdir}"/usr/lib/inspircd/data +} diff --git a/pcr/inspircd/inspircd.install b/pcr/inspircd/inspircd.install new file mode 100644 index 000000000..ec97113f5 --- /dev/null +++ b/pcr/inspircd/inspircd.install @@ -0,0 +1,15 @@ +post_install() { + getent group inspircd &>/dev/null || groupadd -r -g 141 inspircd >/dev/null + getent passwd inspircd &>/dev/null || useradd -r -u 141 -g inspircd -d /var/lib/inspircd -s /bin/false -c inspircd inspircd >/dev/null + + echo '==> You will need to create a config file for inspircd' + echo '==> cp /etc/inspircd/inspircd.conf.example /etc/inspircd/inspircd.conf' + echo '==> You will need to change the pidfile. To do this you can insert the following into your config.' + echo '==> <pid file="/var/run/inspircd/inspircd.pid">' + echo '==> Remember to use absolute paths in your config directory and not relative paths like you would do with a user-based inspircd install.' +} + +post_remove() { + getent passwd inspircd &>/dev/null && userdel inspircd >/dev/null + getent group inspircd &>/dev/null && groupdel inspircd >/dev/null +} diff --git a/pcr/inspircd/inspircd.rcd b/pcr/inspircd/inspircd.rcd new file mode 100644 index 000000000..5dbd8198e --- /dev/null +++ b/pcr/inspircd/inspircd.rcd @@ -0,0 +1,54 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +get_pid() { + pidof /usr/sbin/inspircd +} + +case "$1" in + start) + stat_busy "Starting inspircd" + PID=$(get_pid) + if [ -z "$PID" ]; then + su -s /bin/sh -c '/usr/sbin/inspircd --logfile /var/log/inspircd/startup.log --config /etc/inspircd/inspircd.conf' 'inspircd' > /dev/null + if [ $? -gt 0 ]; then + stat_fail + exit 1 + else + add_daemon inspircd + stat_done + fi + else + stat_fail + exit 1 + fi + ;; + + stop) + stat_busy "Stopping inspircd" + PID=$(get_pid) + [ ! -z "$PID" ] && kill $PID + if [ $? -gt 0 ]; then + stat_fail + exit 1 + else + rm_daemon inspircd + stat_done + fi + ;; + + restart) + $0 stop + $0 start + ;; + + rehash|reload) + kill -HUP $(get_pid) + ;; + + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/pcr/inspircd/inspircd.service b/pcr/inspircd/inspircd.service new file mode 100644 index 000000000..83230b65c --- /dev/null +++ b/pcr/inspircd/inspircd.service @@ -0,0 +1,17 @@ +[Unit] +Description=InspIRCd IRC daemon +Requires=network.target +After=network.target + +[Service] +Type=forking +PIDFile=/var/lib/inspircd/inspircd.pid +ExecStart=/usr/lib/inspircd/inspircd start +ExecReload=/usr/lib/inspircd/inspircd rehash +ExecStop=/usr/lib/inspircd/inspircd stop +Restart=on-failure +User=inspircd +Group=inspircd + +[Install] +Alias=ircd.service |