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/freeradius |
Tue Apr 5 14:26:38 UTC 2011
Diffstat (limited to 'community/freeradius')
-rw-r--r-- | community/freeradius/PKGBUILD | 39 | ||||
-rw-r--r-- | community/freeradius/freeradius.install | 22 | ||||
-rwxr-xr-x | community/freeradius/radiusd | 43 |
3 files changed, 104 insertions, 0 deletions
diff --git a/community/freeradius/PKGBUILD b/community/freeradius/PKGBUILD new file mode 100644 index 000000000..ed1322404 --- /dev/null +++ b/community/freeradius/PKGBUILD @@ -0,0 +1,39 @@ +# $Id: PKGBUILD 44168 2011-04-04 11:24:12Z spupykin $ +# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> +# Contributor: Jason R Begley (jayray@digitalgoat.com> + +pkgname=freeradius +pkgver=2.1.10 +pkgrel=5 +pkgdesc="The premier open source RADIUS server" +arch=('i686' 'x86_64') +url="http://www.freeradius.org/" +license=("GPL") +depends=('openssl' 'heimdal' 'pth' 'libldap>=2.4.18' 'net-snmp' 'pam' \ + 'postgresql-libs>=9.0.3' 'libtool' 'libmysqlclient' 'gdbm' 'shadow') +optdepends=('libpcap' 'unixodbc' 'python2') +options=('!libtool' 'emptydirs' '!makeflags') +install=$pkgname.install +source=(ftp://ftp.freeradius.org/pub/radius/freeradius-server-$pkgver.tar.bz2 \ + radiusd) +md5sums=('8ea2bd39460a06212decf2c14fdf3fb8' + 'f1a6530b1b69d2fa793aa45b2de379bb') + +build() { + cd $srcdir/freeradius-server-$pkgver + export CFLAGS="$CFLAGS -fno-strict-aliasing" + # Fix compilation with heimdal >= 1.3.1 + # Don't mess around with KRB5_DEPRECATED which is used internally :o + sed -i 's/ -DKRB5_DEPRECATED//' src/modules/rlm_krb5/Makefile.in + ./configure --with-system-libtool --with-system-libltdl \ + --prefix=/usr --enable-heimdal-krb5 \ + --localstatedir=/var \ + --sysconfdir=/etc \ + --libdir=/usr/lib/freeradius + make + make install R=$pkgdir + install -D -m755 ../radiusd $pkgdir/etc/rc.d/radiusd + chmod o+r $pkgdir/etc/raddb/* + mv $pkgdir/etc/raddb $pkgdir/etc/raddb.default + rm -rf $pkgdir/var/run +} diff --git a/community/freeradius/freeradius.install b/community/freeradius/freeradius.install new file mode 100644 index 000000000..e50aa403d --- /dev/null +++ b/community/freeradius/freeradius.install @@ -0,0 +1,22 @@ +post_install() { + groupadd radiusd + useradd -m -d /var/lib/radiusd -g radiusd -s /bin/false radiusd + + touch /var/log/radius/radius.log + chown -R radiusd.radiusd /var/log/radius/radius.log + + [ -d /etc/raddb ] || cp -a /etc/raddb.default /etc/raddb + + /bin/true +} + +pre_remove() { + /etc/rc.d/radiusd stop + /bin/true +} + +post_remove() { + userdel radiusd + groupdel radiusd + /bin/true +} diff --git a/community/freeradius/radiusd b/community/freeradius/radiusd new file mode 100755 index 000000000..bf872b6f2 --- /dev/null +++ b/community/freeradius/radiusd @@ -0,0 +1,43 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +PID=`pidof -o %PPID /usr/sbin/radiusd` +case "$1" in + start) + stat_busy "Starting radiusd Server" + + [ -d /var/run/radiusd ] || mkdir -p /var/run/radiusd + [ -f /var/run/radiusd/radiusd.pid ] || touch /var/run/radiusd/radiusd.pid + chown -R radiusd.radiusd /var/run/radiusd + + [ -z "$PID" ] && /usr/sbin/radiusd + if [ $? -gt 0 ]; then + stat_fail + else + echo $PID > /var/run/radiusd.pid + add_daemon radiusd + stat_done + fi + ;; + stop) + stat_busy "Stopping radiusd Server" + [ ! -z "$PID" ] && kill $PID &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm /var/run/radiusd.pid + rm_daemon radiusd + stat_done + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 |