diff options
author | Leonardo Arena <rnalrd@alpinelinux.org> | 2015-05-14 09:54:19 +0000 |
---|---|---|
committer | Leonardo Arena <rnalrd@alpinelinux.org> | 2015-05-14 09:54:19 +0000 |
commit | 3a4970a7977f234a3cd37b7fe926735f09d546d1 (patch) | |
tree | d7e7333fd49839edc972d10fdcb35e6cc7def409 /main/freeradius/APKBUILD | |
parent | b2944c548dfed2a611d26e4c45b5454efc413854 (diff) | |
download | aports-3a4970a7977f234a3cd37b7fe926735f09d546d1.tar.bz2 aports-3a4970a7977f234a3cd37b7fe926735f09d546d1.tar.xz |
main/freeradius: nuke freeradius2 and replace it with new stable branch freeradius 3.0.x
Diffstat (limited to 'main/freeradius/APKBUILD')
-rw-r--r-- | main/freeradius/APKBUILD | 340 |
1 files changed, 174 insertions, 166 deletions
diff --git a/main/freeradius/APKBUILD b/main/freeradius/APKBUILD index 1ba52452d1..bb26830039 100644 --- a/main/freeradius/APKBUILD +++ b/main/freeradius/APKBUILD @@ -1,33 +1,43 @@ +# Contributor: Vladyslav Frolov <frolvlad@gmail.com> # Contributor: Ćukasz Jendrysik <scadu@yandex.com> # Contributor: Natanael Copa <ncopa@alpinelinux.org> # Maintainer: Leonardo Arena <rnalrd@alpinelinux.org> pkgname=freeradius -pkgver=2.2.6 +_realname=freeradius +pkgver=3.0.8 pkgrel=1 pkgdesc="RADIUS (Remote Authentication Dial-In User Service) server" url="http://freeradius.org/" arch="all" license="GPL" -depends="freeradius-radclient freeradius-lib" +depends="freeradius3-lib" makedepends="openssl-dev mariadb-dev postgresql-dev gdbm-dev readline-dev - bash libtool autoconf automake perl-dev python-dev openldap-dev - unixodbc-dev linux-pam-dev sqlite-dev linux-headers" + bash libtool autoconf automake perl-dev python-dev openldap-dev krb5-dev + unixodbc-dev linux-pam-dev sqlite-dev talloc-dev libpcap-dev + linux-headers" pkggroups="radius" pkgusers="radius" -install="freeradius.pre-install" +install="$pkgname.pre-install" subpackages="$pkgname-doc $pkgname-dev $pkgname-dbg $pkgname-ldap $pkgname-lib - $pkgname-mssql $pkgname-mysql $pkgname-oracle $pkgname-perl + $pkgname-mssql $pkgname-mysql $pkgname-sql $pkgname-perl $pkgname-postgresql $pkgname-python $pkgname-radclient $pkgname-sqlite - $pkgname-unixodbc $pkgname-pam $pkgname-webif $pkgname-webif-doc" -source="ftp://ftp.freeradius.org/pub/freeradius/$pkgname-server-$pkgver.tar.gz - 0001-Use-threadsafe-wrapper-for-getpwnam-getgrnam.patch - 0001-use-threadsafe-rad_getgrnam.patch - fix-tls-test.patch - freeradius.confd - freeradius.initd + $pkgname-unixodbc $pkgname-pam $pkgname-eap $pkgname-krb5 $pkgname-dbg" +source="ftp://ftp.freeradius.org/pub/freeradius/$_realname-server-$pkgver.tar.gz + $pkgname.confd + $pkgname.initd + + musl-fix-headers.patch + disable-cert-generation.patch + freeradius-305-default-config.patch " +conflict="freeradius freeradius-lib freeradius-radclient" + +_builddir="$srcdir"/$_realname-server-$pkgver -_builddir="$srcdir"/$pkgname-server-$pkgver +radconfdir="/etc/raddb" +radmodsdir="$radconfdir/mods-available" +radlibdir="/usr/lib/freeradius" +radmodsconfdir="$radconfdir/mods-config" prepare() { cd "$_builddir" @@ -40,24 +50,8 @@ prepare() { esac done update_config_sub || return 1 - - # 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 - # disable directive that pulls in freeradius-mysql package - sed -i 's%$INCLUDE ${confdir}/sql/mysql/ippool-dhcp.conf%#$INCLUDE ${confdir}/sql/mysql/ippool-dhcp.conf%' \ - raddb/modules/dhcp_sqlippool || return 1 - - rm -f libtool.m4 - libtoolize --force -c || return 1 - aclocal && ./autogen.sh || return 1 + # remove certs generation + # rm -rf raddb/certs || return 1 } build() { @@ -70,196 +64,210 @@ build() { --mandir=/usr/share/man \ --infodir=/usr/share/info \ --localstatedir=/var \ - --libdir=/usr/lib/freeradius \ - --disable-static \ - --enable-shared \ - --disable-ltdl-install \ + --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-experimental-modules \ - --with-rlm_sql_sqlite \ - --without-rlm_sql_oracle \ + --with-rlm_sql_sqlite \ + --with-rlm_sql_postgresql \ + --with-rlm_sql_mysql \ + --with-rlm_krb5 \ + --without-rlm_eap_tnc \ + --without-rlm_eap_ikev2 \ --without-rlm_sql_iodbc \ - --without-rlm_sql_firebird \ - --without-rlm_sql_db2 \ - --without-rlm_ruby \ - --without-rlm_rediswho \ - --without-rlm_redis \ - --without-rlm_krb5 \ + --without-rlm_sql_oracle \ + --without-rlm_yubikey \ + --without-rlm_ykclient \ || 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" || return 1 + make -j1 LDFLAGS="$LDFLAGS -lssl" || return 1 } package() { cd "$_builddir" - install -d -m0750 -o root -g radius "$pkgdir"/etc/raddb - install -d -m0750 -o radius -g radius "$pkgdir"/var/run/radius - install -d -m0750 -o radius -g radius "$pkgdir"/var/log/radius - install -d -m0750 -o radius -g radius "$pkgdir"/var/log/radius/radacct + 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" LIBTOOL="$PWD/libtool" install + 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 - install -m644 -D "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/radiusd - install -m644 -D scripts/logrotate.freeradius \ - "$pkgdir"/etc/logrotate.d/$pkgname - find $pkgdir -iname *.la -delete + 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" + pkgdesc="EAP module for FreeRADIUS server" + 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="freeradius" - mkdir -p $subpkgdir/etc/raddb - mv $pkgdir/etc/raddb/ldap.attrmap $subpkgdir/etc/raddb || return 1 - mkdir -p $subpkgdir/etc/raddb/modules - mv $pkgdir/etc/raddb/modules/ldap $subpkgdir/etc/raddb/modules \ + depends="freeradius3" + pkgdesc="LDAP module for FreeRADIUS server" + mkdir -p "${subpkgdir}"${radlibdir} + mv "${pkgdir}"${radlibdir}/rlm_ldap* "${subpkgdir}"${radlibdir} \ || return 1 - mkdir -p $subpkgdir/usr/lib/freeradius - mv $pkgdir/usr/lib/freeradius/rlm_ldap* $subpkgdir/usr/lib/freeradius \ +} + +krb5() { + depends="freeradius3" + pkgdesc="Kerberos module for FreeRADIUS server" + mkdir -p "${subpkgdir}"${radlibdir} + mv "${pkgdir}"${radlibdir}/rlm_krb5* "${subpkgdir}"${radlibdir} \ || return 1 } lib() { - replaces="freeradius" depends="" - mkdir -p $subpkgdir/usr/lib/freeradius $subpkgdir/etc/raddb \ - $subpkgdir/usr/share || return 1 - mv $pkgdir/usr/lib/freeradius/libfreeradius-*.so \ - $subpkgdir/usr/lib/freeradius || return 1 - mv $pkgdir/etc/raddb/dictionary $subpkgdir/etc/raddb/dictionary \ - || return 1 - mv $pkgdir/usr/share/freeradius $subpkgdir/usr/share/freeradius \ + 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" + pkgdesc="SQL module for FreeRADIUS server" + 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="freeradius" - mkdir -p $subpkgdir/etc/raddb/sql - mv $pkgdir/etc/raddb/sql/mysql $subpkgdir/etc/raddb/sql || return 1 - mv $pkgdir/etc/raddb/sql/ndb $subpkgdir/etc/raddb/sql || return 1 - mkdir -p $subpkgdir/usr/lib/freeradius - mv $pkgdir/usr/lib/freeradius/rlm_sql_mysql* \ - $subpkgdir/usr/lib/freeradius || return 1 + depends="freeradius3-sql" + pkgdesc="MySQL module for FreeRADIUS server" + _mvdb mysql || return 1 } mssql() { - depends="freeradius" + depends="freeradius3-sql" + pkgdesc="MSSQL module for FreeRADIUS server" arch="noarch" - mkdir -p $subpkgdir/etc/raddb/sql - mv $pkgdir/etc/raddb/sql/mssql $subpkgdir/etc/raddb/sql || return 1 -} - -oracle() { - depends="freeradius" - arch="noarch" - mkdir -p $subpkgdir/etc/raddb/sql - mv $pkgdir/etc/raddb/sql/oracle $subpkgdir/etc/raddb/sql || return 1 + mkdir -p "${subpkgdir}"${radmodsconfdir}/sql/main + mv "${pkgdir}"${radmodsconfdir}/sql/main/mssql \ + "${subpkgdir}"${radmodsconfdir}/sql/main || return 1 } perl() { - depends="freeradius perl" - mkdir -p $subpkgdir/usr/lib/freeradius - mv $pkgdir/usr/lib/freeradius/rlm_perl* $subpkgdir/usr/lib/freeradius \ + depends="freeradius3 perl" + pkgdesc="Perl module for FreeRADIUS server" + 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/etc/raddb/modules - mv $pkgdir/etc/raddb/modules/perl $subpkgdir/etc/raddb/modules/perl \ + 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="freeradius" - mkdir -p $subpkgdir/etc/raddb/sql - mv $pkgdir/etc/raddb/sql/postgresql $subpkgdir/etc/raddb/sql || return 1 - mkdir -p $subpkgdir/usr/lib/freeradius - mv $pkgdir/usr/lib/freeradius/rlm_sql_postgresql* \ - $subpkgdir/usr/lib/freeradius || return 1 + depends="freeradius3-sql" + pkgdesc="PostgreSQL module for FreeRADIUS server" + _mvdb postgresql || return 1 } python() { - depends="freeradius python" - mkdir -p $subpkgdir/usr/lib/freeradius - mv $pkgdir/usr/lib/freeradius/rlm_python* \ - $subpkgdir/usr/lib/freeradius || return 1 + depends="freeradius3 python" + pkgdesc="Python module for FreeRADIUS server" + 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 + pkgdesc="Client for FreeRADIUS server" + mkdir -p "$subpkgdir"/usr/bin + mv "$pkgdir"/usr/bin/radclient "$subpkgdir"/usr/bin/radclient \ + || return 1 } sqlite() { - depends="freeradius" - mkdir -p $subpkgdir/usr/lib/freeradius - mv $pkgdir/usr/lib/freeradius/rlm_sql_sqlite* \ - $subpkgdir/usr/lib/freeradius || return 1 + depends="freeradius3-sql" + pkgdesc="SQLite module for FreeRADIUS server" + _mvdb sqlite || return 1 } unixodbc() { - depends="freeradius" - mkdir -p $subpkgdir/usr/lib/freeradius - mv $pkgdir/usr/lib/freeradius/rlm_sql_unixodbc* \ - $subpkgdir/usr/lib/freeradius || return 1 + depends="freeradius3" + pkgdesc="ODBC module for FreeRADIUS server" + mkdir -p "${subpkgdir}"${radlibdir} + mv "${pkgdir}"${radlibdir}/rlm_sql_unixodbc.so \ + "${subpkgdir}"${radlibdir} || return 1 } pam() { - depends="freeradius" - mkdir -p $subpkgdir/usr/lib/freeradius - mv $pkgdir/usr/lib/freeradius/rlm_pam* $subpkgdir/usr/lib/freeradius \ - || return 1 -} - -webif() { - depends="php" - pkgdesc="Dialupadmin interface for FreeRADIUS" - arch="noarch" - mkdir -p $subpkgdir/usr/share/webapps/dialupadmin - mkdir -p $subpkgdir/usr/share/doc/freeradius/dialupadmin - mkdir -p $subpkgdir/etc/raddb/dialupadmin - for dir in bin htdocs html lib sql; - do - mv $_builddir/dialup_admin/$dir \ - $subpkgdir/usr/share/webapps/dialupadmin || return 1 - done - mkdir -p $subpkgdir-doc/usr/share/doc/freeradius/dialupadmin - mv $_builddir/dialup_admin/doc/* \ - $subpkgdir-doc/usr/share/doc/freeradius/dialupadmin || return 1 - mv $_builddir/dialup_admin/README \ - $subpkgdir-doc/usr/share/doc/freeradius/dialupadmin || return 1 - mv $_builddir/dialup_admin/conf/* $subpkgdir/etc/raddb/dialupadmin \ + depends="freeradius3" + pkgdesc="PAM module for FreeRADIUS server" + mkdir -p "${subpkgdir}"${radlibdir} + mv "${pkgdir}"${radlibdir}/rlm_pam* "${subpkgdir}"${radlibdir} \ || return 1 - for file in $(ls $subpkgdir/usr/share/webapps/dialupadmin/bin) - do - sed -i "s|/usr/local/dialup_admin/conf|/etc/raddb/dialupadmin|g" \ - $subpkgdir/usr/share/webapps/dialupadmin/bin/$file - sed -i "s|/data/local/dialupadmin/conf|/etc/raddb/dialupadmin|g" \ - $subpkgdir/usr/share/webapps/dialupadmin/bin/$file - done } -md5sums="3d1af22fccef74dbc06785ab1abdfd1f freeradius-server-2.2.6.tar.gz -f28735060b63d88875783817bcd95586 0001-Use-threadsafe-wrapper-for-getpwnam-getgrnam.patch -aa00c3ed02b53021113b2e145d312ee4 0001-use-threadsafe-rad_getgrnam.patch -b6bcdba16c65503be4265126cf4d2eee fix-tls-test.patch +md5sums="29a65ff73147ac19cbeb797a0e631c18 freeradius-server-3.0.8.tar.gz fc6693f3df5a0694610110287a28568a freeradius.confd -a623d0ad09b7cef0796be82c51086536 freeradius.initd" -sha256sums="f0941f4757ace0a46b9dec11245c9e5b3addbb93a45141179638e3687b56be13 freeradius-server-2.2.6.tar.gz -115ae559fc5c8a638c5ebb510cb58478df66ceeb61a6768584e592e4a1fbc9d4 0001-Use-threadsafe-wrapper-for-getpwnam-getgrnam.patch -8f2dd61e5f90c83198fa26f66bca54394b17cafbb8d2bbb97e948b4f55d1f071 0001-use-threadsafe-rad_getgrnam.patch -38455012b9fc322a7bfdec66e4f8aafeb679d0142eddfba31114aadfd8195b41 fix-tls-test.patch +e27f11a11fa167b5185d3e11de79d3bc freeradius.initd +d86558365a1deea4914ed139797805b0 musl-fix-headers.patch +ecd9ecfba4cf86a203de6faf8398c44a disable-cert-generation.patch +f8a7b00835f2108acc06af212cede16e freeradius-305-default-config.patch" +sha256sums="c27252d7a86ba252904612d9b1f90e846f3ef1f4afee6a748f5287b730e87e3a freeradius-server-3.0.8.tar.gz 2d5b3e1af1299373182f2c8021bdf45c29db5d82b0a077b965a16ded32cb6292 freeradius.confd -03c89204b9467416b87e4add70c6d12fe730e9444a54404c03f76d7f881ac458 freeradius.initd" -sha512sums="0b2dcefa8607ae88b9cb1f21aaaa7c43d553ea2951dc2163b297560a68729e09820b329e47872355020ac9a987bcebbf8e1e2616f75b1089b706bbd0e296e6fc freeradius-server-2.2.6.tar.gz -4fb99b6a0f22cb844382139d448e24cc1b698452e30c1b0f06674a6fbd21463bcece2f2f4121618f9c7c57c8eb882eee35511b4dcea6e2a0904e27e5f2a6a679 0001-Use-threadsafe-wrapper-for-getpwnam-getgrnam.patch -dfe522350a2d45bf81c362ee87c57021149f196d4d45b8567911a1bd74e6b11b5172042a36e02f651157854251c08e846330e5d862767427ad7850ac6eac4f96 0001-use-threadsafe-rad_getgrnam.patch -77ee33a3c2059fb07841255fefc577f4e04680f4a1968d320a17f1d2769ddb671c36639dadbba0a1b1faaa31b1fb0c900313c375a209e67c41d75ebf9bef9d8f fix-tls-test.patch +a5208f13420c28446b85dfc48cb9193a4651c994d15cc2c9b0bc43734c66e8f0 freeradius.initd +872aaebf86a663f819460d98924a9dc1f3e428facac6930dc98d1e442df1633f musl-fix-headers.patch +008fa3a4da7b3c01df238bf492a8ccda4077289c02c553a60ad8f4439ec136a2 disable-cert-generation.patch +02cad546ffaf3f9be531cb45b96c7fb31f83c717e40ece4ff28a73c86f921f33 freeradius-305-default-config.patch" +sha512sums="89aabc474e95226eeb5003feef40fbe240f28aa65c40e0566a9bec08991d95fab83826f3b14f416cf4d7d832a814912521cb3c83097c1a2ce5d3e3537ee3a732 freeradius-server-3.0.8.tar.gz e248159c0a44f722e405c51c8015d9ad672e42ad0d38ca28f8a051ff911aa4d3e630b9bd4543e9d610940bc4ae50c022594e219ce341b36abe85c572acad418b freeradius.confd -6377c6ec0d060c2006ab16e28c416d60b6e4897c4ecc4b321f5b281010aaffb06e80b10c45403d46cdfacb1b75046dc49986977e8072ffca5a2440f82ae1b28f freeradius.initd" +ba3c424d4eabb147c7aa3e31575a87ddb26b6a792d2a8714e73d8763e07854326a03a83991a7420246ca06bf0b93d0a6f23ec198f5e48647f9d25b40067e852a freeradius.initd +c49e5eec7497fccde5fd09dba1ea9b846e57bc88015bd81640aa531fb5c9b449f37136f42c85fe1d7940c5963aed664b85da28442b388c9fb8cc27873df03b2d musl-fix-headers.patch +09b78c6baa992f82ab81c43aad6792536a4708d460170f0a373e242a5fafe8db10662dc7fcef99a966b828ed91fa7fe38567c961c938de9a447f1ee03aebb142 disable-cert-generation.patch +b69b899da6f80dbdb7422847536e37461315ba587a07fedc1eee28b96be7d16993b758ccd34e3a271ce2937d72c6ddff878aec61a3a4c0750deaaa959d10ed5e freeradius-305-default-config.patch" |