summaryrefslogtreecommitdiff
path: root/net/freeradius2/Makefile
blob: abf9d28ce41fb529a59e375b9b4ea4016501506c (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
# $NetBSD: Makefile,v 1.2 2008/06/20 20:57:39 adrianp Exp $

DISTNAME=	freeradius-server-${RADVER}
PKGNAME=	${DISTNAME:S/-server//}
CATEGORIES=	net
MASTER_SITES=	ftp://ftp.freeradius.org/pub/freeradius/
EXTRACT_SUFX=	.tar.bz2

MAINTAINER=	adrianp@NetBSD.org
HOMEPAGE=	http://www.freeradius.org/
COMMENT=	Free RADIUS server implementation

CONFLICTS+=	freeradius-1.[0-9]*

.include "../../mk/bsd.prefs.mk"

CONFLICTS+=		radiusd-cistron-[0-9]*
USE_TOOLS+=		gmake perl:run
GNU_CONFIGURE=		YES
USE_LIBTOOL=		YES
USE_OLD_DES_API=	YES

BUILD_DEFS=		VARBASE
PLIST_SRC=		${WRKDIR}/.PLIST_SRC
FILES_SUBST+=		RADIUS_USER=${RADIUS_USER:Q}
FILES_SUBST+=		RADIUS_GROUP=${RADIUS_GROUP:Q}
PLIST_SUBST+=		RADVER=${RADVER}
MESSAGE_SRC+=		${WRKDIR}/.MESSAGE_SRC
MESSAGE_SUBST+=		CHOWN=${CHOWN:Q} CHMOD=${CHMOD:Q} VARBASE=${VARBASE}
MESSAGE_SUBST+=		RADIUS_USER=${RADIUS_USER:Q} XARGS=${XARGS:Q}
MESSAGE_SUBST+=		RADIUS_GROUP=${RADIUS_GROUP:Q} FIND=${FIND:Q}

PKG_SYSCONFSUBDIR=	raddb
RCD_SCRIPTS=		radiusd
RADIUS_USER?=		radius
RADIUS_GROUP?=		radius
PKG_GROUPS=		${RADIUS_USER}
PKG_USERS=		${RADIUS_USER}:${RADIUS_GROUP}
PKG_GROUPS_VARS+=	RADIUS_GROUP
PKG_USERS_VARS+=	RADIUS_USER
OWN_DIRS_PERMS+=	${VARBASE}/run/radiusd \
			${RADIUS_USER} ${RADIUS_GROUP} 0750
OWN_DIRS_PERMS+=	${VARBASE}/log/radiusd \
			${RADIUS_USER} ${RADIUS_GROUP} 0750
OWN_DIRS_PERMS+=	${VARBASE}/log/radiusd/radacct \
			${RADIUS_USER} ${RADIUS_GROUP} 0750

RADVER=			2.0.5
EGDIR=			${PREFIX}/share/examples/freeradius

BUILDLINK_API_DEPENDS.openssl+=	openssl>=0.9.7

CONFIGURE_ARGS+=	--with-logdir=${VARBASE}/log/radiusd
CONFIGURE_ARGS+=	--localstatedir=${VARBASE:Q}
CONFIGURE_ARGS+=	--sysconfdir=${PKG_SYSCONFBASEDIR:Q}
CONFIGURE_ARGS+=	--disable-ltdl-install
CONFIGURE_ARGS+=	--with-ltdl-lib=${PREFIX}/lib
CONFIGURE_ARGS+=	--with-ltdl-include=${PREFIX}/include
CONFIGURE_ARGS+=	--without-rlm_ippool
CONFIGURE_ARGS+=	--without-rlm_smb
CONFIGURE_ARGS+=	--without-rlm_sql_iodbc
CONFIGURE_ARGS+=	--without-rlm_sql_oracle
CONFIGURE_ARGS+=	--without-rlm_sql_unixodbc
CONFIGURE_ARGS+=	--quiet
#CONFIGURE_ARGS+=	--without-rlm_eap_peap
#CONFIGURE_ARGS+=	--without-rlm_eap_sim
#CONFIGURE_ARGS+=	--without-rlm_eap_tls
#CONFIGURE_ARGS+=	--without-rlm_eap_ttls

REPLACE_PERL=		scripts/radsqlrelay

SUBST_CLASSES=		make
SUBST_STAGE.make=	post-patch
SUBST_FILES.make=	src/modules/rlm_mschap/Makefile \
			src/modules/rlm_sql/drivers/rlm_sql_postgresql/Makefile.in
SUBST_SED.make=	-e "s|RLM_LDFLAGS	=|RLM_LDFLAGS 	= \
				-L../../../src/lib/.libs/ -lradius|g"
SUBST_SED.make+=	-e "s|RLM_SQL_LIBS	=|RLM_SQL_LIBS	= \
				-L${PREFIX}/lib|g"
SUBST_MESSAGE.make=	Fixing Makefiles.

SUBST_CLASSES+=		config
SUBST_STAGE.config=	post-patch
SUBST_FILES.config=	raddb/radiusd.conf.in
SUBST_SED.config=	-e "s|@@RADIUS_USER@@|${RADIUS_USER}|g"
SUBST_SED.config+=	-e "s|@@RADIUS_GROUP@@|${RADIUS_GROUP}|g"
SUBST_MESSAGE.config=	Fixing configuration files.

.include "options.mk"

EGFILES=	certs/demoCA/cacert.pem certs/bootstrap certs/xpextensions \
		certs/client.cnf certs/server.cnf certs/README certs/ca.cnf \
		sql/mssql/dialup.conf sql/mssql/schema.sql \
		sql/mysql/dialup.conf sql/mysql/nas.sql sql/mysql/ippool.conf \
		sql/mysql/schema.sql sql/mysql/counter.conf \
		sql/mysql/ippool.sql sql/oracle/dialup.conf sql/oracle/nas.sql \
		sql/oracle/schema.sql sql/oracle/ippool.sql \
		sql/postgresql/dialup.conf sql/postgresql/nas.sql \
		sql/postgresql/voip-postpaid.conf sql/postgresql/ippool.conf \
		sql/postgresql/schema.sql sql/postgresql/ippool.sql \
		sql/postgresql/cisco_h323_db_schema.sql \
		sql/postgresql/counter.conf sql/postgresql/admin.sql \
		sql/postgresql/update_radacct_group_trigger.sql policy.txt \
		experimental.conf radiusd.conf otp.conf policy.conf \
		preproxy_users users vmpsd.conf.in acct_users snmp.conf \
		ldap.attrmap clients.conf huntgroups sql.conf sqlippool.conf \
		sites-available/inner-tunnel sites-available/example \
		sites-available/buffered-sql sites-available/default \
		sites-available/vmps sites-available/README \
		sites-available/proxy-inner-tunnel \
		sites-available/copy-acct-to-home-server attrs.pre-proxy \
		sites-available/dhcp sites-available/robust-proxy-accounting \
		sites-available/virtual.example.com sql/mysql/admin.sql \
		eap.conf attrs.accounting_response hints attrs.access_reject \
		templates.conf attrs proxy.conf dictionary

EGDIRS=		certs certs/demoCA sql sql/mssql sql/mysql sql/oracle \
		sql/postgresql sites-available

.for f in ${EGFILES}
CONF_FILES_PERMS+=	${EGDIR}/${f} ${PKG_SYSCONFDIR}/${f} \
			${RADIUS_USER} ${RADIUS_GROUP} 0640
.endfor

.include "../../security/openssl/buildlink3.mk"
.include "../../devel/libltdl/buildlink3.mk"
.include "../../mk/pthread.buildlink3.mk"

.if defined(PTHREAD_TYPE) && ${PTHREAD_TYPE} == "none"
CONFIGURE_ARGS+=	--without-threads
.endif

.if defined(PTHREAD_TYPE) && ${PTHREAD_TYPE} == "pth"
.include "../../devel/pthread-sem/buildlink3.mk"
SUBST_SED.make+=	-e 's|@ldap_ldflags@|@ldap_ldflags@ \
			${PTHREAD_LDFLAGS:M*:Q} ${PTHREAD_LIBS:M*:Q} -lsemaphore|g'
.endif

.if defined(PTHREAD_TYPE) && ${PTHREAD_TYPE} == "native"
SUBST_SED.make+=	-e 's|@ldap_ldflags@|@ldap_ldflags@ \
			${PTHREAD_LDFLAGS:M*:Q} ${PTHREAD_LIBS:M*:Q}|g'
.endif

.if ${MACHINE_ARCH} == "amd64"
CFLAGS+= -fPIC
.endif

post-build:
	${CP} ${PKGDIR}/PLIST ${WRKDIR}/.PLIST_SRC
	${CP} ${PKGDIR:Q}/MESSAGE ${WRKDIR:Q}/.MESSAGE_SRC

.	if !empty(PKG_OPTIONS:Mpam)
		${CP} ${PKGDIR:Q}/MESSAGE.pam ${WRKDIR:Q}/.MESSAGE_SRC.pam
.	endif

post-install:
	${INSTALL_DATA_DIR} ${EGDIR}

.	for d in ${EGDIRS}
		${INSTALL_DATA_DIR} ${EGDIR}/${d}
.	endfor

.	for f in ${EGFILES}
		${INSTALL_DATA} ${WRKSRC}/raddb/${f} ${EGDIR}/${f}
.	endfor

	${INSTALL_DATA} ${WRKSRC}/src/modules/rlm_perl/example.pl ${EGDIR}

.	for d in ${EGDIRS}
		${MKDIR} ${PKG_SYSCONFDIR}/${d}
.	endfor

	${CHOWN} ${RADIUS_USER}:${RADIUS_GROUP} ${PKG_SYSCONFDIR}/certs
	${CHOWN} ${RADIUS_USER}:${RADIUS_GROUP} ${PKG_SYSCONFDIR}/certs/demoCA
	${CHMOD} 0750 ${PKG_SYSCONFDIR}/certs
	${CHMOD} 0750 ${PKG_SYSCONFDIR}/certs/demoCA

.include "../../mk/bsd.pkg.mk"