# Contributor: Natanael Copa # Maintainer: Leonardo Arena pkgname=freeradius3 _realname=freeradius pkgver=3.0.1 pkgrel=1 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-dbg $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 fix-potential-crash-with-SSHA-and-salts.patch disable-cert-generation.patch freeradius3-301-default-config.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 } 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" || return 1 } package() { cd "$_builddir" install -d -m0750 -o root -g radius "${pkgdir}"${radconfdir} || exit 1 install -d -m0750 -o radius -g radius "$pkgdir"/var/run/radius || exit 1 install -d -m0750 -o radius -g radius "$pkgdir"/var/log/radius || exit 1 install -d -m0750 -o radius -g radius "$pkgdir"/var/log/radius/radacct || exit 1 make -j1 R="$pkgdir" install 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 || exit 1 install -m644 -D "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/radiusd || exit 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 || exit 1 done mkdir -p "${subpkgdir}"${radlibdir} mv "${pkgdir}"${radlibdir}/rlm_sql_${1}.so "${subpkgdir}"${radlibdir} || exit 1 } eap() { depends="freeradius3" mkdir -p "${subpkgdir}"${radlibdir} mv "${pkgdir}"${radlibdir}/rlm_eap*.so "${subpkgdir}"${radlibdir} || exit 1 mkdir -p "${subpkgdir}"${radmodsdir} mv "${pkgdir}"${radmodsdir}/eap "${subpkgdir}"${radmodsdir} || exit 1 } ldap() { depends="freeradius3" mkdir -p "${subpkgdir}"${radlibdir} mv "${pkgdir}"${radlibdir}/rlm_ldap* "${subpkgdir}"${radlibdir} || exit 1 } lib() { depends="" mkdir -p "${subpkgdir}"${radlibdir} "${subpkgdir}"${radconfdir} \ "$subpkgdir"/usr/share || exit 1 mv "${pkgdir}"${radlibdir}/libfreeradius-*.so \ "${subpkgdir}"${radlibdir} || exit 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} || exit 1 done mkdir -p "${subpkgdir}"${radconfdir}/sites-available mv "${pkgdir}"${radconfdir}/sites-available/buffered-sql \ "${subpkgdir}"${radconfdir}/sites-available || exit 1 mkdir -p "${subpkgdir}"${radmodsdir} mv "${pkgdir}"${radmodsdir}/*sql* "${subpkgdir}"${radmodsdir} || exit 1 } mysql() { depends="freeradius3-sql" _mvdb mysql || exit 1 } mssql() { depends="freeradius3-sql" arch="noarch" mkdir -p "${subpkgdir}"${radmodsconfdir}/sql/main mv "${pkgdir}"${radmodsconfdir}/sql/main/mssql \ "${subpkgdir}"${radmodsconfdir}/sql/main || exit 1 } perl() { depends="freeradius3 perl" mkdir -p "${subpkgdir}"${radlibdir} mv "${pkgdir}"${radlibdir}/rlm_perl* "${subpkgdir}"${radlibdir} || exit 1 mkdir -p "$subpkgdir"/usr/bin mv "$pkgdir"/usr/sbin/checkrad "$subpkgdir"/usr/bin/checkrad || exit 1 mkdir -p "${subpkgdir}"${radconfdir}/mods-available mv "${pkgdir}"${radconfdir}/mods-available/perl "${subpkgdir}"${radconfdir}/mods-available/perl || exit 1 } postgresql() { depends="freeradius3-sql" _mvdb postgresql || exit 1 } python() { depends="freeradius3 python" mkdir -p "${subpkgdir}"${radlibdir} mv "${pkgdir}"${radlibdir}/rlm_python* "${subpkgdir}"${radlibdir} || exit 1 for dir in $radmodsdir $radmodsconfdir; do mkdir -p "${subpkgdir}"$dir mv "${pkgdir}"$dir/python "${subpkgdir}"$dir || exit 1 done } radclient() { depends="" mkdir -p "$subpkgdir"/usr/bin mv "$pkgdir"/usr/bin/radclient "$subpkgdir"/usr/bin/radclient || exit 1 } sqlite() { depends="freeradius3-sql" _mvdb sqlite || exit 1 } unixodbc() { depends="freeradius3" mkdir -p "${subpkgdir}"${radlibdir} mv "${pkgdir}"${radlibdir}/rlm_sql_unixodbc.so "${subpkgdir}"${radlibdir} || exit 1 } pam() { depends="freeradius3" mkdir -p "${subpkgdir}"${radlibdir} mv "${pkgdir}"${radlibdir}/rlm_pam* "${subpkgdir}"${radlibdir} || exit 1 } md5sums="552f375530252c4567ee11c1b23bbbe9 freeradius-server-3.0.1.tar.gz fc6693f3df5a0694610110287a28568a freeradius3.confd 3a50b7f233e74daf3f87da63b3e9579d freeradius3.initd 4780cb9da2b16b0db51d95ce30e7c4a6 fix-potential-crash-with-SSHA-and-salts.patch 8696554123f7ee87b44f1fa5dc699dd1 disable-cert-generation.patch 53b74f75456427a27df9f3489706ae3e freeradius3-301-default-config.patch" sha256sums="caba74385d574fe5257f9479e59a882e7adfa02c756693451fd2e99e69a0af42 freeradius-server-3.0.1.tar.gz 2d5b3e1af1299373182f2c8021bdf45c29db5d82b0a077b965a16ded32cb6292 freeradius3.confd e173cce3b8a4c2ed4d1fdd58fff8ec21e9166f011ec052f5f4c01712493e72b3 freeradius3.initd fc317518af37a09ac5ac7bba27b50e599bd90b2c772f75f57c00de56dbbd0f70 fix-potential-crash-with-SSHA-and-salts.patch 8d9b48a56b8638412249c05749725dbd230568d3b7c3eecc97bb46f1815f5b3d disable-cert-generation.patch 472279b7831ea85a9d0a2237af8ee0c3235d01c53c08c6152633e6699f6c7990 freeradius3-301-default-config.patch" sha512sums="09bdce706ad839f9eba2407ad4d9770777655f33b0d40b07d80ca727b52ae49f1b6b15a5e66d088a1a5288fad46e94830552e7d6dc6e5e0833a743e862297c22 freeradius-server-3.0.1.tar.gz e248159c0a44f722e405c51c8015d9ad672e42ad0d38ca28f8a051ff911aa4d3e630b9bd4543e9d610940bc4ae50c022594e219ce341b36abe85c572acad418b freeradius3.confd b29bf9090a2be7af77a3e104346a23024baf78a343e7f2fd6f6ddb02c223ac66d9b77c80d02b2cb26cbef2e64cb59c46462bb54b063b862e5a3a61c72653a63d freeradius3.initd 429e50d18b5657e07ac4fcdd9d00c3936f04b7e60d9785aae4cdb8c3cecc81fc7e3fc3fc3152fea1c475cead7ecf42e81d63d69677ee912833a8c4069e3fe793 fix-potential-crash-with-SSHA-and-salts.patch d46c94ec7245dbcdcb6fe321956b305eedf5481f2d533556c6fe127318dadc1dbe25be2bf694adef2160ea02e8fa138371300eae264e854bc658d73f1c135867 disable-cert-generation.patch 459e47b74c4340edecd544bdb5e0b0720975c2aa7697d2237044812b7d42adb2818d1846b20af77f330972f77ae10f584c8767409202f3e39b2654ee31fd96ab freeradius3-301-default-config.patch"