-#
-# Copyright (C) 2006 OpenWrt.org
+#
+# Copyright (C) 2006-2010 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
-# $Id$
include $(TOPDIR)/rules.mk
PKG_NAME:=freeradius
-PKG_VERSION:=1.1.6
-PKG_RELEASE:=1
+PKG_VERSION:=1.1.8
+PKG_RELEASE:=2
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=ftp://ftp.freeradius.org/pub/radius/ \
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_SOURCE_URL:=ftp://ftp.freeradius.org/pub/radius/old/ \
http://freeradius.portal-to-web.de/ \
ftp://ftp.uk.freeradius.org/pub/radius/
-PKG_MD5SUM:=
-PKG_CAT:=zcat
+PKG_MD5SUM:=d367452a837bbe8d9c8731e21dc43593
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
-PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
+PKG_FIXUP:=libtool
include $(INCLUDE_DIR)/package.mk
define Package/freeradius/Default
SECTION:=net
CATEGORY:=Network
- URL:=http://www.freeradius.org/
+ URL:=http://freeradius.org/
endef
define Package/freeradius
$(call Package/freeradius/Default)
- DEPENDS:=+libltdl +libopenssl +libpthread
+ DEPENDS:=+libltdl +libopenssl +libpthread +libreadline
TITLE:=A flexible RADIUS server
MENU:=1
endef
TITLE:=EAP/TTLS module
endef
+define Package/freeradius-mod-exec
+ $(call Package/freeradius/Default)
+ DEPENDS:=freeradius
+ TITLE:=EXEC module
+endef
+
+define Package/freeradius-mod-attr-rewrite
+ $(call Package/freeradius/Default)
+ DEPENDS:=freeradius
+ TITLE:=ATTR rewrite module
+endef
+
define Package/freeradius-mod-files
$(call Package/freeradius/Default)
DEPENDS:=freeradius
TITLE:=Generic SQL Counter module
endef
+define Package/freeradius-mod-radutmp
+ $(call Package/freeradius/Default)
+ DEPENDS:=freeradius
+ TITLE:=Radius UTMP module
+endef
+
define Package/freeradius-utils
$(call Package/freeradius/Default)
DEPENDS:=freeradius
TITLE:=Misc. client utilities
endef
-PKG_CONFIGURE_ARGS:= \
+CONFIGURE_ARGS+= \
+ --libdir=/usr/lib/freeradius \
+ --libexecdir=/usr/lib/freeradius \
--enable-shared \
--disable-static \
--disable-developer \
--with-openssl-includes="$(STAGING_DIR)/usr/include" \
--with-openssl-libraries="$(STAGING_DIR)/usr/lib" \
+ --with-system-libtool \
+ --disable-ltdl-install \
--enable-strict-dependencies \
--with-raddbdir=/etc/freeradius \
--without-edir \
--without-snmp \
--with-experimental-modules \
- --without-rlm_attr-rewrite \
--without-rlm_checkval \
--without-rlm_counter \
--without-rlm_dbm \
--without-rlm_pam \
--without-rlm_perl \
--without-rlm_python \
- --without-rlm_radutmp \
--without-rlm_smb \
--with-rlm_sql \
--with-rlm_sqlcounter \
wispr \
ifneq ($(SDK)$(CONFIG_PACKAGE_freeradius-mod-ldap),)
- PKG_CONFIGURE_ARGS+= \
+ CONFIGURE_ARGS+= \
--with-rlm_ldap-include-dir="$(STAGING_DIR)/usr/include" \
--with-rlm_ldap-lib-dir="$(STAGING_DIR)/usr/lib"
- PKG_CONFIGURE_LIBS+= -lcrypto -lssl
+ CONFIGURE_LIBS+= -lcrypto -lssl
else
- PKG_CONFIGURE_ARGS+= --without-rlm_ldap
+ CONFIGURE_ARGS+= --without-rlm_ldap
endif
ifneq ($(SDK)$(CONFIG_PACKAGE_freeradius-mod-sql-mysql),)
- PKG_CONFIGURE_ARGS+= \
+ CONFIGURE_ARGS+= \
--with-mysql-include-dir="$(STAGING_DIR)/usr/include" \
--with-mysql-lib-dir="$(STAGING_DIR)/usr/lib/mysql" \
--without-threads
- PKG_CONFIGURE_LIBS+= -lz
+ CONFIGURE_LIBS+= -lz
else
- PKG_CONFIGURE_ARGS+= --without-rlm_sql_mysql
+ CONFIGURE_ARGS+= --without-rlm_sql_mysql
endif
ifneq ($(SDK)$(CONFIG_PACKAGE_freeradius-mod-sql-pgsql),)
- PKG_CONFIGURE_ARGS+= \
+ CONFIGURE_ARGS+= \
--with-rlm_sql_postgresql-include-dir="$(STAGING_DIR)/usr/include" \
--with-rlm_sql_postgresql-lib-dir="$(STAGING_DIR)/usr/lib"
else
- PKG_CONFIGURE_ARGS+= --without-rlm_sql_postgresql
+ CONFIGURE_ARGS+= --without-rlm_sql_postgresql
endif
ifneq ($(SDK)$(CONFIG_PACKAGE_freeradius-mod-eap-peap),)
- PKG_CONFIGURE_ARGS+= --with-rlm_eap_peap
- PKG_CONFIGURE_LIBS+= -lcrypto -lssl
+ CONFIGURE_ARGS+= --with-rlm_eap_peap
+ CONFIGURE_LIBS+= -lcrypto -lssl
else
- PKG_CONFIGURE_ARGS+= --without-rlm_eap_peap
+ CONFIGURE_ARGS+= --without-rlm_eap_peap
endif
ifneq ($(SDK)$(CONFIG_PACKAGE_freeradius-mod-eap-tls),)
- PKG_CONFIGURE_ARGS+= --with-rlm_eap_tls
- PKG_CONFIGURE_LIBS+= -lcrypto -lssl
+ CONFIGURE_ARGS+= --with-rlm_eap_tls
+ CONFIGURE_LIBS+= -lcrypto -lssl
else
- PKG_CONFIGURE_ARGS+= --without-rlm_eap_tls
+ CONFIGURE_ARGS+= --without-rlm_eap_tls
endif
ifneq ($(SDK)$(CONFIG_PACKAGE_freeradius-mod-eap-ttls),)
- PKG_CONFIGURE_ARGS+= --with-rlm_eap_ttls
- PKG_CONFIGURE_LIBS+= -lcrypto -lssl
+ CONFIGURE_ARGS+= --with-rlm_eap_ttls
+ CONFIGURE_LIBS+= -lcrypto -lssl
else
- PKG_CONFIGURE_ARGS+= --without-rlm_eap_ttls
+ CONFIGURE_ARGS+= --without-rlm_eap_ttls
endif
-define Build/Configure
- $(call Build/Configure/Default, \
- --libdir=/usr/lib/freeradius \
- --libexecdir=/usr/lib/freeradius \
- $(PKG_CONFIGURE_ARGS) \
- , \
- LDFLAGS="$$$$LDFLAGS -L$(PKG_INSTALL_DIR)/usr/lib/freeradius" \
- LIBS="$(PKG_CONFIGURE_LIBS)" \
- MYSQL_CONFIG="no" \
- )
-endef
+ifneq ($(SDK)$(CONFIG_PACKAGE_freeradius-mod-attr-rewrite),)
+ CONFIGURE_ARGS+= --with-rlm_attr-rewrite
+else
+ CONFIGURE_ARGS+= --without-rlm_attr-rewrite
+endif
+
+ifneq ($(SDK)$(CONFIG_PACKAGE_freeradius-mod-radutmp),)
+ CONFIGURE_ARGS+= --with-rlm_radutmp
+else
+ CONFIGURE_ARGS+= --without-rlm_radutmp
+endif
+
+CONFIGURE_VARS+= \
+ LDFLAGS="$$$$LDFLAGS -L$(PKG_INSTALL_DIR)/usr/lib/freeradius" \
+ LIBS="$(CONFIGURE_LIBS)" \
+ MYSQL_CONFIG="no" \
define Build/Compile
$(MAKE) -C $(PKG_BUILD_DIR) \
$(INSTALL_DIR) $(1)/usr/lib/freeradius
$(CP) $(PKG_INSTALL_DIR)/usr/lib/freeradius/libradius{,-*}.so $(1)/usr/lib/
$(INSTALL_DIR) $(1)/usr/sbin
- $(CP) $(PKG_INSTALL_DIR)/usr/sbin/radiusd $(1)/usr/sbin/
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/radiusd $(1)/usr/sbin/
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/radiusd.init $(1)/etc/init.d/radiusd
endef
define Package/freeradius-utils/install
$(INSTALL_DIR) $(1)/usr/bin
for f in radclient radeapclient; do \
- $(CP) $(PKG_INSTALL_DIR)/usr/bin/$$$${f} $(1)/usr/bin/ ; \
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/$$$${f} $(1)/usr/bin/ ; \
done
endef
define BuildPlugin
define Package/$(1)/install
- [ -z "$(2)" ] || $(INSTALL_DIR) $$(1)/usr/lib/freeradius
+ [ -z "$(2)" ] || $(INSTALL_DIR) $$(1)/usr/lib
for m in $(2); do \
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/freeradius/$$$$$$$${m}{,-*}.so $$(1)/usr/lib/freeradius/ ; \
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/freeradius/$$$$$$$${m}{,-*}.so $$(1)/usr/lib/ ; \
done
[ -z "$(3)" ] || $(INSTALL_DIR) $$(1)/etc/freeradius
for f in $(3); do \
$(eval $(call BuildPlugin,freeradius-mod-eap-peap,rlm_eap_peap,))
$(eval $(call BuildPlugin,freeradius-mod-eap-tls,rlm_eap_tls,))
$(eval $(call BuildPlugin,freeradius-mod-eap-ttls,rlm_eap_ttls,))
+$(eval $(call BuildPlugin,freeradius-mod-exec,rlm_exec,))
+$(eval $(call BuildPlugin,freeradius-mod-attr-rewrite,rlm_attr_rewrite))
$(eval $(call BuildPlugin,freeradius-mod-files,rlm_files,acct_users preproxy_users users))
$(eval $(call BuildPlugin,freeradius-mod-ldap,rlm_ldap,ldap.attrmap))
$(eval $(call BuildPlugin,freeradius-mod-mschap,rlm_mschap,))
$(eval $(call BuildPlugin,freeradius-mod-sql-mysql,rlm_sql_mysql,))
$(eval $(call BuildPlugin,freeradius-mod-sql-pgsql,rlm_sql_postgresql,))
$(eval $(call BuildPlugin,freeradius-mod-sqlcounter,rlm_sqlcounter,))
+$(eval $(call BuildPlugin,freeradius-mod-radutmp,rlm_radutmp,))
$(eval $(call BuildPackage,freeradius-utils))