blob: da2d3528d9891f066e5adf9a2393d3eada695eb5 (
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
143
144
145
146
147
148
149
150
151
152
153
154
|
# Contributor:
# Maintainer: Leonardo Arena <rnalrd@gmail.com>
pkgname=freeradius
pkgver=2.1.10
pkgrel=17
pkgdesc="RADIUS (Remote Authentication Dial-In User Service) server"
url="http://freeradius.org/"
arch="all"
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
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" -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/radiusd
install -m644 -D "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/radiusd
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"
arch="noarch"
mkdir -p $subpkgdir/etc/raddb/sql
mv $pkgdir/etc/raddb/sql/mssql $subpkgdir/etc/raddb/sql
}
oracle() {
depends="freeradius"
arch="noarch"
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
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"
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
7c14a0bc0ada858a08235d7a1d1f2d4c freeradius.initd"
|