1 |
commit: 6a4799a8fabd7cc88f281b5f4f447e8ad705f48e |
2 |
Author: Austin English <wizardedit <AT> gentoo <DOT> org> |
3 |
AuthorDate: Thu Apr 28 21:44:18 2016 +0000 |
4 |
Commit: Austin English <wizardedit <AT> gentoo <DOT> org> |
5 |
CommitDate: Thu Apr 28 21:59:32 2016 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6a4799a8 |
7 |
|
8 |
net-dialup/freeradius: use #!/sbin/openrc-run instead of #!/sbin/runscript |
9 |
|
10 |
Gentoo-Bug: https://bugs.gentoo.org/573846 |
11 |
|
12 |
Package-Manager: portage-2.2.26 |
13 |
|
14 |
net-dialup/freeradius/files/radius.init-r3 | 4 +- |
15 |
net-dialup/freeradius/freeradius-2.2.5-r1.ebuild | 195 +++++++++++++++++++ |
16 |
net-dialup/freeradius/freeradius-2.2.9-r1.ebuild | 196 ++++++++++++++++++++ |
17 |
net-dialup/freeradius/freeradius-3.0.11-r1.ebuild | 216 ++++++++++++++++++++++ |
18 |
4 files changed, 609 insertions(+), 2 deletions(-) |
19 |
|
20 |
diff --git a/net-dialup/freeradius/files/radius.init-r3 b/net-dialup/freeradius/files/radius.init-r3 |
21 |
index e5e607c..9c16ac5 100644 |
22 |
--- a/net-dialup/freeradius/files/radius.init-r3 |
23 |
+++ b/net-dialup/freeradius/files/radius.init-r3 |
24 |
@@ -1,5 +1,5 @@ |
25 |
-#!/sbin/runscript |
26 |
-# Copyright 1999-2014 Gentoo Foundation |
27 |
+#!/sbin/openrc-run |
28 |
+# Copyright 1999-2016 Gentoo Foundation |
29 |
# Distributed under the terms of the GNU General Public License v2 |
30 |
|
31 |
command=/usr/sbin/radiusd |
32 |
|
33 |
diff --git a/net-dialup/freeradius/freeradius-2.2.5-r1.ebuild b/net-dialup/freeradius/freeradius-2.2.5-r1.ebuild |
34 |
new file mode 100644 |
35 |
index 0000000..d219168 |
36 |
--- /dev/null |
37 |
+++ b/net-dialup/freeradius/freeradius-2.2.5-r1.ebuild |
38 |
@@ -0,0 +1,195 @@ |
39 |
+# Copyright 1999-2016 Gentoo Foundation |
40 |
+# Distributed under the terms of the GNU General Public License v2 |
41 |
+# $Id$ |
42 |
+ |
43 |
+EAPI=5 |
44 |
+ |
45 |
+PYTHON_COMPAT=( python2_7 ) |
46 |
+inherit autotools eutils pam python-any-r1 user |
47 |
+ |
48 |
+PATCHSET=4 |
49 |
+ |
50 |
+MY_P="${PN}-server-${PV}" |
51 |
+ |
52 |
+DESCRIPTION="Highly configurable free RADIUS server" |
53 |
+SRC_URI=" |
54 |
+ ftp://ftp.freeradius.org/pub/radius/${MY_P}.tar.gz |
55 |
+ ftp://ftp.freeradius.org/pub/radius/old/${MY_P}.tar.gz |
56 |
+ https://dev.gentoo.org/~flameeyes/${PN}/${PN}-2.2.0-patches-${PATCHSET}.tar.xz |
57 |
+ |
58 |
+" |
59 |
+HOMEPAGE="http://www.freeradius.org/" |
60 |
+ |
61 |
+KEYWORDS="amd64 ~ppc ~ppc64 ~sparc x86 ~x86-fbsd" |
62 |
+LICENSE="GPL-2" |
63 |
+SLOT="0" |
64 |
+ |
65 |
+IUSE=" |
66 |
+ debug firebird iodbc kerberos ldap mysql odbc oracle pam pcap |
67 |
+ postgres python readline sqlite ssl |
68 |
+" |
69 |
+RESTRICT="firebird? ( bindist )" |
70 |
+ |
71 |
+RDEPEND="!net-dialup/cistronradius |
72 |
+ !net-dialup/gnuradius |
73 |
+ sys-devel/libtool |
74 |
+ dev-lang/perl |
75 |
+ sys-libs/gdbm |
76 |
+ python? ( ${PYTHON_DEPS} ) |
77 |
+ readline? ( sys-libs/readline ) |
78 |
+ pcap? ( net-libs/libpcap ) |
79 |
+ mysql? ( virtual/mysql ) |
80 |
+ postgres? ( dev-db/postgresql ) |
81 |
+ firebird? ( dev-db/firebird ) |
82 |
+ pam? ( virtual/pam ) |
83 |
+ ssl? ( dev-libs/openssl ) |
84 |
+ ldap? ( net-nds/openldap ) |
85 |
+ kerberos? ( virtual/krb5 ) |
86 |
+ sqlite? ( dev-db/sqlite:3 ) |
87 |
+ odbc? ( dev-db/unixODBC ) |
88 |
+ iodbc? ( dev-db/libiodbc ) |
89 |
+ oracle? ( dev-db/oracle-instantclient-basic )" |
90 |
+DEPEND="${RDEPEND}" |
91 |
+ |
92 |
+S="${WORKDIR}/${MY_P}" |
93 |
+ |
94 |
+pkg_setup() { |
95 |
+ enewgroup radius |
96 |
+ enewuser radius -1 -1 /var/log/radius radius |
97 |
+ |
98 |
+ python-any-r1_pkg_setup |
99 |
+ export PYTHONBIN="${EPYTHON}" |
100 |
+} |
101 |
+ |
102 |
+src_prepare() { |
103 |
+ epatch \ |
104 |
+ "${WORKDIR}"/patches/0002*patch \ |
105 |
+ "${WORKDIR}"/patches/0004*patch \ |
106 |
+ "${FILESDIR}"/${P}-gentoo.patch |
107 |
+ |
108 |
+ # most of the configuration options do not appear as ./configure |
109 |
+ # switches. Instead it identifies the directories that are available |
110 |
+ # and run through them. These might check for the presence of |
111 |
+ # various libraries, in which case they are not built. To avoid |
112 |
+ # automagic dependencies, we just remove all the modules that we're |
113 |
+ # not interested in using. |
114 |
+ |
115 |
+ use ssl || rm -r src/modules/rlm_eap/types/rlm_eap_{tls,ttls,peap} |
116 |
+ use ldap || rm -r src/modules/rlm_ldap |
117 |
+ use kerberos || rm -r src/modules/rlm_krb5 |
118 |
+ use pam || rm -r src/modules/rlm_pam |
119 |
+ use python || rm -r src/modules/rlm_python |
120 |
+ # Do not install ruby rlm module, bug #483108 |
121 |
+ rm -r src/modules/rlm_ruby |
122 |
+ |
123 |
+ # these are all things we don't have in portage/I don't want to deal |
124 |
+ # with myself |
125 |
+ rm -r src/modules/rlm_eap/types/rlm_eap_tnc # requires TNCS library |
126 |
+ rm -r src/modules/rlm_eap/types/rlm_eap_ikev2 # requires libeap-ikev2 |
127 |
+ rm -r src/modules/rlm_opendirectory # requires some membership.h |
128 |
+ rm -r src/modules/rlm_redis{,who} # requires redis |
129 |
+ rm -r src/modules/rlm_sql/drivers/rlm_sql_{db2,freetds,sybase} |
130 |
+ |
131 |
+ # sql drivers that are not part of experimental are loaded from a |
132 |
+ # file, so we have to remove them from the file itself when we |
133 |
+ # remove them. |
134 |
+ usesqldriver() { |
135 |
+ local flag=$1 |
136 |
+ local driver=rlm_sql_${2:-${flag}} |
137 |
+ |
138 |
+ if ! use ${flag}; then |
139 |
+ rm -r src/modules/rlm_sql/drivers/${driver} || die |
140 |
+ sed -i -e /${driver}/d src/modules/rlm_sql/stable || die |
141 |
+ fi |
142 |
+ } |
143 |
+ |
144 |
+ usesqldriver mysql |
145 |
+ usesqldriver postgres postgresql |
146 |
+ usesqldriver firebird |
147 |
+ usesqldriver iodbc |
148 |
+ usesqldriver odbc unixodbc |
149 |
+ usesqldriver oracle |
150 |
+ usesqldriver sqlite |
151 |
+ |
152 |
+ # remove bundled ltdl to avoid conflicts |
153 |
+ rm -r libltdl |
154 |
+ |
155 |
+ epatch_user |
156 |
+ |
157 |
+ eautoreconf |
158 |
+} |
159 |
+ |
160 |
+src_configure() { |
161 |
+ # fix bug #77613 |
162 |
+ if has_version app-crypt/heimdal; then |
163 |
+ myconf="${myconf} --enable-heimdal-krb5" |
164 |
+ fi |
165 |
+ |
166 |
+ use readline || export ac_cv_lib_readline=no |
167 |
+ use pcap || export ac_cv_lib_pcap_pcap_open_live=no |
168 |
+ |
169 |
+ # do not try to enable static with static-libs; upstream is a |
170 |
+ # massacre of libtool best practices so you also have to make sure |
171 |
+ # to --enable-shared explicitly. |
172 |
+ econf \ |
173 |
+ --enable-shared --disable-static \ |
174 |
+ --disable-ltdl-install \ |
175 |
+ --with-system-libtool \ |
176 |
+ --with-system-libltdl \ |
177 |
+ --with-ascend-binary \ |
178 |
+ --with-udpfromto \ |
179 |
+ --with-dhcp \ |
180 |
+ --with-iodbc-include-dir=/usr/include/iodbc \ |
181 |
+ --with-experimental-modules \ |
182 |
+ --with-docdir=/usr/share/doc/${PF} \ |
183 |
+ --with-logdir=/var/log/radius \ |
184 |
+ $(use_enable debug developer) \ |
185 |
+ $(use_with ldap edir) \ |
186 |
+ $(use_with ssl openssl) \ |
187 |
+ ${myconf} |
188 |
+} |
189 |
+ |
190 |
+src_compile() { |
191 |
+ emake LIBTOOL=libtool |
192 |
+} |
193 |
+ |
194 |
+src_install() { |
195 |
+ dodir /etc |
196 |
+ diropts -m0750 -o root -g radius |
197 |
+ dodir /etc/raddb |
198 |
+ diropts -m0750 -o radius -g radius |
199 |
+ dodir /var/log/radius |
200 |
+ keepdir /var/log/radius/radacct |
201 |
+ diropts |
202 |
+ |
203 |
+ emake LIBTOOL=libtool R="${D}" install |
204 |
+ |
205 |
+ fowners -R root:radius /etc/raddb |
206 |
+ |
207 |
+ sed -i \ |
208 |
+ -e 's:/var/run/radiusd:/run/radiusd:' \ |
209 |
+ "${D}"/etc/raddb/radiusd.conf || die |
210 |
+ |
211 |
+ pamd_mimic_system radiusd auth account password session |
212 |
+ |
213 |
+ dodoc CREDITS |
214 |
+ |
215 |
+ rm "${D}/usr/sbin/rc.radiusd" |
216 |
+ |
217 |
+ newinitd "${FILESDIR}/radius.init-r3" radiusd |
218 |
+ newconfd "${FILESDIR}/radius.conf-r3" radiusd |
219 |
+} |
220 |
+ |
221 |
+pkg_config() { |
222 |
+ if use ssl; then |
223 |
+ cd "${ROOT}"/etc/raddb/certs |
224 |
+ ./bootstrap |
225 |
+ fi |
226 |
+} |
227 |
+ |
228 |
+pkg_preinst() { |
229 |
+ if ! has_version ${CATEGORY}/${PN} && use ssl; then |
230 |
+ elog "You have to run \`emerge --config =${CATEGORY}/${PF}\` to be able" |
231 |
+ elog "to start the radiusd service." |
232 |
+ fi |
233 |
+} |
234 |
|
235 |
diff --git a/net-dialup/freeradius/freeradius-2.2.9-r1.ebuild b/net-dialup/freeradius/freeradius-2.2.9-r1.ebuild |
236 |
new file mode 100644 |
237 |
index 0000000..27f0126 |
238 |
--- /dev/null |
239 |
+++ b/net-dialup/freeradius/freeradius-2.2.9-r1.ebuild |
240 |
@@ -0,0 +1,196 @@ |
241 |
+# Copyright 1999-2016 Gentoo Foundation |
242 |
+# Distributed under the terms of the GNU General Public License v2 |
243 |
+# $Id$ |
244 |
+ |
245 |
+EAPI=6 |
246 |
+ |
247 |
+PYTHON_COMPAT=( python2_7 ) |
248 |
+inherit autotools eutils pam python-any-r1 user |
249 |
+ |
250 |
+PATCHSET=4 |
251 |
+ |
252 |
+MY_P="${PN}-server-${PV}" |
253 |
+ |
254 |
+DESCRIPTION="Highly configurable free RADIUS server" |
255 |
+SRC_URI=" |
256 |
+ ftp://ftp.freeradius.org/pub/radius/${MY_P}.tar.gz |
257 |
+ ftp://ftp.freeradius.org/pub/radius/old/${MY_P}.tar.gz |
258 |
+ https://dev.gentoo.org/~flameeyes/${PN}/${PN}-2.2.0-patches-${PATCHSET}.tar.xz |
259 |
+ |
260 |
+" |
261 |
+HOMEPAGE="http://www.freeradius.org/" |
262 |
+ |
263 |
+KEYWORDS="amd64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd" |
264 |
+LICENSE="GPL-2" |
265 |
+SLOT="0" |
266 |
+ |
267 |
+IUSE=" |
268 |
+ debug firebird iodbc kerberos ldap mysql odbc oracle pam pcap |
269 |
+ postgres python readline sqlite ssl |
270 |
+" |
271 |
+RESTRICT="firebird? ( bindist )" |
272 |
+ |
273 |
+RDEPEND="!net-dialup/cistronradius |
274 |
+ !net-dialup/gnuradius |
275 |
+ sys-devel/libtool |
276 |
+ dev-lang/perl |
277 |
+ sys-libs/gdbm |
278 |
+ python? ( ${PYTHON_DEPS} ) |
279 |
+ readline? ( sys-libs/readline:0= ) |
280 |
+ pcap? ( net-libs/libpcap ) |
281 |
+ mysql? ( virtual/mysql ) |
282 |
+ postgres? ( dev-db/postgresql:= ) |
283 |
+ firebird? ( dev-db/firebird ) |
284 |
+ pam? ( virtual/pam ) |
285 |
+ ssl? ( dev-libs/openssl:0= ) |
286 |
+ ldap? ( net-nds/openldap ) |
287 |
+ kerberos? ( virtual/krb5 ) |
288 |
+ sqlite? ( dev-db/sqlite:3 ) |
289 |
+ odbc? ( dev-db/unixODBC ) |
290 |
+ iodbc? ( dev-db/libiodbc ) |
291 |
+ oracle? ( dev-db/oracle-instantclient-basic )" |
292 |
+DEPEND="${RDEPEND}" |
293 |
+ |
294 |
+S="${WORKDIR}/${MY_P}" |
295 |
+ |
296 |
+pkg_setup() { |
297 |
+ enewgroup radius |
298 |
+ enewuser radius -1 -1 /var/log/radius radius |
299 |
+ |
300 |
+ python-any-r1_pkg_setup |
301 |
+ export PYTHONBIN="${EPYTHON}" |
302 |
+} |
303 |
+ |
304 |
+src_prepare() { |
305 |
+ eapply \ |
306 |
+ "${WORKDIR}"/patches/0002*patch \ |
307 |
+ "${WORKDIR}"/patches/0004*patch \ |
308 |
+ "${FILESDIR}"/${PN}-2.2.5-gentoo.patch |
309 |
+ |
310 |
+ # most of the configuration options do not appear as ./configure |
311 |
+ # switches. Instead it identifies the directories that are available |
312 |
+ # and run through them. These might check for the presence of |
313 |
+ # various libraries, in which case they are not built. To avoid |
314 |
+ # automagic dependencies, we just remove all the modules that we're |
315 |
+ # not interested in using. |
316 |
+ |
317 |
+ use ssl || { rm -r src/modules/rlm_eap/types/rlm_eap_{tls,ttls,peap} || die ; } |
318 |
+ use ldap || { rm -r src/modules/rlm_ldap || die ; } |
319 |
+ use kerberos || { rm -r src/modules/rlm_krb5 || die ; } |
320 |
+ use pam || { rm -r src/modules/rlm_pam || die ; } |
321 |
+ use python || { rm -r src/modules/rlm_python || die ; } |
322 |
+ # Do not install ruby rlm module, bug #483108 |
323 |
+ rm -r src/modules/rlm_ruby || die |
324 |
+ |
325 |
+ # these are all things we don't have in portage/I don't want to deal |
326 |
+ # with myself |
327 |
+ rm -r src/modules/rlm_eap/types/rlm_eap_tnc || die # requires TNCS library |
328 |
+ rm -r src/modules/rlm_eap/types/rlm_eap_ikev2 || die # requires libeap-ikev2 |
329 |
+ rm -r src/modules/rlm_opendirectory || die # requires some membership.h |
330 |
+ rm -r src/modules/rlm_redis{,who} || die # requires redis |
331 |
+ rm -r src/modules/rlm_sql/drivers/rlm_sql_{db2,freetds,sybase} || die |
332 |
+ |
333 |
+ # sql drivers that are not part of experimental are loaded from a |
334 |
+ # file, so we have to remove them from the file itself when we |
335 |
+ # remove them. |
336 |
+ usesqldriver() { |
337 |
+ local flag=$1 |
338 |
+ local driver=rlm_sql_${2:-${flag}} |
339 |
+ |
340 |
+ if ! use ${flag}; then |
341 |
+ rm -r src/modules/rlm_sql/drivers/${driver} || die |
342 |
+ sed -i -e /${driver}/d src/modules/rlm_sql/stable || die |
343 |
+ fi |
344 |
+ } |
345 |
+ |
346 |
+ usesqldriver mysql |
347 |
+ usesqldriver postgres postgresql |
348 |
+ usesqldriver firebird |
349 |
+ usesqldriver iodbc |
350 |
+ usesqldriver odbc unixodbc |
351 |
+ usesqldriver oracle |
352 |
+ usesqldriver sqlite |
353 |
+ |
354 |
+ # remove bundled ltdl to avoid conflicts |
355 |
+ rm -r libltdl |
356 |
+ |
357 |
+ default |
358 |
+ |
359 |
+ eautoreconf |
360 |
+} |
361 |
+ |
362 |
+src_configure() { |
363 |
+ # fix bug #77613 |
364 |
+ if has_version app-crypt/heimdal; then |
365 |
+ myconf+=( --enable-heimdal-krb5 ) |
366 |
+ fi |
367 |
+ |
368 |
+ use readline || export ac_cv_lib_readline=no |
369 |
+ use pcap || export ac_cv_lib_pcap_pcap_open_live=no |
370 |
+ |
371 |
+ # do not try to enable static with static-libs; upstream is a |
372 |
+ # massacre of libtool best practices so you also have to make sure |
373 |
+ # to --enable-shared explicitly. |
374 |
+ econf \ |
375 |
+ --enable-shared --disable-static \ |
376 |
+ --disable-ltdl-install \ |
377 |
+ --with-system-libtool \ |
378 |
+ --with-system-libltdl \ |
379 |
+ --with-ascend-binary \ |
380 |
+ --with-udpfromto \ |
381 |
+ --with-dhcp \ |
382 |
+ --with-iodbc-include-dir=/usr/include/iodbc \ |
383 |
+ --with-experimental-modules \ |
384 |
+ --with-docdir=/usr/share/doc/${PF} \ |
385 |
+ --with-logdir=/var/log/radius \ |
386 |
+ $(use_enable debug developer) \ |
387 |
+ $(use_with ldap edir) \ |
388 |
+ $(use_with ssl openssl) \ |
389 |
+ ${myconf[@]} |
390 |
+} |
391 |
+ |
392 |
+src_compile() { |
393 |
+ emake LIBTOOL=libtool |
394 |
+} |
395 |
+ |
396 |
+src_install() { |
397 |
+ dodir /etc |
398 |
+ diropts -m0750 -o root -g radius |
399 |
+ dodir /etc/raddb |
400 |
+ diropts -m0750 -o radius -g radius |
401 |
+ dodir /var/log/radius |
402 |
+ keepdir /var/log/radius/radacct |
403 |
+ diropts |
404 |
+ |
405 |
+ emake LIBTOOL=libtool R="${D}" install |
406 |
+ |
407 |
+ fowners -R root:radius /etc/raddb |
408 |
+ |
409 |
+ # Fixing pidfile location (#546482) |
410 |
+ sed \ |
411 |
+ '/^run_dir =/s@${localstatedir}@@' \ |
412 |
+ -i "${D}"/etc/raddb/radiusd.conf || die |
413 |
+ |
414 |
+ pamd_mimic_system radiusd auth account password session |
415 |
+ |
416 |
+ dodoc CREDITS |
417 |
+ |
418 |
+ rm "${D}/usr/sbin/rc.radiusd" || die |
419 |
+ |
420 |
+ newinitd "${FILESDIR}/radius.init-r3" radiusd |
421 |
+ newconfd "${FILESDIR}/radius.conf-r3" radiusd |
422 |
+} |
423 |
+ |
424 |
+pkg_config() { |
425 |
+ if use ssl; then |
426 |
+ cd "${ROOT}"/etc/raddb/certs |
427 |
+ ./bootstrap |
428 |
+ fi |
429 |
+} |
430 |
+ |
431 |
+pkg_preinst() { |
432 |
+ if ! has_version ${CATEGORY}/${PN} && use ssl; then |
433 |
+ elog "You have to run \`emerge --config =${CATEGORY}/${PF}\` to be able" |
434 |
+ elog "to start the radiusd service." |
435 |
+ fi |
436 |
+} |
437 |
|
438 |
diff --git a/net-dialup/freeradius/freeradius-3.0.11-r1.ebuild b/net-dialup/freeradius/freeradius-3.0.11-r1.ebuild |
439 |
new file mode 100644 |
440 |
index 0000000..900a8f8 |
441 |
--- /dev/null |
442 |
+++ b/net-dialup/freeradius/freeradius-3.0.11-r1.ebuild |
443 |
@@ -0,0 +1,216 @@ |
444 |
+# Copyright 1999-2016 Gentoo Foundation |
445 |
+# Distributed under the terms of the GNU General Public License v2 |
446 |
+# $Id$ |
447 |
+ |
448 |
+EAPI=6 |
449 |
+ |
450 |
+PYTHON_COMPAT=( python2_7 ) |
451 |
+inherit autotools eutils pam python-any-r1 user |
452 |
+ |
453 |
+#PATCHSET=4 |
454 |
+ |
455 |
+MY_P="${PN}-server-${PV}" |
456 |
+ |
457 |
+DESCRIPTION="Highly configurable free RADIUS server" |
458 |
+SRC_URI=" |
459 |
+ ftp://ftp.freeradius.org/pub/radius/${MY_P}.tar.gz |
460 |
+ ftp://ftp.freeradius.org/pub/radius/old/${MY_P}.tar.gz |
461 |
+" |
462 |
+HOMEPAGE="http://www.freeradius.org/" |
463 |
+ |
464 |
+KEYWORDS="" |
465 |
+LICENSE="GPL-2" |
466 |
+SLOT="0" |
467 |
+ |
468 |
+IUSE=" |
469 |
+ debug firebird iodbc kerberos ldap mysql odbc oracle pam pcap |
470 |
+ postgres python readline sqlite ssl |
471 |
+" |
472 |
+RESTRICT="test firebird? ( bindist )" |
473 |
+ |
474 |
+RDEPEND="!net-dialup/cistronradius |
475 |
+ !net-dialup/gnuradius |
476 |
+ sys-devel/libtool |
477 |
+ dev-lang/perl |
478 |
+ sys-libs/gdbm |
479 |
+ sys-libs/talloc |
480 |
+ python? ( ${PYTHON_DEPS} ) |
481 |
+ readline? ( sys-libs/readline:0= ) |
482 |
+ pcap? ( net-libs/libpcap ) |
483 |
+ mysql? ( virtual/mysql ) |
484 |
+ postgres? ( dev-db/postgresql:= ) |
485 |
+ firebird? ( dev-db/firebird ) |
486 |
+ pam? ( virtual/pam ) |
487 |
+ ssl? ( dev-libs/openssl:0= ) |
488 |
+ ldap? ( net-nds/openldap ) |
489 |
+ kerberos? ( virtual/krb5 ) |
490 |
+ sqlite? ( dev-db/sqlite:3 ) |
491 |
+ odbc? ( dev-db/unixODBC ) |
492 |
+ iodbc? ( dev-db/libiodbc ) |
493 |
+ oracle? ( dev-db/oracle-instantclient-basic )" |
494 |
+DEPEND="${RDEPEND}" |
495 |
+ |
496 |
+S="${WORKDIR}/${MY_P}" |
497 |
+ |
498 |
+pkg_setup() { |
499 |
+ enewgroup radius |
500 |
+ enewuser radius -1 -1 /var/log/radius radius |
501 |
+ |
502 |
+ python-any-r1_pkg_setup |
503 |
+ export PYTHONBIN="${EPYTHON}" |
504 |
+} |
505 |
+ |
506 |
+src_prepare() { |
507 |
+ # most of the configuration options do not appear as ./configure |
508 |
+ # switches. Instead it identifies the directories that are available |
509 |
+ # and run through them. These might check for the presence of |
510 |
+ # various libraries, in which case they are not built. To avoid |
511 |
+ # automagic dependencies, we just remove all the modules that we're |
512 |
+ # not interested in using. |
513 |
+ |
514 |
+ use ssl || { rm -r src/modules/rlm_eap/types/rlm_eap_{tls,ttls,peap} || die ; } |
515 |
+ use ldap || { rm -r src/modules/rlm_ldap || die ; } |
516 |
+ use kerberos || { rm -r src/modules/rlm_krb5 || die ; } |
517 |
+ use pam || { rm -r src/modules/rlm_pam || die ; } |
518 |
+ use python || { rm -r src/modules/rlm_python || die ; } |
519 |
+ # Do not install ruby rlm module, bug #483108 |
520 |
+ rm -r src/modules/rlm_ruby || die |
521 |
+ |
522 |
+ # these are all things we don't have in portage/I don't want to deal |
523 |
+ # with myself |
524 |
+ rm -r src/modules/rlm_eap/types/rlm_eap_tnc || die # requires TNCS library |
525 |
+ rm -r src/modules/rlm_eap/types/rlm_eap_ikev2 || die # requires libeap-ikev2 |
526 |
+ rm -r src/modules/rlm_opendirectory || die # requires some membership.h |
527 |
+ rm -r src/modules/rlm_redis{,who} || die # requires redis |
528 |
+ rm -r src/modules/rlm_sql/drivers/rlm_sql_{db2,freetds} || die |
529 |
+ |
530 |
+ # sql drivers that are not part of experimental are loaded from a |
531 |
+ # file, so we have to remove them from the file itself when we |
532 |
+ # remove them. |
533 |
+ usesqldriver() { |
534 |
+ local flag=$1 |
535 |
+ local driver=rlm_sql_${2:-${flag}} |
536 |
+ |
537 |
+ if ! use ${flag}; then |
538 |
+ rm -r src/modules/rlm_sql/drivers/${driver} || die |
539 |
+ sed -i -e /${driver}/d src/modules/rlm_sql/stable || die |
540 |
+ fi |
541 |
+ } |
542 |
+ |
543 |
+ sed -i \ |
544 |
+ -e 's:/var/run/radiusd:/run/radiusd:g' \ |
545 |
+ -e '/^run_dir/s:${localstatedir}::g' \ |
546 |
+ raddb/radiusd.conf.in || die |
547 |
+ |
548 |
+ # verbosity |
549 |
+ # build shared libraries using jlibtool --shared |
550 |
+ sed -i \ |
551 |
+ -e '/$(LIBTOOL)/s|--quiet ||g' \ |
552 |
+ -e 's:--mode=\(compile\|link\):& --shared:g' \ |
553 |
+ Make.inc.in || die |
554 |
+ |
555 |
+ sed -i \ |
556 |
+ -e 's|--silent ||g' \ |
557 |
+ -e 's:--mode=\(compile\|link\):& --shared:g' \ |
558 |
+ scripts/libtool.mk || die |
559 |
+ |
560 |
+ # crude measure to stop jlibtool from running ranlib and ar |
561 |
+ sed -i \ |
562 |
+ -e '/LIBRARIAN/s|".*"|"true"|g' \ |
563 |
+ -e '/RANLIB/s|".*"|"true"|g' \ |
564 |
+ scripts/jlibtool.c || die |
565 |
+ |
566 |
+ usesqldriver mysql |
567 |
+ usesqldriver postgres postgresql |
568 |
+ usesqldriver firebird |
569 |
+ usesqldriver iodbc |
570 |
+ usesqldriver odbc unixodbc |
571 |
+ usesqldriver oracle |
572 |
+ usesqldriver sqlite |
573 |
+ |
574 |
+ default |
575 |
+ |
576 |
+ eautoreconf |
577 |
+} |
578 |
+ |
579 |
+src_configure() { |
580 |
+ # fix bug #77613 |
581 |
+ if has_version app-crypt/heimdal; then |
582 |
+ myconf+=( --enable-heimdal-krb5 ) |
583 |
+ fi |
584 |
+ |
585 |
+ use readline || export ac_cv_lib_readline=no |
586 |
+ use pcap || export ac_cv_lib_pcap_pcap_open_live=no |
587 |
+ |
588 |
+ # do not try to enable static with static-libs; upstream is a |
589 |
+ # massacre of libtool best practices so you also have to make sure |
590 |
+ # to --enable-shared explicitly. |
591 |
+ econf \ |
592 |
+ --enable-shared \ |
593 |
+ --disable-static \ |
594 |
+ --disable-ltdl-install \ |
595 |
+ --with-system-libtool \ |
596 |
+ --with-system-libltdl \ |
597 |
+ --with-ascend-binary \ |
598 |
+ --with-udpfromto \ |
599 |
+ --with-dhcp \ |
600 |
+ --with-iodbc-include-dir=/usr/include/iodbc \ |
601 |
+ --with-experimental-modules \ |
602 |
+ --with-docdir=/usr/share/doc/${PF} \ |
603 |
+ --with-logdir=/var/log/radius \ |
604 |
+ $(use_enable debug developer) \ |
605 |
+ $(use_with ldap edir) \ |
606 |
+ $(use_with ssl openssl) \ |
607 |
+ ${myconf[@]} |
608 |
+} |
609 |
+ |
610 |
+src_compile() { |
611 |
+ # verbose, do not generate certificates |
612 |
+ emake \ |
613 |
+ Q='' ECHO=true \ |
614 |
+ LOCAL_CERT_PRODUCTS='' |
615 |
+} |
616 |
+ |
617 |
+src_install() { |
618 |
+ dodir /etc |
619 |
+ diropts -m0750 -o root -g radius |
620 |
+ dodir /etc/raddb |
621 |
+ diropts -m0750 -o radius -g radius |
622 |
+ dodir /var/log/radius |
623 |
+ keepdir /var/log/radius/radacct |
624 |
+ diropts |
625 |
+ |
626 |
+ # verbose, do not install certificates |
627 |
+ emake -j1 \ |
628 |
+ Q='' ECHO=true \ |
629 |
+ LOCAL_CERT_PRODUCTS='' \ |
630 |
+ R="${D}" \ |
631 |
+ install |
632 |
+ |
633 |
+ fowners -R root:radius /etc/raddb |
634 |
+ |
635 |
+ pamd_mimic_system radiusd auth account password session |
636 |
+ |
637 |
+ dodoc CREDITS |
638 |
+ |
639 |
+ rm "${D}/usr/sbin/rc.radiusd" || die |
640 |
+ |
641 |
+ newinitd "${FILESDIR}/radius.init-r3" radiusd |
642 |
+ newconfd "${FILESDIR}/radius.conf-r3" radiusd |
643 |
+ |
644 |
+ prune_libtool_files |
645 |
+} |
646 |
+ |
647 |
+pkg_config() { |
648 |
+ if use ssl; then |
649 |
+ cd "${ROOT}"/etc/raddb/certs |
650 |
+ ./bootstrap |
651 |
+ fi |
652 |
+} |
653 |
+ |
654 |
+pkg_preinst() { |
655 |
+ if ! has_version ${CATEGORY}/${PN} && use ssl; then |
656 |
+ elog "You have to run \`emerge --config =${CATEGORY}/${PF}\` to be able" |
657 |
+ elog "to start the radiusd service." |
658 |
+ fi |
659 |
+} |