Makefile 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
  1. # $Id$
  2. #-
  3. # This file is part of the OpenADK project. OpenADK is copyrighted
  4. # material, please see the LICENCE file in the top-level directory.
  5. include ${TOPDIR}/rules.mk
  6. PKG_NAME:= freeradius
  7. PKG_VERSION:= 2.1.4
  8. PKG_RELEASE:= 1
  9. PKG_MD5SUM:= 07837a2e78028a0fcf5fc3bb5ca292e9
  10. MASTER_SITES:= ftp://ftp.freeradius.org/pub/radius/ \
  11. http://freeradius.portal-to-web.de/ \
  12. ftp://ftp.uk.freeradius.org/pub/radius/
  13. DISTFILES:= ${PKG_NAME}-server-${PKG_VERSION}.tar.gz
  14. WRKDIST= ${WRKDIR}/${PKG_NAME}-server-${PKG_VERSION}
  15. PKG_CONFIGURE_OPTIONS:=
  16. # disabled, problems exist when libldap is installed on hostsystem
  17. ifneq (${ADK_PACKAGE_FREERADIUS_MOD_LDAP},)
  18. PKG_CONFIGURE_LIBS+= -lcrypto -lssl
  19. PKG_CONFIGURE_OPTIONS+= \
  20. --with-rlm_ldap-include-dir="${STAGING_DIR}/usr/include" \
  21. --with-rlm_ldap-lib-dir="${STAGING_DIR}/usr/lib"
  22. else
  23. PKG_CONFIGURE_OPTIONS+= --without-rlm_ldap
  24. endif
  25. ifneq (${ADK_PACKAGE_FREERADIUS_MOD_SQL_MYSQL},)
  26. PKG_CONFIGURE_LIBS+= -lz
  27. PKG_CONFIGURE_OPTIONS+= \
  28. --with-mysql-include-dir="${STAGING_DIR}/usr/include" \
  29. --with-mysql-lib-dir="${STAGING_DIR}/usr/lib/mysql" \
  30. --without-threads \
  31. --with-rlm_sql
  32. else
  33. PKG_CONFIGURE_OPTIONS+= --without-rlm_sql_mysql
  34. endif
  35. ifneq (${ADK_PACKAGE_FREERADIUS_MOD_SQL_PGSQL},)
  36. PKG_CONFIGURE_OPTIONS+= \
  37. --with-rlm_sql_postgresql-include-dir="${STAGING_DIR}/usr/include" \
  38. --with-rlm_sql_postgresql-lib-dir="${STAGING_DIR}/usr/lib" \
  39. --with-rlm_sql
  40. else
  41. PKG_CONFIGURE_OPTIONS+= --without-rlm_sql_postgresql
  42. endif
  43. include ${TOPDIR}/mk/package.mk
  44. define PKG_mod_template
  45. INSTALL_MODS_$${ADK_PACKAGE_${1}}+= ${2}-install
  46. ${2}-install:
  47. ${INSTALL_DIR} $${IDIR_${1}}/usr/lib/freeradius
  48. for m in ${2}; do \
  49. ${CP} ${WRKINST}/usr/lib/freeradius/$$$${m}{,-*}.so \
  50. $${IDIR_${1}}/usr/lib/freeradius/ ; \
  51. done
  52. ${INSTALL_DIR} $${IDIR_${1}}/etc/freeradius
  53. for f in ${3}; do \
  54. ${CP} ${WRKINST}/etc/freeradius/$$$${f} \
  55. $${IDIR_${1}}/etc/freeradius/ ; \
  56. done
  57. endef
  58. $(eval $(call PKG_template,FREERADIUS,freeradius,${PKG_VERSION}-${PKG_RELEASE}))
  59. $(eval $(call PKG_template,FREERADIUS_DEMOCERTS,freeradius-democerts,${PKG_VERSION}-${PKG_RELEASE}))
  60. $(eval $(call PKG_template,FREERADIUS_MOD_CHAP,freeradius-mod-chap,${PKG_VERSION}-${PKG_RELEASE}))
  61. $(eval $(call PKG_template,FREERADIUS_MOD_DETAIL,freeradius-mod-detail,${PKG_VERSION}-${PKG_RELEASE}))
  62. $(eval $(call PKG_template,FREERADIUS_MOD_DIGEST,freeradius-mod-digest,${PKG_VERSION}-${PKG_RELEASE}))
  63. $(eval $(call PKG_template,FREERADIUS_MOD_EAP,freeradius-mod-eap,${PKG_VERSION}-${PKG_RELEASE}))
  64. $(eval $(call PKG_template,FREERADIUS_MOD_EAP_GTC,freeradius-mod-eap-gtc,${PKG_VERSION}-${PKG_RELEASE}))
  65. $(eval $(call PKG_template,FREERADIUS_MOD_EAP_MD5,freeradius-mod-eap-md5,${PKG_VERSION}-${PKG_RELEASE}))
  66. $(eval $(call PKG_template,FREERADIUS_MOD_EAP_MSCHAPV2,freeradius-mod-eap-mschapv2,${PKG_VERSION}-${PKG_RELEASE}))
  67. $(eval $(call PKG_template,FREERADIUS_MOD_EAP_PEAP,freeradius-mod-eap-peap,${PKG_VERSION}-${PKG_RELEASE}))
  68. $(eval $(call PKG_template,FREERADIUS_MOD_EAP_TLS,freeradius-mod-eap-tls,${PKG_VERSION}-${PKG_RELEASE}))
  69. $(eval $(call PKG_template,FREERADIUS_MOD_EAP_TTLS,freeradius-mod-eap-ttls,${PKG_VERSION}-${PKG_RELEASE}))
  70. $(eval $(call PKG_template,FREERADIUS_MOD_FILES,freeradius-mod-files,${PKG_VERSION}-${PKG_RELEASE}))
  71. $(eval $(call PKG_template,FREERADIUS_MOD_LDAP,freeradius-mod-ldap,${PKG_VERSION}-${PKG_RELEASE}))
  72. $(eval $(call PKG_template,FREERADIUS_MOD_MSCHAP,freeradius-mod-mschap,${PKG_VERSION}-${PKG_RELEASE}))
  73. $(eval $(call PKG_template,FREERADIUS_MOD_PAP,freeradius-mod-pap,${PKG_VERSION}-${PKG_RELEASE}))
  74. $(eval $(call PKG_template,FREERADIUS_MOD_PREPROCESS,freeradius-mod-preprocess,${PKG_VERSION}-${PKG_RELEASE}))
  75. $(eval $(call PKG_template,FREERADIUS_MOD_REALM,freeradius-mod-realm,${PKG_VERSION}-${PKG_RELEASE}))
  76. $(eval $(call PKG_template,FREERADIUS_MOD_SQL,freeradius-mod-sql,${PKG_VERSION}-${PKG_RELEASE}))
  77. $(eval $(call PKG_template,FREERADIUS_MOD_SQL_MYSQL,freeradius-mod-sql-mysql,${PKG_VERSION}-${PKG_RELEASE}))
  78. $(eval $(call PKG_template,FREERADIUS_MOD_SQL_PGSQL,freeradius-mod-sql-pgsql,${PKG_VERSION}-${PKG_RELEASE}))
  79. $(eval $(call PKG_template,FREERADIUS_UTILS,freeradius-utils,${PKG_VERSION}-${PKG_RELEASE}))
  80. $(eval $(call PKG_mod_template,FREERADIUS_MOD_CHAP,rlm_chap,))
  81. $(eval $(call PKG_mod_template,FREERADIUS_MOD_DETAIL,rlm_detail,))
  82. $(eval $(call PKG_mod_template,FREERADIUS_MOD_DIGEST,rlm_digest,))
  83. $(eval $(call PKG_mod_template,FREERADIUS_MOD_EAP,libeap rlm_eap,eap.conf))
  84. $(eval $(call PKG_mod_template,FREERADIUS_MOD_EAP_GTC,rlm_eap_gtc,))
  85. $(eval $(call PKG_mod_template,FREERADIUS_MOD_EAP_MD5,rlm_eap_md5,))
  86. $(eval $(call PKG_mod_template,FREERADIUS_MOD_EAP_MSCHAPV2,rlm_eap_mschapv2,))
  87. $(eval $(call PKG_mod_template,FREERADIUS_MOD_EAP_PEAP,rlm_eap_peap,))
  88. $(eval $(call PKG_mod_template,FREERADIUS_MOD_EAP_TLS,rlm_eap_tls,))
  89. $(eval $(call PKG_mod_template,FREERADIUS_MOD_EAP_TTLS,rlm_eap_ttls,))
  90. $(eval $(call PKG_mod_template,FREERADIUS_MOD_FILES,rlm_files,acct_users preproxy_users users))
  91. $(eval $(call PKG_mod_template,FREERADIUS_MOD_MSCHAP,rlm_mschap,))
  92. $(eval $(call PKG_mod_template,FREERADIUS_MOD_LDAP,rlm_ldap,ldap.attrmap))
  93. $(eval $(call PKG_mod_template,FREERADIUS_MOD_PAP,rlm_pap,))
  94. $(eval $(call PKG_mod_template,FREERADIUS_MOD_PREPROCESS,rlm_preprocess,hints huntgroups))
  95. $(eval $(call PKG_mod_template,FREERADIUS_MOD_REALM,rlm_realm,proxy.conf))
  96. $(eval $(call PKG_mod_template,FREERADIUS_MOD_SQL,rlm_sql,sql.conf))
  97. $(eval $(call PKG_mod_template,FREERADIUS_MOD_SQL_MYSQL,rlm_sql_mysql,))
  98. $(eval $(call PKG_mod_template,FREERADIUS_MOD_SQL_PGSQL,rlm_sql_postgresql,))
  99. CONFIGURE_STYLE= gnu
  100. CONFIGURE_ARGS+= ${PKG_CONFIGURE_OPTIONS} \
  101. --with-openssl-includes=${STAGING_DIR}/usr/include \
  102. --with-openssl-libraries=${STAGING_DIR}/usr/lib \
  103. --enable-strict-dependencies \
  104. --with-raddbdir=/etc/freeradius \
  105. --without-edir \
  106. --without-snmp \
  107. --with-experimental-modules \
  108. --without-rlm_attr-rewrite \
  109. --without-rlm_checkval \
  110. --without-rlm_counter \
  111. --without-rlm_dbm \
  112. --without-rlm_eap_sim \
  113. --without-rlm_example \
  114. --without-rlm_ippool \
  115. --without-rlm_krb5 \
  116. --without-rlm_otp \
  117. --without-rlm_smsotp \
  118. --without-rlm_pam \
  119. --without-rlm_perl \
  120. --without-rlm_python \
  121. --without-rlm_radutmp \
  122. --without-rlm_smb \
  123. --without-rlm_sqlcounter \
  124. --without-rlm_sql_db2 \
  125. --without-rlm_sql_freetds \
  126. --without-rlm_sql_iodbc \
  127. --without-rlm_sql_oracle \
  128. --without-rlm_sql_sybase \
  129. --without-rlm_sql_unixodbc \
  130. --without-rlm_sql_log \
  131. --without-rlm_unix \
  132. --without-rlm_eap_ikev2 \
  133. --without-rlm_eap_tnc \
  134. --without-rlm_opendirectory \
  135. --without-rlm_sql_firebird \
  136. --without-rlm_sql_sqlite \
  137. --libdir=/usr/lib/freeradius \
  138. --libexecdir=/usr/lib/freeradius
  139. BUILD_STYLE= auto
  140. INSTALL_STYLE= auto
  141. FAKE_FLAGS+= R="${WRKINST}" \
  142. INSTALLSTRIP=""
  143. post-install: ${INSTALL_MODS_y} ${INSTALL_MODS_m}
  144. ${INSTALL_DIR} ${IDIR_FREERADIUS}/etc/init.d
  145. install -m0755 ./files/radiusd.init \
  146. ${IDIR_FREERADIUS}/etc/init.d/radiusd
  147. ${INSTALL_DIR} ${IDIR_FREERADIUS}/etc/freeradius
  148. ${CP} ./files/users ${IDIR_FREERADIUS}/etc/freeradius/
  149. ${INSTALL_DATA} ./files/radiusd.conf ${IDIR_FREERADIUS}/etc/freeradius
  150. ${INSTALL_DATA} ./files/clients.conf ${IDIR_FREERADIUS}/etc/freeradius
  151. for f in dictionary; do \
  152. ${CP} ${WRKINST}/etc/freeradius/$${f} \
  153. ${IDIR_FREERADIUS}/etc/freeradius/ ; \
  154. done
  155. ${INSTALL_DIR} ${IDIR_FREERADIUS}/usr/share/freeradius
  156. ${CP} ${WRKINST}/usr/share/freeradius/dictionary \
  157. ${IDIR_FREERADIUS}/usr/share/freeradius/
  158. for f in freeradius freeradius.internal rfc2865 rfc2866 rfc2867 rfc2868 rfc2869 rfc3162 rfc3576 rfc3580 rfc4072 rfc4372 rfc4675 rfc4679 rfc5176; do \
  159. cp ${WRKINST}/usr/share/freeradius/dictionary.$${f} \
  160. ${IDIR_FREERADIUS}/usr/share/freeradius/ ; \
  161. done
  162. ${INSTALL_DIR} ${IDIR_FREERADIUS}/usr/lib/freeradius
  163. ${CP} ${WRKINST}/usr/lib/freeradius/libfreeradius-radius{,-*}.so \
  164. ${IDIR_FREERADIUS}/usr/lib
  165. ${INSTALL_DIR} ${IDIR_FREERADIUS}/usr/sbin
  166. ${CP} ${WRKINST}/usr/sbin/radiusd \
  167. ${IDIR_FREERADIUS}/usr/sbin/
  168. ${INSTALL_DIR} ${IDIR_FREERADIUS_DEMOCERTS}/etc/freeradius
  169. ${CP} ${WRKINST}/etc/freeradius/certs \
  170. ${IDIR_FREERADIUS_DEMOCERTS}/etc/freeradius/
  171. rm -rf ${IDIR_FREERADIUS_DEMOCERTS}/etc/freeradius/certs/README
  172. rm -rf ${IDIR_FREERADIUS_DEMOCERTS}/etc/freeradius/certs/new*
  173. rm -rf ${IDIR_FREERADIUS_DEMOCERTS}/etc/freeradius/certs/demoCA/index*
  174. rm -rf ${IDIR_FREERADIUS_DEMOCERTS}/etc/freeradius/certs/demoCA/serial*
  175. ${INSTALL_DIR} ${IDIR_FREERADIUS_UTILS}/usr/bin
  176. for f in radclient; do \
  177. ${CP} ${WRKINST}/usr/bin/$${f} \
  178. ${IDIR_FREERADIUS_UTILS}/usr/bin/ ; \
  179. done
  180. include ${TOPDIR}/mk/pkg-bottom.mk