# Contributor: Natanael Copa # Maintainer: Leonardo Arena pkgname=freeradius pkgver=2.1.12 pkgrel=3 pkgdesc="RADIUS (Remote Authentication Dial-In User Service) server" url="http://freeradius.org/" arch="all" license="GPL" depends="freeradius-lib freeradius-radclient" makedepends="openssl-dev pth-dev mysql-dev postgresql-dev gdbm-dev readline-dev bash libtool autoconf automake perl-dev python-dev openldap-dev unixodbc-dev linux-pam-dev" pkggroups="radiusd" pkgusers="radiusd" install="freeradius.pre-install" subpackages="$pkgname-doc $pkgname-dev $pkgname-ldap $pkgname-lib $pkgname-mssql $pkgname-mysql $pkgname-oracle $pkgname-perl $pkgname-postgresql $pkgname-python $pkgname-radclient $pkgname-unixodbc $pkgname-pam" source="ftp://ftp.freeradius.org/pub/freeradius/$pkgname-server-$pkgver.tar.gz freeradius.confd freeradius.initd " _builddir="$srcdir"/$pkgname-server-$pkgver prepare() { cd "$_builddir" # for i in ../*.patch; do # msg "Applying $i" # patch -p1 -i $i || return 1 # done # we dont have libnsl sed -i 's/nsl, //g' configure.in || return 1 # Fix compilation with heimdal >= 1.3.1 sed -i 's/ -DKRB5_DEPRECATED//' src/modules/rlm_krb5/Makefile.in || return 1 # Fix default config sed -i 's%run_dir = .*%run_dir = \$\{localstatedir\}/run/radius%' \ raddb/radiusd.conf.in || return 1 rm -f libtool.m4 libtoolize --force -c || return 1 aclocal && ./autogen.sh || return 1 } build() { cd "$_builddir" ./configure --prefix=/usr \ --sysconfdir=/etc \ --mandir=/usr/share/man \ --infodir=/usr/share/info \ --localstatedir=/var \ --libdir=/usr/lib/freeradius \ --disable-static \ --enable-shared \ --disable-ltdl-install \ --with-system-libtool \ --with-system-libltdl \ --with-udpfromto \ || return 1 # * workaround parallel build issue # * add -lssl to fix: # radiusd: symbol 'SSL_set_ex_data': can't resolve symbol in lib # '/usr/lib/freeradius/libfreeradius-eap-2.1.10.so'. make LDFLAGS="$LDFLAGS -lssl" LIBTOOL="$PWD/libtool" -j1 || return 1 } package() { cd "$_builddir" install -d -m0750 -o root -g radiusd "$pkgdir"/etc/raddb install -d -m0770 -o root -g radiusd "$pkgdir"/var/run/radius install -d -m0750 -o root -g radiusd "$pkgdir"/var/log/radius install -d -m0750 -o root -g radiusd "$pkgdir"/var/log/radius/radacct make -j1 R="$pkgdir" LIBTOOL="$PWD/libtool" install sed -i -e 's:^#user *= *nobody:user = radiusd:;s:^#group *= *nobody:group = radiusd:' \ "$pkgdir"/etc/raddb/radiusd.conf chown -R root:radiusd "$pkgdir"/etc/raddb/* rm -f "$pkgdir/usr/sbin/rc.radiusd" install -m755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/radiusd install -m644 -D "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/radiusd install -m644 -D scripts/logrotate.freeradius "$pkgdir"/etc/lorotate.d/$pkgname find $pkgdir -iname *.la -delete } ldap() { depends="freeradius freeradius-lib" mkdir -p $subpkgdir/etc/raddb mv $pkgdir/etc/raddb/ldap.attrmap $subpkgdir/etc/raddb mkdir -p $subpkgdir/etc/raddb/modules mv $pkgdir/etc/raddb/modules/ldap $subpkgdir/etc/raddb/modules mkdir -p $subpkgdir/usr/lib/freeradius mv $pkgdir/usr/lib/freeradius/rlm_ldap* $subpkgdir/usr/lib/freeradius } lib() { replaces="freeradius" mkdir -p $subpkgdir/usr/lib/freeradius $subpkgdir/etc/raddb \ $subpkgdir/usr/share mv $pkgdir/usr/lib/freeradius/libfreeradius-radius-${pkgver}.so \ $subpkgdir/usr/lib/freeradius mv $pkgdir/etc/raddb/dictionary $subpkgdir/etc/raddb/dictionary mv $pkgdir/usr/share/freeradius $subpkgdir/usr/share/freeradius } mysql() { depends="freeradius freeradius-lib" mkdir -p $subpkgdir/etc/raddb/sql mv $pkgdir/etc/raddb/sql/mysql $subpkgdir/etc/raddb/sql mv $pkgdir/etc/raddb/sql/ndb $subpkgdir/etc/raddb/sql mkdir -p $subpkgdir/usr/lib/freeradius mv $pkgdir/usr/lib/freeradius/rlm_sql_mysql* $subpkgdir/usr/lib/freeradius } mssql() { depends="freeradius freeradius-lib" arch="noarch" mkdir -p $subpkgdir/etc/raddb/sql mv $pkgdir/etc/raddb/sql/mssql $subpkgdir/etc/raddb/sql } oracle() { depends="freeradius freeradius-lib" arch="noarch" mkdir -p $subpkgdir/etc/raddb/sql mv $pkgdir/etc/raddb/sql/oracle $subpkgdir/etc/raddb/sql } perl() { depends="freeradius freeradius-lib perl" mkdir -p $subpkgdir/usr/lib/freeradius mv $pkgdir/usr/lib/freeradius/rlm_perl* $subpkgdir/usr/lib/freeradius mkdir -p $subpkgdir/usr/bin mv $pkgdir/usr/sbin/checkrad $subpkgdir/usr/bin/checkrad mkdir -p $subpkgdir/etc/raddb/modules mv $pkgdir/etc/raddb/modules/perl $subpkgdir/etc/raddb/modules/perl } postgresql() { depends="freeradius freeradius-lib" mkdir -p $subpkgdir/etc/raddb/sql mv $pkgdir/etc/raddb/sql/postgresql $subpkgdir/etc/raddb/sql mkdir -p $subpkgdir/usr/lib/freeradius mv $pkgdir/usr/lib/freeradius/rlm_sql_postgresql* $subpkgdir/usr/lib/freeradius } python() { depends="freeradius freeradius-lib python" mkdir -p $subpkgdir/usr/lib/freeradius mv $pkgdir/usr/lib/freeradius/rlm_python* $subpkgdir/usr/lib/freeradius } radclient() { depends="freeradius-lib" mkdir -p $subpkgdir/usr/bin mv $pkgdir/usr/bin/radclient $subpkgdir/usr/bin/radclient } unixodbc() { depends="freeradius freeradius-lib" mkdir -p $subpkgdir/usr/lib/freeradius mv $pkgdir/usr/lib/freeradius/rlm_sql_unixodbc* $subpkgdir/usr/lib/freeradius } pam() { depends="freeradius freeradius-lib" mkdir -p $subpkgdir/usr/lib/freeradius mv $pkgdir/usr/lib/freeradius/rlm_pam* $subpkgdir/usr/lib/freeradius } md5sums="dcbaed16df8ccff672ba132a08bf8510 freeradius-server-2.1.12.tar.gz fc6693f3df5a0694610110287a28568a freeradius.confd 5443a250d7bd0e89985e356fcdf38024 freeradius.initd"