fixes for new pkgmaker generated menu
[openadk.git] / package / freeradius-server / Makefile
blobf8f769da5f5d3237e4bc5b4a96d4d974ba516c51
1 # This file is part of the OpenADK project. OpenADK is copyrighted
2 # material, please see the LICENCE file in the top-level directory.
4 include ${TOPDIR}/rules.mk
6 PKG_NAME:= freeradius-server
7 PKG_VERSION:= 2.1.7
8 PKG_RELEASE:= 1
9 PKG_MD5SUM:= b1f77c5e3116bcb0ac0aa9080a06ebf1
10 PKG_DESCR:= a flexible RADIUS server
11 PKG_SECTION:= net
12 PKG_DEPENDS:= libltdl libopenssl libpthread
13 PKG_BUILDDEP+= libtool openssl
14 ifneq ($(ADK_PACKAGE_FREERADIUS_MOD_LDAP),)
15 PKG_BUILDDEP+= openldap
16 PKG_DEPENDS_LDAP:= libopenldap
17 endif
18 ifneq ($(ADK_PACKAGE_FREERADIUS_MOD_SQL_MYSQL),)
19 PKG_BUILDDEP+= mysql
20 PKG_DEPENDS_MYSQL:= libmysqlclient
21 endif
22 ifneq ($(ADK_PACKAGE_FREERADIUS_MOD_SQL_PGSQL),)
23 PKG_BUILDDEP+= postgresql
24 PKG_DEPENDS_PGSQL:= libpq
25 endif
26 PKG_URL:= http://www.freeradius.org
27 PKG_SITES:= ftp://ftp.freeradius.org/pub/radius/ \
28 http://freeradius.portal-to-web.de/ \
29 ftp://ftp.uk.freeradius.org/pub/radius/
31 PKG_DESCR_DEMOCERTS:= Demo certificates to test the server
32 PKG_DESCR_CHAP:= CHAP authentication module
33 PKG_DESCR_DETAIL:= Detailed accounting module
34 PKG_DESCR_DIGEST:= Digest authentication module
35 PKG_DESCR_FILES:= Module using local files for authorization
36 PKG_DESCR_LDAP:= LDAP module
37 PKG_DESCR_MSCHAP:= MS-CHAP and MS-CHAPv2 module
38 PKG_DESCR_PAP:= PAP authentication module
39 PKG_DESCR_PREPROCESS:= Request pre-processing module
40 PKG_DESCR_REALM:= Realms handling module
41 PKG_DESCR_SQL:= Base SQL module
42 PKG_DESCR_MYSQL:= MySQL module
43 PKG_DESCR_PGSQL:= PostgreSQL module
44 PKG_DESCR_UTILS:= Misc. client utilities
46 PKG_CONFIGURE_OPTIONS:=
48 ifneq (${ADK_PACKAGE_FREERADIUS_MOD_LDAP},)
49 PKG_CONFIGURE_LIBS+= -lcrypto -lssl
50 PKG_CONFIGURE_OPTIONS+= \
51 --with-rlm_ldap-include-dir="${STAGING_DIR}/usr/include" \
52 --with-rlm_ldap-lib-dir="${STAGING_DIR}/usr/lib"
53 else
54 PKG_CONFIGURE_OPTIONS+= --without-rlm_ldap
55 endif
57 ifneq (${ADK_PACKAGE_FREERADIUS_MOD_SQL_MYSQL},)
58 PKG_CONFIGURE_LIBS+= -lz
59 PKG_CONFIGURE_OPTIONS+= \
60 --with-mysql-include-dir="${STAGING_DIR}/usr/include" \
61 --with-mysql-lib-dir="${STAGING_DIR}/usr/lib/mysql" \
62 --without-threads \
63 --with-rlm_sql
64 else
65 PKG_CONFIGURE_OPTIONS+= --without-rlm_sql_mysql
66 endif
67 ifneq (${ADK_PACKAGE_FREERADIUS_MOD_SQL_PGSQL},)
68 PKG_CONFIGURE_OPTIONS+= \
69 --with-rlm_sql_postgresql-include-dir="${STAGING_DIR}/usr/include" \
70 --with-rlm_sql_postgresql-lib-dir="${STAGING_DIR}/usr/lib" \
71 --with-rlm_sql
72 else
73 PKG_CONFIGURE_OPTIONS+= --without-rlm_sql_postgresql
74 endif
76 include ${TOPDIR}/mk/package.mk
78 define PKG_mod_template
80 INSTALL_MODS_$${ADK_PACKAGE_${1}}+= ${2}-install
82 ${2}-install:
83 ${INSTALL_DIR} $${IDIR_${1}}/usr/lib/freeradius
84 for m in ${2}; do \
85 ${CP} ${WRKINST}/usr/lib/freeradius/$$$${m}{,-*}.so \
86 $${IDIR_${1}}/usr/lib/freeradius/ ; \
87 done
88 ${INSTALL_DIR} $${IDIR_${1}}/etc/freeradius
89 for f in ${3}; do \
90 ${CP} ${WRKINST}/etc/freeradius/$$$${f} \
91 $${IDIR_${1}}/etc/freeradius/ ; \
92 done
93 endef
95 $(eval $(call PKG_template,FREERADIUS_SERVER,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
96 $(eval $(call PKG_template,FREERADIUS_DEMOCERTS,freeradius-democerts,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR_DEMOCERTS},${PKG_SECTION}))
97 $(eval $(call PKG_template,FREERADIUS_MOD_CHAP,freeradius-mod-chap,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR_CHAP},${PKG_SECTION}))
98 $(eval $(call PKG_template,FREERADIUS_MOD_DETAIL,freeradius-mod-detail,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR_DETAIL},${PKG_SECTION}))
99 $(eval $(call PKG_template,FREERADIUS_MOD_DIGEST,freeradius-mod-digest,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR_DIGEST},${PKG_SECTION}))
100 $(eval $(call PKG_template,FREERADIUS_MOD_FILES,freeradius-mod-files,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR_FILES},${PKG_SECTION}))
101 $(eval $(call PKG_template,FREERADIUS_MOD_LDAP,freeradius-mod-ldap,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS_LDAP},${PKG_DESCR_LDAP},${PKG_SECTION}))
102 $(eval $(call PKG_template,FREERADIUS_MOD_MSCHAP,freeradius-mod-mschap,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR_MSCHAP},${PKG_SECTION}))
103 $(eval $(call PKG_template,FREERADIUS_MOD_PAP,freeradius-mod-pap,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR_PAP},${PKG_SECTION}))
104 $(eval $(call PKG_template,FREERADIUS_MOD_PREPROCESS,freeradius-mod-preprocess,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR_PREPROCESS},${PKG_SECTION}))
105 $(eval $(call PKG_template,FREERADIUS_MOD_REALM,freeradius-mod-realm,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR_REALM},${PKG_SECTION}))
106 $(eval $(call PKG_template,FREERADIUS_MOD_SQL,freeradius-mod-sql,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR_SQL},${PKG_SECTION}))
107 $(eval $(call PKG_template,FREERADIUS_MOD_SQL_MYSQL,freeradius-mod-sql-mysql,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS_MYSQL},${PKG_DESCR_MYSQL},${PKG_SECTION}))
108 $(eval $(call PKG_template,FREERADIUS_MOD_SQL_PGSQL,freeradius-mod-sql-pgsql,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS_PGSQL},${PKG_DESCR_PGSQL},${PKG_SECTION}))
109 $(eval $(call PKG_template,FREERADIUS_UTILS,freeradius-utils,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR_UTILS},${PKG_SECTION}))
111 $(eval $(call PKG_mod_template,FREERADIUS_MOD_CHAP,rlm_chap,))
112 $(eval $(call PKG_mod_template,FREERADIUS_MOD_DETAIL,rlm_detail,))
113 $(eval $(call PKG_mod_template,FREERADIUS_MOD_DIGEST,rlm_digest,))
114 $(eval $(call PKG_mod_template,FREERADIUS_MOD_FILES,rlm_files,acct_users preproxy_users users))
115 $(eval $(call PKG_mod_template,FREERADIUS_MOD_MSCHAP,rlm_mschap,))
116 $(eval $(call PKG_mod_template,FREERADIUS_MOD_LDAP,rlm_ldap,ldap.attrmap))
117 $(eval $(call PKG_mod_template,FREERADIUS_MOD_PAP,rlm_pap,))
118 $(eval $(call PKG_mod_template,FREERADIUS_MOD_PREPROCESS,rlm_preprocess,hints huntgroups))
119 $(eval $(call PKG_mod_template,FREERADIUS_MOD_REALM,rlm_realm,proxy.conf))
120 $(eval $(call PKG_mod_template,FREERADIUS_MOD_SQL,rlm_sql,sql.conf))
121 $(eval $(call PKG_mod_template,FREERADIUS_MOD_SQL_MYSQL,rlm_sql_mysql,))
122 $(eval $(call PKG_mod_template,FREERADIUS_MOD_SQL_PGSQL,rlm_sql_postgresql,))
124 CONFIGURE_STYLE:= gnu
125 CONFIGURE_ENV+= ac_cv_lib_nsl_inet_ntoa=no
126 CONFIGURE_ARGS+= ${PKG_CONFIGURE_OPTIONS} \
127 --with-openssl-includes=${STAGING_DIR}/usr/include \
128 --with-openssl-libraries=${STAGING_DIR}/usr/lib \
129 --enable-strict-dependencies \
130 --with-raddbdir=/etc/freeradius \
131 --without-edir \
132 --without-snmp \
133 --with-experimental-modules \
134 --without-rlm_attr-rewrite \
135 --without-rlm_checkval \
136 --without-rlm_counter \
137 --without-rlm_dbm \
138 --without-rlm_eap \
139 --without-rlm_eap2 \
140 --without-rlm_eap_sim \
141 --without-rlm_example \
142 --without-rlm_ippool \
143 --without-rlm_krb5 \
144 --without-rlm_otp \
145 --without-rlm_smsotp \
146 --without-rlm_pam \
147 --without-rlm_perl \
148 --without-rlm_python \
149 --without-rlm_radutmp \
150 --without-rlm_ruby \
151 --without-rlm_smb \
152 --without-rlm_sqlcounter \
153 --without-rlm_sql_db2 \
154 --without-rlm_sql_freetds \
155 --without-rlm_sql_iodbc \
156 --without-rlm_sql_oracle \
157 --without-rlm_sql_sybase \
158 --without-rlm_sql_unixodbc \
159 --without-rlm_sql_log \
160 --without-rlm_unix \
161 --without-rlm_eap_ikev2 \
162 --without-rlm_eap_tnc \
163 --without-rlm_opendirectory \
164 --without-rlm_sql_firebird \
165 --without-rlm_sql_sqlite \
166 --libdir=/usr/lib/freeradius \
167 --libexecdir=/usr/lib/freeradius
168 BUILD_STYLE:= auto
169 INSTALL_STYLE:= auto
170 FAKE_FLAGS+= R="${WRKINST}" \
171 INSTALLSTRIP=""
173 post-install: ${INSTALL_MODS_y} ${INSTALL_MODS_m}
174 ${INSTALL_DIR} ${IDIR_FREERADIUS_SERVER}/etc/freeradius
175 ${CP} ./files/users ${IDIR_FREERADIUS_SERVER}/etc/freeradius/
176 ${INSTALL_DATA} ./files/radiusd.conf ${IDIR_FREERADIUS_SERVER}/etc/freeradius
177 ${INSTALL_DATA} ./files/clients.conf ${IDIR_FREERADIUS_SERVER}/etc/freeradius
178 for f in dictionary; do \
179 ${CP} ${WRKINST}/etc/freeradius/$${f} \
180 ${IDIR_FREERADIUS_SERVER}/etc/freeradius/ ; \
181 done
182 ${INSTALL_DIR} ${IDIR_FREERADIUS_SERVER}/usr/share/freeradius
183 ${CP} ${WRKINST}/usr/share/freeradius/dictionary \
184 ${IDIR_FREERADIUS_SERVER}/usr/share/freeradius/
185 for f in freeradius freeradius.internal rfc2865 rfc2866 rfc2867 rfc2868 rfc2869 rfc3162 rfc3576 rfc3580 rfc4072 rfc4372 rfc4675 rfc4679 rfc5176; do \
186 cp ${WRKINST}/usr/share/freeradius/dictionary.$${f} \
187 ${IDIR_FREERADIUS_SERVER}/usr/share/freeradius/ ; \
188 done
189 ${INSTALL_DIR} ${IDIR_FREERADIUS_SERVER}/usr/lib/freeradius
190 ${CP} ${WRKINST}/usr/lib/freeradius/libfreeradius-radius{,-*}.so \
191 ${IDIR_FREERADIUS_SERVER}/usr/lib
192 ${INSTALL_DIR} ${IDIR_FREERADIUS_SERVER}/usr/sbin
193 ${CP} ${WRKINST}/usr/sbin/radiusd \
194 ${IDIR_FREERADIUS_SERVER}/usr/sbin/
195 ${INSTALL_DIR} ${IDIR_FREERADIUS_DEMOCERTS}/etc/freeradius
196 ${CP} ${WRKINST}/etc/freeradius/certs \
197 ${IDIR_FREERADIUS_DEMOCERTS}/etc/freeradius/
198 rm -rf ${IDIR_FREERADIUS_DEMOCERTS}/etc/freeradius/certs/README
199 rm -rf ${IDIR_FREERADIUS_DEMOCERTS}/etc/freeradius/certs/new*
200 rm -rf ${IDIR_FREERADIUS_DEMOCERTS}/etc/freeradius/certs/demoCA/index*
201 rm -rf ${IDIR_FREERADIUS_DEMOCERTS}/etc/freeradius/certs/demoCA/serial*
202 ${INSTALL_DIR} ${IDIR_FREERADIUS_UTILS}/usr/bin
203 ${INSTALL_BIN} ${WRKINST}/usr/bin/radclient ${IDIR_FREERADIUS_UTILS}/usr/bin
205 include ${TOPDIR}/mk/pkg-bottom.mk