diff options
author | Parabola <dev@list.parabolagnulinux.org> | 2011-04-05 14:26:38 +0000 |
---|---|---|
committer | Parabola <dev@list.parabolagnulinux.org> | 2011-04-05 14:26:38 +0000 |
commit | 415856bdd4f48ab4f2732996f0bae58595092bbe (patch) | |
tree | ede2018b591f6dfb477fe9341ba17b9bc000fab9 /community/ircservices |
Tue Apr 5 14:26:38 UTC 2011
Diffstat (limited to 'community/ircservices')
-rw-r--r-- | community/ircservices/PKGBUILD | 54 | ||||
-rwxr-xr-x | community/ircservices/ircservices | 55 | ||||
-rw-r--r-- | community/ircservices/ircservices.install | 15 | ||||
-rw-r--r-- | community/ircservices/path-patch.patch | 15 |
4 files changed, 139 insertions, 0 deletions
diff --git a/community/ircservices/PKGBUILD b/community/ircservices/PKGBUILD new file mode 100644 index 000000000..0fb9aae45 --- /dev/null +++ b/community/ircservices/PKGBUILD @@ -0,0 +1,54 @@ +# $Id: PKGBUILD 44173 2011-04-04 11:41:07Z spupykin $ +# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> +# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com> + +pkgname=ircservices +pkgver=5.1.23 +pkgrel=2 +pkgdesc="Services for IRC (NickServ, ChanServ, MemoServ)" +arch=(i686 x86_64) +url="http://www.ircservices.za.net/" +license=('GPL') +depends=('glibc') +makedepends=('patch') +options=('!makeflags' 'emptydirs') +install=ircservices.install +source=(http://www.ircservices.za.net/download/ircservices-$pkgver.tar.gz + path-patch.patch + ircservices) +md5sums=('666351f44adf57effc310a7a5943c9a2' + '7e4bbf6fb398323afc8e85656ec82c13' + 'd5d6409ab04b3a715f9adc29a4fb8a2d') + +build() { + cd $srcdir/$pkgname-$pkgver + + patch -Np0 <../path-patch.patch + + ./configure -prefix /usr + + sed -i 's#getline#xgetline#' lang/langcomp.c + make + + sed -i "s#DATDEST=/usr/lib/ircservices#DATDEST=$pkgdir/usr/lib/ircservices#" ./Makefile.inc + sed -i "s#BINDEST=/usr/sbin#BINDEST=$pkgdir/usr/sbin#" ./Makefile.inc + + install -d -m 0755 $pkgdir/usr/sbin + install -d -m 0755 $pkgdir/usr/lib + install -d -m 0755 $pkgdir/etc/ircd + make DESTDIR=$pkgdir install + + install -D -m 0755 $srcdir/ircservices $pkgdir/etc/rc.d/ircservices + cd $pkgdir && chmod -R ugo+r * && chmod 0755 ./usr/sbin/ircservices + find -type d -exec chmod 0755 {} \; + install -d -m 0755 $pkgdir/var/lib/ircd + cd ./var/lib/ircd + ln -s /usr/lib/ircservices/modules modules + ln -s /usr/lib/ircservices/languages languages + ln -s /usr/lib/ircservices/helpfiles helpfiles + ln -s /etc/ircd/ircservices.conf ircservices.conf + ln -s /etc/ircd/modules.conf modules.conf + + mkdir -p $pkgdir/var/log/ircd + mv $pkgdir/usr/lib/ircservices/*.conf $pkgdir/etc/ircd/ +} diff --git a/community/ircservices/ircservices b/community/ircservices/ircservices new file mode 100755 index 000000000..9acd2a6c6 --- /dev/null +++ b/community/ircservices/ircservices @@ -0,0 +1,55 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +get_pid() { + pidof /usr/sbin/ircservices +} + +case "$1" in + start) + stat_busy "Starting IRC services" + + [ -d /var/run/ircd ] || mkdir -p /var/run/ircd + [ -f /var/run/ircd/ircservices.pid ] && rm -f /var/run/ircd/ircservices.pid + chown -R ircd.irc /var/run/ircd + PID=`get_pid` + if [ -z "$PID" ]; then + su -c '/usr/sbin/ircservices -dir=/var/lib/ircd/ -remote=127.0.0.1:6667 -log=/var/log/ircd/ircservices.log' ircd 1>>/var/log/ircd/stdout.log 2>>/var/log/ircd/sterr.log + if [ $? -gt 0 ]; then + stat_fail + exit 1 + else + add_daemon ircservices + stat_done + fi + else + stat_fail + exit 1 + fi + ;; + + stop) + stat_busy "Stopping IRC services" + PID=`get_pid` + [ ! -z "$PID" ] && kill $PID &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + exit 1 + else + rm -f /var/run/ircd/ircservices.pid &> /dev/null + rm_daemon ircservices + stat_done + fi + ;; + + restart) + $0 stop + sleep 3 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/community/ircservices/ircservices.install b/community/ircservices/ircservices.install new file mode 100644 index 000000000..a6d3fa1ab --- /dev/null +++ b/community/ircservices/ircservices.install @@ -0,0 +1,15 @@ +post_install() { + groupadd irc + useradd -G irc ircd + chown -R ircd.irc /var/log/ircd + chown -R ircd.irc /var/lib/ircd +} + +post_upgrade() { + chown -R ircd.irc /var/log/ircd + chown -R ircd.irc /var/lib/ircd +} + +post_remove() { + echo "-- Don't forget to remove ircd user and irc group if you do not use it" +} diff --git a/community/ircservices/path-patch.patch b/community/ircservices/path-patch.patch new file mode 100644 index 000000000..b7dd78a61 --- /dev/null +++ b/community/ircservices/path-patch.patch @@ -0,0 +1,15 @@ +--- defs.h.org 2009-02-26 12:49:16.000000000 +0000 ++++ defs.h 2009-02-26 12:50:04.000000000 +0000 +@@ -17,10 +17,10 @@ + /******* General configuration *******/ + + /* Name of configuration file (in Services directory) */ +-#define IRCSERVICES_CONF PROGRAM ".conf" ++#define IRCSERVICES_CONF "/etc/ircd/" PROGRAM ".conf" + + /* Name of module configuration file (in Services directory) */ +-#define MODULES_CONF "modules.conf" ++#define MODULES_CONF "/etc/ircd/modules.conf" + + /* Maximum number of parameters for a configuration directive */ + #define CONFIG_MAXPARAMS 8 |