diff options
-rw-r--r-- | .SRCINFO | 22 | ||||
-rw-r--r-- | PKGBUILD | 54 | ||||
-rw-r--r-- | ircservices | 55 | ||||
-rw-r--r-- | ircservices.install | 15 | ||||
-rw-r--r-- | path-patch.patch | 15 |
5 files changed, 161 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..fd73a152165c --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,22 @@ +pkgbase = ircservices + pkgdesc = Services for IRC (NickServ, ChanServ, MemoServ) + pkgver = 5.1.24 + pkgrel = 3 + url = http://www.ircservices.za.net/ + install = ircservices.install + arch = i686 + arch = x86_64 + license = GPL + makedepends = patch + depends = glibc + options = !makeflags + options = emptydirs + source = http://achurch.org/services/tarballs/ircservices-5.1.24.tar.gz + source = path-patch.patch + source = ircservices + md5sums = d4f531537aeed230026cf5560f221ecb + md5sums = 7e4bbf6fb398323afc8e85656ec82c13 + md5sums = d5d6409ab04b3a715f9adc29a4fb8a2d + +pkgname = ircservices + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..f083e96d9116 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,54 @@ +# $Id: PKGBUILD 65577 2012-02-21 09:04:03Z spupykin $ +# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> +# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com> + +pkgname=ircservices +pkgver=5.1.24 +pkgrel=3 +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 +source=(http://achurch.org/services/tarballs/ircservices-$pkgver.tar.gz + path-patch.patch + ircservices) +md5sums=('d4f531537aeed230026cf5560f221ecb' + '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/bin#" ./Makefile.inc +} + +package() { + cd $srcdir/$pkgname-$pkgver + install -d -m 0755 $pkgdir/usr/bin + 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/bin/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/ircservices b/ircservices new file mode 100644 index 000000000000..9acd2a6c6b9f --- /dev/null +++ b/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/ircservices.install b/ircservices.install new file mode 100644 index 000000000000..a6d3fa1ab71d --- /dev/null +++ b/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/path-patch.patch b/path-patch.patch new file mode 100644 index 000000000000..b7dd78a619f3 --- /dev/null +++ b/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 |