summaryrefslogtreecommitdiffstats
path: root/testing/freeradius/APKBUILD
blob: 6b878d2e93498bbbc5cf286937a6de96bac07f1d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
# Contributor:
# Maintainer: Leonardo Arena <rnalrd@gmail.com>
pkgname=freeradius
pkgver=2.1.10
pkgrel=8
pkgdesc="RADIUS (Remote Authentication Dial-In User Service) server"
url="http://freeradius.org/"
license="GPL"
depends=
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"
pkggroups="radiusd"
pkgusers="radiusd"
install="freeradius.pre-install"
subpackages="$pkgname-doc $pkgname-dev $pkgname-ldap $pkgname-mssql \
	$pkgname-mysql $pkgname-oracle $pkgname-perl $pkgname-postgresql \
	$pkgname-python $pkgname-unixodbc"
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/-lnsl //g' configure || return 1
	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

	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-libltdl \
		--with-system-libtool \
		--with-udpfromto \
		|| return 1

	# workaround parallel build issue
	make -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" 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/$pkgname
	install -m644 -D "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
	install -m644 -D scripts/logrotate.freeradius "$pkgdir"/etc/lorotate.d/$pkgname
}

ldap() {
	depends="freeradius"
	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
}

mysql() {
	depends="freeradius"
	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"
	mkdir -p $subpkgdir/etc/raddb/sql
	mv $pkgdir/etc/raddb/sql/mssql $subpkgdir/etc/raddb/sql
}

oracle() {
	depends="freeradius"
	mkdir -p $subpkgdir/etc/raddb/sql
	mv $pkgdir/etc/raddb/sql/oracle $subpkgdir/etc/raddb/sql
}

perl() {
	depends="freeradius perl"
	mkdir -p $subpkgdir/usr/lib/freeradius
	mv $pkgdir/usr/lib/freeradius/rlm_perl* $subpkgdir/usr/lib/freeradius
}

postgresql() {
	depends="freeradius"
	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 python"
	mkdir -p $subpkgdir/usr/lib/freeradius
	mv $pkgdir/usr/lib/freeradius/rlm_python* $subpkgdir/usr/lib/freeradius
}

unixodbc() {
	depends="freeradius"
	mkdir -p $subpkgdir/usr/lib/freeradius
	mv $pkgdir/usr/lib/freeradius/rlm_sql_unixodbc* $subpkgdir/usr/lib/freeradius
}

md5sums="e552704fc1b46d51176e575afa96dcc6  freeradius-server-2.1.10.tar.gz
fc6693f3df5a0694610110287a28568a  freeradius.confd
b22092fcdcb61d7f0b8e13a007c444c5  freeradius.initd"