# Contributor: Natanael Copa # Maintainer: Leonardo Arena pkgname=freeradius3 _realname=freeradius pkgver=3.0.10 pkgrel=0 pkgdesc="RADIUS (Remote Authentication Dial-In User Service) server" url="http://freeradius.org/" arch="all" license="GPL" depends="freeradius3-lib" makedepends="openssl-dev mysql-dev postgresql-dev gdbm-dev readline-dev bash libtool autoconf automake perl-dev python-dev openldap-dev unixodbc-dev linux-pam-dev sqlite-dev talloc-dev libpcap-dev" pkggroups="radius" pkgusers="radius" install="$pkgname.pre-install" subpackages="$pkgname-doc $pkgname-dev $pkgname-ldap $pkgname-lib $pkgname-mssql $pkgname-mysql $pkgname-sql $pkgname-perl $pkgname-postgresql $pkgname-python $pkgname-radclient $pkgname-sqlite $pkgname-unixodbc $pkgname-pam $pkgname-eap" source="ftp://ftp.freeradius.org/pub/freeradius/$_realname-server-$pkgver.tar.gz $pkgname.confd $pkgname.initd disable-cert-generation.patch freeradius3-3.0.3-rlm_linelog-1.patch freeradius3-3.0.3-rlm_linelog-2.patch " conflict="freeradius freeradius-lib freeradius-radclient" _builddir="$srcdir"/$_realname-server-$pkgver radconfdir="/etc/raddb" radmodsdir="$radconfdir/mods-available" radlibdir="/usr/lib/freeradius" radmodsconfdir="$radconfdir/mods-config" prepare() { cd "$_builddir" for i in $source; do case $i in *.patch) msg "Applying $i" patch -p1 -i "$srcdir"/$i || return 1 ;; esac done update_config_sub || return 1 # remove certs generation # rm -rf raddb/certs || return 1 } build() { cd "$_builddir" ./configure \ --build=$CBUILD \ --host=$CHOST \ --prefix=/usr \ --sysconfdir=/etc \ --mandir=/usr/share/man \ --infodir=/usr/share/info \ --localstatedir=/var \ --datarootdir=/usr/share \ --libdir="$radlibdir" \ --with-logdir=/var/log/radius \ --with-radacctdir=/var/log/radius/radacct \ --with-system-libtool \ --with-system-libltdl \ --with-shared-libs \ --with-udpfromto \ --with-rlm_sql_sqlite \ --with-rlm_sql_postgresql \ --with-rlm_sql_mysql \ --without-rlm_krb5 \ --without-rlm_eap_tnc \ --without-rlm_eap_ikev2 \ --without-rlm_sql_iodbc \ --without-rlm_sql_oracle \ --without-rlm_yubikey \ --without-rlm_ykclient \ || return 1 make -j1 LDFLAGS="$LDFLAGS -lssl -lm" || return 1 } package() { cd "$_builddir" install -d -m0750 -o root -g radius \ "${pkgdir}"${radconfdir} || return 1 install -d -m0750 -o radius -g radius \ "$pkgdir"/var/run/radius || return 1 install -d -m0750 -o radius -g radius \ "$pkgdir"/var/log/radius || return 1 install -d -m0750 -o radius -g radius \ "$pkgdir"/var/log/radius/radacct || return 1 make -j1 R="$pkgdir" install || return 1 chown -R root:radius "$pkgdir"/etc/raddb/* rm -f "$pkgdir"/usr/sbin/rc.radiusd install -m755 -D "$srcdir"/$pkgname.initd \ "$pkgdir"/etc/init.d/radiusd || return 1 install -m644 -D "$srcdir"/$pkgname.confd \ "$pkgdir"/etc/conf.d/radiusd || return 1 #Install misses to create this mkdir -p "${pkgdir}"${radmodsconfdir}/sql/ippool-dhcp/postgresql find "$pkgdir" -iname *.la -delete } _mvdb() { for dir in ippool-dhcp ippool counter main cui; do mkdir -p "${subpkgdir}"${radmodsconfdir}/sql/$dir mv "${pkgdir}"${radmodsconfdir}/sql/$dir/$1 \ "${subpkgdir}"${radmodsconfdir}/sql/$dir || return 1 done mkdir -p "${subpkgdir}"${radlibdir} mv "${pkgdir}"${radlibdir}/rlm_sql_${1}.so "${subpkgdir}"${radlibdir} \ || return 1 } eap() { depends="freeradius3" mkdir -p "${subpkgdir}"${radlibdir} mv "${pkgdir}"${radlibdir}/rlm_eap*.so "${subpkgdir}"${radlibdir} \ || return 1 mkdir -p "${subpkgdir}"${radmodsdir} mv "${pkgdir}"${radmodsdir}/eap "${subpkgdir}"${radmodsdir} || return 1 mkdir -p "${subpkgdir}"${radconfdir} mv "${pkgdir}"${radconfdir}/certs "${subpkgdir}"${radconfdir} || return 1 } ldap() { depends="freeradius3" mkdir -p "${subpkgdir}"${radlibdir} mv "${pkgdir}"${radlibdir}/rlm_ldap* "${subpkgdir}"${radlibdir} \ || return 1 } lib() { depends="" pkgdesc="Freeradius shared libraries" mkdir -p "${subpkgdir}"${radlibdir} "${subpkgdir}"${radconfdir} \ "$subpkgdir"/usr/share/freeradius || return 1 mv "${pkgdir}"${radlibdir}/libfreeradius-*.so \ "${subpkgdir}"${radlibdir} || return 1 mv "${pkgdir}"/usr/share/freeradius/* \ "${subpkgdir}"/usr/share/freeradius || return 1 } sql() { depends="freeradius3" mkdir -p "${subpkgdir}"${radlibdir} for lib in sql sqlippool sql_null sqlcounter; do mv "${pkgdir}"${radlibdir}/rlm_${lib}.so \ "${subpkgdir}"${radlibdir} || return 1 done mkdir -p "${subpkgdir}"${radconfdir}/sites-available mv "${pkgdir}"${radconfdir}/sites-available/buffered-sql \ "${subpkgdir}"${radconfdir}/sites-available || return 1 mkdir -p "${subpkgdir}"${radmodsdir} mv "${pkgdir}"${radmodsdir}/*sql* "${subpkgdir}"${radmodsdir} \ || return 1 } mysql() { depends="freeradius3-sql" _mvdb mysql || return 1 } mssql() { depends="freeradius3-sql" arch="noarch" mkdir -p "${subpkgdir}"${radmodsconfdir}/sql/main mv "${pkgdir}"${radmodsconfdir}/sql/main/mssql \ "${subpkgdir}"${radmodsconfdir}/sql/main || return 1 } perl() { depends="freeradius3 perl" mkdir -p "${subpkgdir}"${radlibdir} mv "${pkgdir}"${radlibdir}/rlm_perl* "${subpkgdir}"${radlibdir} \ || return 1 mkdir -p "$subpkgdir"/usr/bin mv "$pkgdir"/usr/sbin/checkrad "$subpkgdir"/usr/bin/checkrad \ || return 1 mkdir -p "${subpkgdir}"${radconfdir}/mods-available mv "${pkgdir}"${radconfdir}/mods-available/perl \ "${subpkgdir}"${radconfdir}/mods-available/perl || return 1 } postgresql() { depends="freeradius3-sql" _mvdb postgresql || return 1 } python() { depends="freeradius3 python" mkdir -p "${subpkgdir}"${radlibdir} mv "${pkgdir}"${radlibdir}/rlm_python* "${subpkgdir}"${radlibdir} \ || return 1 for dir in $radmodsdir $radmodsconfdir; do mkdir -p "${subpkgdir}"$dir mv "${pkgdir}"$dir/python "${subpkgdir}"$dir || return 1 done } radclient() { depends="" mkdir -p "$subpkgdir"/usr/bin mv "$pkgdir"/usr/bin/radclient "$subpkgdir"/usr/bin/radclient \ || return 1 } sqlite() { depends="freeradius3-sql" _mvdb sqlite || return 1 } unixodbc() { depends="freeradius3" mkdir -p "${subpkgdir}"${radlibdir} mv "${pkgdir}"${radlibdir}/rlm_sql_unixodbc.so \ "${subpkgdir}"${radlibdir} || return 1 } pam() { depends="freeradius3" mkdir -p "${subpkgdir}"${radlibdir} mv "${pkgdir}"${radlibdir}/rlm_pam* "${subpkgdir}"${radlibdir} \ || return 1 } md5sums="b34a8b99beb2f225511f5a645dc8cc40 freeradius-server-3.0.10.tar.gz fc6693f3df5a0694610110287a28568a freeradius3.confd 3a50b7f233e74daf3f87da63b3e9579d freeradius3.initd 931a845c55628f6d490360423a4ef751 disable-cert-generation.patch 6551bee903625e5b91b89f997b7029ca freeradius3-3.0.3-rlm_linelog-1.patch be0aefbf2b6cae4c12b1b68012a3af87 freeradius3-3.0.3-rlm_linelog-2.patch" sha256sums="e8825518bde1d9787f7f9ea1e9fec7ae5282af9c3362d2fa360f60c4db6f77ec freeradius-server-3.0.10.tar.gz 2d5b3e1af1299373182f2c8021bdf45c29db5d82b0a077b965a16ded32cb6292 freeradius3.confd e173cce3b8a4c2ed4d1fdd58fff8ec21e9166f011ec052f5f4c01712493e72b3 freeradius3.initd 6e194796f5827548145e8db288fb7f082ebfc05b37d6a94fafaf9069e760e2e9 disable-cert-generation.patch 62f9a1ee01720a3cb7b055e089fb3041c4f9ba5f9f48c858868e1b3e6abb81d2 freeradius3-3.0.3-rlm_linelog-1.patch 6608476d89b2fa4be087507a2cbcc1979c76ff56155ab08cdf036835747b4af3 freeradius3-3.0.3-rlm_linelog-2.patch" sha512sums="7546d54ca9ae1189f17fa97a8c6f6e15486d61dda8819b15f883ba48fbd6629f4728ba41490b51cb08eb1399090c16eca1b559c22ee19f3a770f1ce7ce23a8d5 freeradius-server-3.0.10.tar.gz e248159c0a44f722e405c51c8015d9ad672e42ad0d38ca28f8a051ff911aa4d3e630b9bd4543e9d610940bc4ae50c022594e219ce341b36abe85c572acad418b freeradius3.confd b29bf9090a2be7af77a3e104346a23024baf78a343e7f2fd6f6ddb02c223ac66d9b77c80d02b2cb26cbef2e64cb59c46462bb54b063b862e5a3a61c72653a63d freeradius3.initd 6dc20bc70cbea44f4b0cf48e7b9cc678d1e45b2f171b45e291697fffc80e877ef3f0920195be7929f67e4284c0d1f699db623f6380ad133d4948c5aab789e3a5 disable-cert-generation.patch 78621dacbc3d6d798a94fe1e860cbe39340ae6cab9de722aad2d4f32c35e85db1bf67759c785911f59468731c79857ffc14ea7f1247ce8d08fd6cc9d8d289aac freeradius3-3.0.3-rlm_linelog-1.patch 4c2fe2011fd338b9762e3c6de79da1b83af0ab99c73e8ebe0693b66dc00b638a5b4824caab29cf4db9c2bc4135d1a85a7141f2b4838c29da01b5d00ac24fdcbe freeradius3-3.0.3-rlm_linelog-2.patch"