aboutsummaryrefslogtreecommitdiffstats
path: root/main/freeradius3/APKBUILD
blob: afbc6328a3727125f0db9705266e8cdb3690f1af (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
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
pkgname=freeradius3
_realname=freeradius
pkgver=3.0.3
pkgrel=9
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
	freeradius3-301-default-config.patch
	disable-cert-generation.patch
	freeradius3-303-main-log-include.patch
	freeradius-fix-openssl-version-check.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="f031cdf90b94957b05a12468c95172d9  freeradius-server-3.0.3.tar.gz
fc6693f3df5a0694610110287a28568a  freeradius3.confd
3a50b7f233e74daf3f87da63b3e9579d  freeradius3.initd
d332a0c1fcbab07f50461ae887279df2  freeradius3-301-default-config.patch
7097584dba2b344caf5c32475bf8da16  disable-cert-generation.patch
b3f62ccbba7aab3e7c009767372d71ed  freeradius3-303-main-log-include.patch
07e9bf8a42f253b599f86f34c93390b6  freeradius-fix-openssl-version-check.patch
6551bee903625e5b91b89f997b7029ca  freeradius3-3.0.3-rlm_linelog-1.patch
be0aefbf2b6cae4c12b1b68012a3af87  freeradius3-3.0.3-rlm_linelog-2.patch"
sha256sums="57e9932e5401670d0f0000080b942aee2cd6ca80422f76acd21f13a4be46335e  freeradius-server-3.0.3.tar.gz
2d5b3e1af1299373182f2c8021bdf45c29db5d82b0a077b965a16ded32cb6292  freeradius3.confd
e173cce3b8a4c2ed4d1fdd58fff8ec21e9166f011ec052f5f4c01712493e72b3  freeradius3.initd
edde20a808ad4c589d456ccf9e693a8ee9922e75366b1187994f0b982e856021  freeradius3-301-default-config.patch
a72a0454f047bbbf258ffa90bd496e48cdfd95bc03a3863ab01750382ce566e3  disable-cert-generation.patch
37b3a67a9fe5a34d82fd6274b95732298561f19a0e7c81faf5ad0bf9a8f7874a  freeradius3-303-main-log-include.patch
d0191479423aa8b91e98693c8ee0c962a463736f79fa58af92d291d7c7aff3e1  freeradius-fix-openssl-version-check.patch
62f9a1ee01720a3cb7b055e089fb3041c4f9ba5f9f48c858868e1b3e6abb81d2  freeradius3-3.0.3-rlm_linelog-1.patch
6608476d89b2fa4be087507a2cbcc1979c76ff56155ab08cdf036835747b4af3  freeradius3-3.0.3-rlm_linelog-2.patch"
sha512sums="a4fbb0a19f5946182c0cac6d62270db378674e48350c7c3b8f7d8a2a1b16c95c9b205af8d7ed22009b6392d4ab7cb251694d2593a39d9e4efc8eec9ff736bd01  freeradius-server-3.0.3.tar.gz
e248159c0a44f722e405c51c8015d9ad672e42ad0d38ca28f8a051ff911aa4d3e630b9bd4543e9d610940bc4ae50c022594e219ce341b36abe85c572acad418b  freeradius3.confd
b29bf9090a2be7af77a3e104346a23024baf78a343e7f2fd6f6ddb02c223ac66d9b77c80d02b2cb26cbef2e64cb59c46462bb54b063b862e5a3a61c72653a63d  freeradius3.initd
f32ca8fbd0d082f962c5e42c78742f7b099d2e518ee246003a7860c6d69bad745dcad974b2fb98f8e51ddecb78222f88bc778dd2f33efdb02b3f8e4298ea3e79  freeradius3-301-default-config.patch
d027627ac302c39de9342f5f97d2b44752e33d0def311aa5e140e9365b6a501cd5e4f311b1751d5efa3aa63666f07fc58bc222f95bba0a478a7828c6aea07770  disable-cert-generation.patch
1bf8587bfbf6109cfe8b34ffb4e3100d1d06be24678d9358c0cccc84e84e277822c01117bd4a038b11da35fcb86110588f5bd54177cbd632036977db3a53376d  freeradius3-303-main-log-include.patch
98db9464b5915ef3bcff4d0767817013a83d23e23362539f2a5620306831a1f6b864377b4979db6ef99db18261a11aba13eb74bc8de121e9612ae65d2ad3f333  freeradius-fix-openssl-version-check.patch
78621dacbc3d6d798a94fe1e860cbe39340ae6cab9de722aad2d4f32c35e85db1bf67759c785911f59468731c79857ffc14ea7f1247ce8d08fd6cc9d8d289aac  freeradius3-3.0.3-rlm_linelog-1.patch
4c2fe2011fd338b9762e3c6de79da1b83af0ab99c73e8ebe0693b66dc00b638a5b4824caab29cf4db9c2bc4135d1a85a7141f2b4838c29da01b5d00ac24fdcbe  freeradius3-3.0.3-rlm_linelog-2.patch"