fwknop: init script improvements
[feed/packages.git] / net / freeradius3 / Makefile
1 #
2 # Copyright (C) 2008-2020 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9
10 PKG_NAME:=freeradius3
11 PKG_VERSION:=release_3_0_20
12 PKG_RELEASE:=2
13
14 PKG_SOURCE:=$(PKG_VERSION).tar.gz
15 PKG_SOURCE_URL:=https://github.com/FreeRADIUS/freeradius-server/archive
16 PKG_HASH:=8177fe550af6685a040884dbe3df28431bdc5a8d3a48a9f4f88bdb49f2d0e90c
17
18 PKG_MAINTAINER:=
19 PKG_LICENSE:=GPL-2.0
20 PKG_LICENSE_FILES:=COPYRIGHT LICENSE
21 PKG_CPE_ID:=cpe:/a:freeradius:freeradius
22
23 PKG_BUILD_DIR:=$(BUILD_DIR)/freeradius-server-$(PKG_VERSION)
24 PKG_FIXUP:=autoreconf
25
26 PKG_CONFIG_DEPENDS := \
27 FREERADIUS3_OPENSSL \
28 FREERADIUS3_NOSSL
29
30 CFLAGS += $(FPIC)
31
32 include $(INCLUDE_DIR)/package.mk
33 include $(TOPDIR)/feeds/packages/lang/python/python-package.mk
34 include $(TOPDIR)/feeds/packages/lang/python/python3-package.mk
35
36 define Package/freeradius3/config
37 source "$(SOURCE)/Config.in"
38 endef
39
40 define Package/freeradius3/Default
41 SECTION:=net
42 CATEGORY:=Network
43 URL:=https://freeradius.org/
44 SUBMENU:=FreeRADIUS (version 3)
45 endef
46
47 define Package/freeradius3
48 $(call Package/freeradius3/Default)
49 DEPENDS:=+freeradius3-common
50 TITLE:=A flexible RADIUS server (version 3)
51 endef
52
53 define Package/freeradius3/conffiles
54 /etc/freeradius3/clients.conf
55 /etc/freeradius3/radiusd.conf
56 /etc/freeradius3/sites/default
57 endef
58
59 define Package/freeradius3-common
60 $(call Package/freeradius3/Default)
61 TITLE:=common files
62 DEPENDS:=+USE_GLIBC:libpthread +FREERADIUS3_OPENSSL:libopenssl +libcap +libpcap +libncurses +libpcre +libreadline +libtalloc +libatomic
63 endef
64
65 define Package/freeradius3-default
66 $(call Package/freeradius3/Default)
67 DEPENDS:=freeradius3 \
68 +freeradius3-democerts \
69 +freeradius3-mod-always \
70 +freeradius3-mod-attr-filter \
71 +freeradius3-mod-chap \
72 +freeradius3-mod-detail \
73 +freeradius3-mod-digest \
74 +freeradius3-mod-eap \
75 +freeradius3-mod-eap-gtc \
76 +freeradius3-mod-eap-leap \
77 +freeradius3-mod-eap-md5 \
78 +freeradius3-mod-eap-mschapv2 \
79 +freeradius3-mod-eap-peap \
80 +freeradius3-mod-eap-tls \
81 +freeradius3-mod-eap-ttls \
82 +freeradius3-mod-eap-pwd \
83 +freeradius3-mod-exec \
84 +freeradius3-mod-expiration \
85 +freeradius3-mod-expr \
86 +freeradius3-mod-files \
87 +freeradius3-mod-logintime \
88 +freeradius3-mod-mschap \
89 +freeradius3-mod-pap \
90 +freeradius3-mod-preprocess \
91 +freeradius3-mod-radutmp \
92 +freeradius3-mod-realm \
93 +freeradius3-mod-unix
94 TITLE:=Modules needed for Radius default configuration
95 endef
96
97 define Package/freeradius3-democerts
98 $(call Package/freeradius3/Default)
99 DEPENDS:=freeradius3
100 TITLE:=Demo certificates to test the server
101 endef
102
103 define Package/freeradius3-mod-chap
104 $(call Package/freeradius3/Default)
105 DEPENDS:=freeradius3
106 TITLE:=CHAP module
107 endef
108
109 define Package/freeradius3-mod-chap/conffiles
110 /etc/freeradius3/mods-available/chap
111 /etc/freeradius3/mods-enabled/chap
112 endef
113
114 define Package/freeradius3-mod-detail
115 $(call Package/freeradius3/Default)
116 DEPENDS:=freeradius3
117 TITLE:=Detailed accounting module
118 endef
119
120 define Package/freeradius3-mod-detail/conffiles
121 /etc/freeradius3/mods-available/detail
122 /etc/freeradius3/mods-enabled/detail
123 endef
124
125 define Package/freeradius3-mod-digest
126 $(call Package/freeradius3/Default)
127 DEPENDS:=freeradius3
128 TITLE:=HTTP Digest Authentication
129 endef
130
131 define Package/freeradius3-mod-digest/conffiles
132 /etc/freeradius3/mods-available/digest
133 /etc/freeradius3/mods-enabled/digest
134 endef
135
136 define Package/freeradius3-mod-eap
137 $(call Package/freeradius3/Default)
138 DEPENDS:=freeradius3
139 TITLE:=Base EAP module
140 endef
141
142 define Package/freeradius3-mod-eap/conffiles
143 /etc/freeradius3/mods-available/eap
144 /etc/freeradius3/mods-enabled/eap
145 /etc/freeradius3/policy.d/eap
146 /etc/freeradius3/sites-enabled/inner-tunnel
147 /etc/freeradius3/sites-available/inner-tunnel
148 endef
149
150 define Package/freeradius3-mod-eap-gtc
151 $(call Package/freeradius3/Default)
152 DEPENDS:=freeradius3-mod-eap
153 TITLE:=EAP/GTC module
154 endef
155
156 define Package/freeradius3-mod-eap-leap
157 $(call Package/freeradius3/Default)
158 DEPENDS:=freeradius3-mod-eap
159 TITLE:=EAP/LEAP module
160 endef
161
162 define Package/freeradius3-mod-eap-md5
163 $(call Package/freeradius3/Default)
164 DEPENDS:=freeradius3-mod-eap
165 TITLE:=EAP/MD5 module
166 endef
167
168 define Package/freeradius3-mod-eap-mschapv2
169 $(call Package/freeradius3/Default)
170 DEPENDS:=freeradius3-mod-eap +freeradius3-mod-mschap
171 TITLE:=EAP/MS-CHAPv2 module
172 endef
173
174 define Package/freeradius3-mod-eap-peap
175 $(call Package/freeradius3/Default)
176 DEPENDS:=freeradius3-mod-eap @FREERADIUS3_OPENSSL
177 TITLE:=EAP/PEAP module
178 endef
179
180 define Package/freeradius3-mod-eap-tls
181 $(call Package/freeradius3/Default)
182 DEPENDS:=freeradius3-mod-eap @FREERADIUS3_OPENSSL
183 TITLE:=EAP/TLS module
184 endef
185
186 define Package/freeradius3-mod-eap-ttls
187 $(call Package/freeradius3/Default)
188 DEPENDS:=freeradius3-mod-eap-tls
189 TITLE:=EAP/TTLS module
190 endef
191
192 define Package/freeradius3-mod-eap-pwd
193 $(call Package/freeradius3/Default)
194 DEPENDS:=freeradius3-mod-eap @FREERADIUS3_OPENSSL
195 TITLE:=EAP/PWD module
196 endef
197
198 define Package/freeradius3-mod-exec
199 $(call Package/freeradius3/Default)
200 DEPENDS:=freeradius3
201 TITLE:=EXEC module
202 endef
203
204 define Package/freeradius3-mod-exec/conffiles
205 /etc/freeradius3/mods-available/exec
206 /etc/freeradius3/mods-enabled/exec
207 endef
208
209 define Package/freeradius3-mod-expiration
210 $(call Package/freeradius3/Default)
211 DEPENDS:=freeradius3
212 TITLE:=Expiration module
213 endef
214
215 define Package/freeradius3-mod-expiration/conffiles
216 /etc/freeradius3/mods-available/expiration
217 /etc/freeradius3/mods-enabled/expiration
218 endef
219
220 define Package/freeradius3-mod-always
221 $(call Package/freeradius3/Default)
222 DEPENDS:=freeradius3
223 TITLE:=Always module
224 endef
225
226 define Package/freeradius3-mod-always/conffiles
227 /etc/freeradius3/mods-available/always
228 /etc/freeradius3/mods-enabled/always
229 endef
230
231 define Package/freeradius3-mod-expr
232 $(call Package/freeradius3/Default)
233 DEPENDS:=freeradius3
234 TITLE:=EXPR module
235 endef
236
237 define Package/freeradius3-mod-expr/conffiles
238 /etc/freeradius3/mods-available/expr
239 /etc/freeradius3/mods-enabled/expr
240 endef
241
242 define Package/freeradius3-mod-attr-filter
243 $(call Package/freeradius3/Default)
244 DEPENDS:=freeradius3
245 TITLE:=ATTR filter module
246 endef
247
248 define Package/freeradius3-mod-attr-filter/conffiles
249 /etc/freeradius3/mods-available/attr_filter
250 /etc/freeradius3/mods-enabled/attr_filter
251 /etc/freeradius3/mods-config/attr_filter/access_challenge
252 /etc/freeradius3/mods-config/attr_filter/access_reject
253 /etc/freeradius3/mods-config/attr_filter/accounting_response
254 /etc/freeradius3/mods-config/attr_filter/post-proxy
255 /etc/freeradius3/mods-config/attr_filter/pre-proxy
256 endef
257
258 define Package/freeradius3-mod-attr-rewrite
259 $(call Package/freeradius3/Default)
260 DEPENDS:=freeradius3
261 TITLE:=ATTR rewrite module
262 endef
263
264 define Package/freeradius3-mod-files
265 $(call Package/freeradius3/Default)
266 DEPENDS:=freeradius3
267 TITLE:=Module using local files for authorization
268 endef
269
270 define Package/freeradius3-mod-files/conffiles
271 /etc/freeradius3/mods-available/files
272 /etc/freeradius3/mods-enabled/files
273 /etc/freeradius3/mods-config/files/accounting
274 /etc/freeradius3/mods-config/files/authorize
275 /etc/freeradius3/mods-config/files/pre-proxy
276 endef
277
278 define Package/freeradius3-mod-passwd
279 $(call Package/freeradius3/Default)
280 DEPENDS:=freeradius3
281 TITLE:=Rlm passwd module
282 endef
283
284 define Package/freeradius3-mod-passwd/conffiles
285 /etc/freeradius3/mods-available/passwd
286 /etc/freeradius3/mods-enabled/passwd
287 endef
288
289 define Package/freeradius3-mod-ldap
290 $(call Package/freeradius3/Default)
291 DEPENDS:=freeradius3 +libopenldap @FREERADIUS3_OPENSSL
292 TITLE:=LDAP Authentication
293 endef
294
295 define Package/freeradius3-mod-ldap/conffiles
296 /etc/freeradius3/mods-available/ldap
297 endef
298
299 define Package/freeradius3-mod-logintime
300 $(call Package/freeradius3/Default)
301 DEPENDS:=freeradius3
302 TITLE:=Logintime module
303 endef
304
305 define Package/freeradius3-mod-logintime/conffiles
306 /etc/freeradius3/mods-available/logintime
307 /etc/freeradius3/mods-enabled/logintime
308 endef
309
310 define Package/freeradius3-mod-mschap
311 $(call Package/freeradius3/Default)
312 DEPENDS:=freeradius3
313 TITLE:=MS-CHAP and MS-CHAPv2 module
314 endef
315
316 define Package/freeradius3-mod-mschap/conffiles
317 /etc/freeradius3/mods-available/mschap
318 /etc/freeradius3/mods-enabled/mschap
319 endef
320
321 define Package/freeradius3-mod-pap
322 $(call Package/freeradius3/Default)
323 DEPENDS:=freeradius3
324 TITLE:=PAP module
325 endef
326
327 define Package/freeradius3-mod-pap/conffiles
328 /etc/freeradius3/mods-available/pap
329 /etc/freeradius3/mods-enabled/pap
330 endef
331
332 define Package/freeradius3-mod-preprocess
333 $(call Package/freeradius3/Default)
334 DEPENDS:=freeradius3
335 TITLE:=Request pre-processing module
336 endef
337
338 define Package/freeradius3-mod-preprocess/conffiles
339 /etc/freeradius3/mods-config/preprocess/hints
340 /etc/freeradius3/mods-config/preprocess/huntgroups
341 /etc/freeradius3/mods-available/preprocess
342 /etc/freeradius3/mods-enabled/preprocess
343 endef
344
345 define Package/freeradius3-mod-python
346 $(call Package/freeradius3/Default)
347 DEPENDS:=freeradius3 +python
348 TITLE:=Python module
349 endef
350
351 define Package/freeradius3-mod-python/conffiles
352 /etc/freeradius3/mods-available/python
353 endef
354
355 define Package/freeradius3-mod-python3
356 $(call Package/freeradius3/Default)
357 DEPENDS:=freeradius3 +python3
358 TITLE:=Python3 module
359 endef
360
361 define Package/freeradius3-mod-python3/conffiles
362 /etc/freeradius3/mods-available/python3
363 endef
364
365 define Package/freeradius3-mod-realm
366 $(call Package/freeradius3/Default)
367 DEPENDS:=freeradius3
368 TITLE:=Realms handling module
369 endef
370
371 define Package/freeradius3-mod-realm/conffiles
372 /etc/freeradius3/mods-available/realm
373 /etc/freeradius3/mods-enabled/realm
374 endef
375
376 define Package/freeradius3-mod-sql
377 $(call Package/freeradius3/Default)
378 DEPENDS:=freeradius3
379 TITLE:=Radius generic SQL front-end
380 endef
381
382 define Package/freeradius3-mod-sql/conffiles
383 /etc/freeradius3/mods-available/sql
384 endef
385
386 define Package/freeradius3-mod-sql-mysql
387 $(call Package/freeradius3/Default)
388 DEPENDS:=freeradius3-mod-sql +libmysqlclient
389 TITLE:=Radius MySQL back-end drivers
390 endef
391
392 define Package/freeradius3-mod-sql-mysql/conffiles
393 /etc/freeradius3/mods-config/sql/main/mysql
394 endef
395
396 define Package/freeradius3-mod-sql-null
397 $(call Package/freeradius3/Default)
398 DEPENDS:=freeradius3-mod-sql
399 TITLE:=Radius Dummy SQL back-end drivers
400 endef
401
402 define Package/freeradius3-mod-sql-postgresql
403 $(call Package/freeradius3/Default)
404 DEPENDS:=freeradius3-mod-sql +libpq
405 TITLE:=Radius PostgreSQL back-end drivers
406 endef
407
408 define Package/freeradius3-mod-sql-postgresql/conffiles
409 /etc/freeradius3/mods-config/sql/main/postgresql
410 endef
411
412 define Package/freeradius3-mod-sql-sqlite
413 $(call Package/freeradius3/Default)
414 DEPENDS:=freeradius3-mod-sql +libsqlite3
415 TITLE:=Radius SQLite back-end drivers
416 endef
417
418 define Package/freeradius3-mod-sql-sqlite/conffiles
419 /etc/freeradius3/mods-config/sql/main/sqlite
420 endef
421
422 define Package/freeradius3-mod-sqlcounter
423 $(call Package/freeradius3/Default)
424 DEPENDS:=+freeradius3-mod-sql
425 TITLE:=Packet counter using accounting records written into an SQL database
426 endef
427
428 define Package/freeradius3-mod-sqlcounter/conffiles
429 /etc/freeradius3/mods-config/sql/counter
430 /etc/freeradius3/mods-available/sqlcounter
431 endef
432
433 define Package/freeradius3-mod-sqlippool
434 $(call Package/freeradius3/Default)
435 DEPENDS:=+freeradius3-mod-sql
436 TITLE:=Radius SQL Based IP Pool module
437 endef
438
439 define Package/freeradius3-mod-sqlippool/conffiles
440 /etc/freeradius3/mods-config/sql/ippool
441 /etc/freeradius3/mods-config/sql/ippool-dhcp
442 /etc/freeradius3/mods-available/dhcp_sqlippool
443 /etc/freeradius3/mods-available/sqlippool
444 endef
445
446 define Package/freeradius3-mod-radutmp
447 $(call Package/freeradius3/Default)
448 DEPENDS:=freeradius3
449 TITLE:=Radius UTMP module
450 endef
451
452 define Package/freeradius3-mod-radutmp/conffiles
453 /etc/freeradius3/mods-available/radutmp
454 /etc/freeradius3/mods-enabled/radutmp
455 /etc/freeradius3/mods-available/sradutmp
456 /etc/freeradius3/mods-enabled/sradutmp
457 endef
458
459 define Package/freeradius3-mod-unix
460 $(call Package/freeradius3/Default)
461 DEPENDS:=freeradius3
462 TITLE:=System Authentication
463 endef
464
465 define Package/freeradius3-mod-unix/conffiles
466 /etc/freeradius3/mods-available/unix
467 /etc/freeradius3/mods-enabled/unix
468 endef
469
470 define Package/freeradius3-utils
471 $(call Package/freeradius3/Default)
472 DEPENDS:=+freeradius3-common
473 TITLE:=Misc. client utilities
474 endef
475
476 # This is a workaround for a bug in configure.ac, that does not check
477 # for the openss/rand.h header. Setting the macro is safe for openwrt,
478 # and faster than rebuilding configure.
479 # This has been fixed upstream in the 3.0.x branch, and should not be
480 # needed in a future release.
481 EXTRA_CFLAGS+= -DHAVE_OPENSSL_RAND_H
482
483 CONFIGURE_ARGS+= \
484 --libdir=/usr/lib/freeradius3 \
485 --libexecdir=/usr/lib/freeradius3 \
486 --disable-developer \
487 --with-threads \
488 $(if $(CONFIG_FREERADIUS3_OPENSSL),--with,--without)-openssl \
489 $(if $(CONFIG_FREERADIUS3_OPENSSL),--with-openssl-includes="$(STAGING_DIR)/usr/include",) \
490 $(if $(CONFIG_FREERADIUS3_OPENSSL),--with-openssl-libraries="$(STAGING_DIR)/usr/lib",) \
491 $(if $(CONFIG_FREERADIUS3_OPENSSL),--disable-openssl-version-check,) \
492 --with-talloc-include-dir="$(STAGING_DIR)/usr/include" \
493 --with-talloc-lib-dir="$(STAGING_DIR)/usr/lib" \
494 --enable-strict-dependencies \
495 --with-dictdir=/usr/share/freeradius3 \
496 --with-raddbdir=/etc/freeradius3 \
497 --with-radacctdir=/var/db/radacct \
498 --with-logdir=/var/log \
499 --without-edir \
500 --without-snmp \
501 --without-rlm_cache \
502 --without-rlm_cache_memcached \
503 --without-rlm_couchbase \
504 --without-rlm_counter \
505 --without-rlm_eap_ikev2 \
506 --without-rlm_eap_sim \
507 --without-rlm_eap_tnc \
508 --without-rlm_example \
509 --without-rlm_idn \
510 --without-rlm_ippool \
511 --without-rlm_krb5 \
512 --without-rlm_opendirectory \
513 --without-rlm_pam \
514 --without-rlm_perl \
515 --without-rlm_redis \
516 --without-rlm_rediswho \
517 --without-rlm_rest \
518 --without-rlm_ruby \
519 --without-rlm_securid \
520 --without-rlm_smsotp \
521 --without-rlm_sql_db2 \
522 --without-rlm_sql_firebird \
523 --without-rlm_sql_freetds \
524 --without-rlm_sql_iodbc \
525 --without-rlm_sql_oracle \
526 --without-rlm_sql_unixodbc \
527 --without-rlm_unbound \
528 --without-rlm_yubikey \
529
530 CONFIGURE_LIBS+= -latomic
531
532 PKG_DICTIONARIES:= \
533 compat \
534 freeradius freeradius.internal \
535 rfc2865 rfc2866 rfc2867 rfc2868 rfc2869 rfc3162 rfc3576 rfc3580 \
536 rfc4372 rfc4675 rfc4679 rfc5580\
537 microsoft \
538 wispr \
539
540 ifneq ($(SDK)$(CONFIG_PACKAGE_freeradius3-mod-eap-peap),)
541 CONFIGURE_ARGS+= \
542 --with-rlm_eap_peap \
543 --with-rlm_eap_peap-include-dir="$(STAGING_DIR)/usr/include" \
544 --with-rlm_eap_peap-lib-dir="$(STAGING_DIR)/usr/lib"
545 CONFIGURE_LIBS+= -lcrypto -lssl
546 else
547 CONFIGURE_ARGS+= --without-rlm_eap_peap
548 endif
549
550 ifneq ($(SDK)$(CONFIG_PACKAGE_freeradius3-mod-eap-tls),)
551 CONFIGURE_ARGS+= \
552 --with-rlm_eap_tls \
553 --with-rlm_eap_tls-include-dir="$(STAGING_DIR)/usr/include" \
554 --with-rlm_eap_tls-lib-dir="$(STAGING_DIR)/usr/lib"
555 CONFIGURE_LIBS+= -lcrypto -lssl
556 else
557 CONFIGURE_ARGS+= --without-rlm_eap_tls
558 endif
559
560 ifneq ($(SDK)$(CONFIG_PACKAGE_freeradius3-mod-eap-ttls),)
561 CONFIGURE_ARGS+= \
562 --with-rlm_eap_ttls \
563 --with-rlm_eap_ttls-include-dir="$(STAGING_DIR)/usr/include" \
564 --with-rlm_eap_ttls-lib-dir="$(STAGING_DIR)/usr/lib"
565 CONFIGURE_LIBS+= -lcrypto -lssl
566 else
567 CONFIGURE_ARGS+= --without-rlm_eap_ttls
568 endif
569
570 ifneq ($(SDK)$(CONFIG_PACKAGE_freeradius3-mod-eap-pwd),)
571 CONFIGURE_ARGS+= \
572 --with-rlm_eap_pwd \
573 --with-rlm_eap_pwd-include-dir="$(STAGING_DIR)/usr/include" \
574 --with-rlm_eap_pwd-lib-dir="$(STAGING_DIR)/usr/lib"
575 CONFIGURE_LIBS+= -lcrypto -lssl
576 else
577 CONFIGURE_ARGS+= --without-rlm_eap_pwd
578 endif
579
580 ifneq ($(SDK)$(CONFIG_PACKAGE_freeradius3-mod-python),)
581 CFLAGS+= -fPIC
582 CONFIGURE_ARGS+= \
583 --with-rlm_python \
584 --with-rlm-python-include-dir="$(PYTHON_INC_DIR)" \
585 --with-rlm-python-lib-dir="$(PYTHON_LIB_DIR)"
586 CONFIGURE_VARS+= \
587 OPENWRTTARGET_PY_PREFIX="$(PYTHON_DIR)" \
588 OPENWRTTARGET_PY_SYS_VERSION="$(PYTHON_VERSION)"
589 else
590 CONFIGURE_ARGS+= --without-rlm_python
591 endif
592
593 ifneq ($(SDK)$(CONFIG_PACKAGE_freeradius3-mod-python3),)
594 CFLAGS+= -fPIC
595 CONFIGURE_ARGS+= \
596 --with-modules="rlm_python3" \
597 --with-rlm-python3-include-dir="$(PYTHON3_INC_DIR)" \
598 --with-rlm-python3-lib-dir="$(PYTHON3_LIB_DIR)"
599 CONFIGURE_VARS+= \
600 OPENWRTTARGET_PY3_PREFIX="$(PYTHON3_DIR)" \
601 OPENWRTTARGET_PY3_SYS_VERSION="$(PYTHON3_VERSION)"
602 else
603 CONFIGURE_ARGS+= --without-rlm_python3
604 endif
605
606 ifneq ($(SDK)$(CONFIG_PACKAGE_freeradius3-mod-sql),)
607 CONFIGURE_ARGS+= --with-rlm_sql
608 else
609 CONFIGURE_ARGS+= --without-rlm_sql
610 endif
611
612 ifneq ($(SDK)$(CONFIG_PACKAGE_freeradius3-mod-sql-mysql),)
613 CONFIGURE_ARGS+= \
614 --with-rlm_sql_mysql \
615 --with-mysql-include-dir="$(STAGING_DIR)/usr/include/mysql"
616 else
617 CONFIGURE_ARGS+= --without-rlm_sql_mysql
618 endif
619
620 ifneq ($(SDK)$(CONFIG_PACKAGE_freeradius3-mod-sql-postgresql),)
621 CONFIGURE_ARGS+= --with-rlm_sql_postgresql
622 else
623 CONFIGURE_ARGS+= --without-rlm_sql_postgresql
624 endif
625
626 ifneq ($(SDK)$(CONFIG_PACKAGE_freeradius3-mod-sql-sqlite),)
627 CONFIGURE_ARGS+= --with-rlm_sql_sqlite
628 else
629 CONFIGURE_ARGS+= --without-rlm_sql_sqlite
630 endif
631
632 ifneq ($(SDK)$(CONFIG_PACKAGE_freeradius3-mod-sqlcounter),)
633 CONFIGURE_ARGS+= --with-rlm_sqlcounter
634 else
635 CONFIGURE_ARGS+= --without-rlm_sqlcounter
636 endif
637
638 ifneq ($(SDK)$(CONFIG_PACKAGE_freeradius3-mod-sqlippool),)
639 CONFIGURE_ARGS+= --with-rlm_sqlippool
640 else
641 CONFIGURE_ARGS+= --without-rlm_sqlippool
642 endif
643
644 ifneq ($(SDK)$(CONFIG_PACKAGE_freeradius3-mod-radutmp),)
645 CONFIGURE_ARGS+= --with-rlm_radutmp
646 else
647 CONFIGURE_ARGS+= --without-rlm_radutmp
648 endif
649
650 ifneq ($(SDK)$(CONFIG_PACKAGE_freeradius3-mod-unix),)
651 CONFIGURE_ARGS+= --with-rlm_unix
652 else
653 CONFIGURE_ARGS+= --without-rlm_unix
654 endif
655
656 ifneq ($(SDK)$(CONFIG_PACKAGE_freeradius3-mod-ldap),)
657 CONFIGURE_ARGS+= --with-rlm_ldap \
658 --with-rlm_ldap-include-dir="$(STAGING_DIR)/usr/include" \
659 --with-rlm_ldap-lib-dir="$(STAGING_DIR)/usr/lib"
660 else
661 CONFIGURE_ARGS+= --without-rlm_ldap
662 endif
663
664 ifeq ($(CONFIG_USE_GLIBC),y)
665 TARGET_CFLAGS+= -DLIBBSD_OVERLAY -I$(STAGING_DIR)/usr/include/bsd \
666 -D_RPC_NETDB_H
667 #^^^^^^^^^^^^^ avoid inclusion of librpc's netdb.h
668 CONFIGURE_LIBS+= -Wl,--push-state,--as-needed -lbsd -Wl,--pop-state
669 endif
670
671 CONFIGURE_VARS+= \
672 LDFLAGS="$$$$LDFLAGS" \
673 LIBS="$(CONFIGURE_LIBS)" \
674 MYSQL_CONFIG="no" \
675 ac_cv_lib_readline=no \
676 ax_cv_cc_builtin_choose_expr=yes \
677 ax_cv_cc_builtin_types_compatible_p=yes ax_cv_cc_builtin_bswap64=yes \
678 ax_cv_cc_bounded_attribute=no \
679 ac_cv_lib_collectdclient_lcc_connect=no \
680 ac_cv_lib_execinfo_backtrace_symbols=no
681
682 define Build/Compile
683 # Compile jlibtool for the host once the configuration is done
684 (cd $(PKG_BUILD_DIR); \
685 mkdir -p build/make; \
686 $(HOSTCC) $(HOST_CFLAGS) scripts/jlibtool.c -o build/make/jlibtool; \
687 )
688 $(MAKE) -C $(PKG_BUILD_DIR) \
689 R="$(PKG_INSTALL_DIR)" \
690 INSTALLSTRIP="" \
691 all install
692 endef
693
694 define Package/freeradius3-common/install
695 $(INSTALL_DIR) $(1)/etc/freeradius3
696 chmod 771 $(1)/etc/freeradius3
697 $(CP) $(PKG_INSTALL_DIR)/etc/freeradius3/dictionary $(1)/etc/freeradius3/ ; \
698 $(INSTALL_DIR) $(1)/usr/lib/freeradius3
699 $(CP) $(PKG_INSTALL_DIR)/usr/lib/freeradius3/libfreeradius-{dhcp,eap,radius,server}.so $(1)/usr/lib/freeradius3
700 $(INSTALL_DIR) $(1)/usr/share/freeradius3
701 $(CP) $(PKG_INSTALL_DIR)/usr/share/freeradius3/dictionary $(1)/usr/share/freeradius3/
702 $(SED) "s,^\(\$$$$INCLUDE\),#\1,g" $(1)/usr/share/freeradius3/dictionary
703 for f in $(PKG_DICTIONARIES); do \
704 $(CP) $(PKG_INSTALL_DIR)/usr/share/freeradius3/dictionary.$$$${f} $(1)/usr/share/freeradius3/ ; \
705 $(SED) "s,^#\(\$$$$INCLUDE dictionary\.$$$${f}\)$$$$,\1,g" $(1)/usr/share/freeradius3/dictionary ; \
706 done
707 endef
708
709 define Package/freeradius3/install
710 $(INSTALL_DIR) $(1)/etc/freeradius3
711 $(INSTALL_DIR) $(1)/etc/freeradius3/policy.d
712 $(INSTALL_DIR) $(1)/etc/freeradius3/sites-available
713 $(INSTALL_DIR) $(1)/etc/freeradius3/sites-enabled
714 for f in clients.conf radiusd.conf proxy.conf; do \
715 $(CP) $(PKG_INSTALL_DIR)/etc/freeradius3/$$$${f} $(1)/etc/freeradius3/ ; \
716 done
717 for f in accounting filter; do \
718 $(CP) $(PKG_INSTALL_DIR)/etc/freeradius3/policy.d/$$$${f} $(1)/etc/freeradius3/policy.d/ ; \
719 done
720 for f in default; do \
721 $(CP) $(PKG_INSTALL_DIR)/etc/freeradius3/sites-available/$$$${f} $(1)/etc/freeradius3/sites-available/ ; \
722 $(CP) $(PKG_INSTALL_DIR)/etc/freeradius3/sites-enabled/$$$${f} $(1)/etc/freeradius3/sites-enabled/ ; \
723 done
724
725 $(INSTALL_DIR) $(1)/usr/sbin
726 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/radiusd $(1)/usr/sbin/
727 $(INSTALL_DIR) $(1)/etc/init.d
728 $(INSTALL_BIN) ./files/radiusd.init $(1)/etc/init.d/radiusd
729 endef
730
731 define Package/freeradius3-democerts/install
732 $(INSTALL_DIR) $(1)/etc/freeradius3/certs
733 $(CP) \
734 $(PKG_INSTALL_DIR)/etc/freeradius3/certs/ca.pem \
735 $(PKG_INSTALL_DIR)/etc/freeradius3/certs/dh \
736 $(PKG_INSTALL_DIR)/etc/freeradius3/certs/server.pem \
737 $(1)/etc/freeradius3/certs/
738 endef
739
740 define Package/freeradius3-utils/install
741 $(INSTALL_DIR) $(1)/usr/bin
742 for f in radclient radeapclient radwho; do \
743 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/$$$${f} $(1)/usr/bin/ ; \
744 done
745 endef
746
747 define BuildPlugin
748 define Package/$(1)/install
749 [ -z "$(2)" ] || $(INSTALL_DIR) $$(1)/usr/lib/freeradius3
750 for m in $(2); do \
751 $(CP) $(PKG_INSTALL_DIR)/usr/lib/freeradius3/$$$$$$$${m}.so $$(1)/usr/lib/freeradius3 ; \
752 done
753 # Install configuration files
754 for f in $(strip $(call Package/$(1)/conffiles)); do \
755 $(INSTALL_DIR) $$(1)/$$$$$$$${f%/*} ; \
756 $(CP) $(PKG_INSTALL_DIR)/$$$$$$$${f} $$(1)/$$$$$$$${f}; \
757 done
758 endef
759
760 $$(eval $$(call BuildPackage,$(1)))
761 endef
762
763
764 $(eval $(call BuildPackage,freeradius3))
765 $(eval $(call BuildPackage,freeradius3-common))
766 $(eval $(call BuildPackage,freeradius3-default))
767 $(eval $(call BuildPackage,freeradius3-democerts))
768 $(eval $(call BuildPlugin,freeradius3-mod-always,rlm_always,))
769 $(eval $(call BuildPlugin,freeradius3-mod-attr-filter,rlm_attr_filter,))
770 $(eval $(call BuildPlugin,freeradius3-mod-chap,rlm_chap,))
771 $(eval $(call BuildPlugin,freeradius3-mod-detail,rlm_detail,))
772 $(eval $(call BuildPlugin,freeradius3-mod-digest,rlm_digest,))
773 $(eval $(call BuildPlugin,freeradius3-mod-eap-gtc,rlm_eap_gtc,))
774 $(eval $(call BuildPlugin,freeradius3-mod-eap-leap,rlm_eap_leap,))
775 $(eval $(call BuildPlugin,freeradius3-mod-eap-md5,rlm_eap_md5,))
776 $(eval $(call BuildPlugin,freeradius3-mod-eap-mschapv2,rlm_eap_mschapv2,))
777 $(eval $(call BuildPlugin,freeradius3-mod-eap-peap,rlm_eap_peap,))
778 $(eval $(call BuildPlugin,freeradius3-mod-eap,rlm_eap,))
779 $(eval $(call BuildPlugin,freeradius3-mod-eap-tls,rlm_eap_tls,))
780 $(eval $(call BuildPlugin,freeradius3-mod-eap-ttls,rlm_eap_ttls,))
781 $(eval $(call BuildPlugin,freeradius3-mod-eap-pwd,rlm_eap_pwd,))
782 $(eval $(call BuildPlugin,freeradius3-mod-exec,rlm_exec,))
783 $(eval $(call BuildPlugin,freeradius3-mod-expiration,rlm_expiration,))
784 $(eval $(call BuildPlugin,freeradius3-mod-expr,rlm_expr,))
785 $(eval $(call BuildPlugin,freeradius3-mod-files,rlm_files,))
786 $(eval $(call BuildPlugin,freeradius3-mod-ldap,rlm_ldap,))
787 $(eval $(call BuildPlugin,freeradius3-mod-logintime,rlm_logintime,))
788 $(eval $(call BuildPlugin,freeradius3-mod-mschap,rlm_mschap,))
789 $(eval $(call BuildPlugin,freeradius3-mod-pap,rlm_pap,))
790 $(eval $(call BuildPlugin,freeradius3-mod-passwd,rlm_passwd,))
791 $(eval $(call BuildPlugin,freeradius3-mod-preprocess,rlm_preprocess,))
792 $(eval $(call PyPackage,freeradius3-mod-python))
793 $(eval $(call BuildPlugin,freeradius3-mod-python,rlm_python,))
794 $(eval $(call Py3Package,freeradius3-mod-python3))
795 $(eval $(call BuildPlugin,freeradius3-mod-python3,rlm_python3,))
796 $(eval $(call BuildPlugin,freeradius3-mod-radutmp,rlm_radutmp,))
797 $(eval $(call BuildPlugin,freeradius3-mod-realm,rlm_realm,))
798 $(eval $(call BuildPlugin,freeradius3-mod-sql,rlm_sql,))
799 $(eval $(call BuildPlugin,freeradius3-mod-sql-mysql,rlm_sql_mysql,))
800 $(eval $(call BuildPlugin,freeradius3-mod-sql-null,rlm_sql_null,))
801 $(eval $(call BuildPlugin,freeradius3-mod-sql-postgresql,rlm_sql_postgresql,))
802 $(eval $(call BuildPlugin,freeradius3-mod-sql-sqlite,rlm_sql_sqlite,))
803 $(eval $(call BuildPlugin,freeradius3-mod-sqlcounter,rlm_sqlcounter,))
804 $(eval $(call BuildPlugin,freeradius3-mod-sqlippool,rlm_sqlippool,))
805 $(eval $(call BuildPlugin,freeradius3-mod-unix,rlm_unix,))
806 $(eval $(call BuildPackage,freeradius3-utils))