summaryrefslogtreecommitdiff
path: root/community/ircservices
diff options
context:
space:
mode:
authorParabola <dev@list.parabolagnulinux.org>2011-04-05 14:26:38 +0000
committerParabola <dev@list.parabolagnulinux.org>2011-04-05 14:26:38 +0000
commit415856bdd4f48ab4f2732996f0bae58595092bbe (patch)
treeede2018b591f6dfb477fe9341ba17b9bc000fab9 /community/ircservices
Tue Apr 5 14:26:38 UTC 2011
Diffstat (limited to 'community/ircservices')
-rw-r--r--community/ircservices/PKGBUILD54
-rwxr-xr-xcommunity/ircservices/ircservices55
-rw-r--r--community/ircservices/ircservices.install15
-rw-r--r--community/ircservices/path-patch.patch15
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