Add freeradius-mod-exec, thanks to olli !
[openwrt/svn-archive/archive.git] / net / freeradius / Makefile
index 7b684fac0fff6909b2dc556af96bb6a586852944..63da9981aa02997ec6ab84a170c712ea2d813d8c 100644 (file)
@@ -9,15 +9,15 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=freeradius
-PKG_VERSION:=1.1.2
+PKG_VERSION:=1.1.6
 PKG_RELEASE:=1
 
-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:=6649ac5f9666b4a8cd55a837068ca61e
-PKG_CAT:=zcat
+PKG_MD5SUM:=2c29ab90cc30aa3b92fbd78030ccc198
+PKG_CAT:=bzcat
 
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
 PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
@@ -32,7 +32,7 @@ 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
@@ -106,6 +106,12 @@ define Package/freeradius-mod-eap-ttls
   TITLE:=EAP/TTLS module
 endef
 
+define Package/freeradius-mod-exec
+  $(call Package/freeradius/Default)
+  DEPENDS:=freeradius
+  TITLE:=EXEC module
+endef
+
 define Package/freeradius-mod-files
   $(call Package/freeradius/Default)
   DEPENDS:=freeradius
@@ -191,12 +197,10 @@ define Package/freeradius-utils
   TITLE:=Misc. client utilities
 endef
 
-PKG_CONFIGURE_OPTIONS:= \
+PKG_CONFIGURE_ARGS:= \
        --enable-shared \
        --disable-static \
-       --disable-ltdl-install \
-       --with-ltdl-include="$(STAGING_DIR)/usr/include" \
-       --with-ltdl-lib="$(STAGING_DIR)/usr/lib" \
+       --disable-developer \
        --with-openssl-includes="$(STAGING_DIR)/usr/include" \
        --with-openssl-libraries="$(STAGING_DIR)/usr/lib" \
        --enable-strict-dependencies \
@@ -221,8 +225,10 @@ PKG_CONFIGURE_OPTIONS:= \
        --without-rlm_smb \
        --with-rlm_sql \
        --with-rlm_sqlcounter \
+       --without-rlm_sqlhpwippool \
        --without-rlm_sqlippool \
        --without-rlm_sql_db2 \
+       --without-rlm_sql_firebird \
        --without-rlm_sql_freetds \
        --without-rlm_sql_iodbc \
        --without-rlm_sql_oracle \
@@ -234,70 +240,66 @@ PKG_CONFIGURE_OPTIONS:= \
 PKG_DICTIONARIES:= \
        freeradius freeradius.internal \
        rfc2865 rfc2866 rfc2867 rfc2868 rfc2869 rfc3162 rfc3576 rfc3580 \
+       rfc4372 rfc4675 rfc4679 \
        microsoft \
        wispr \
 
-ifneq ($(SDK),)
-# Make sure the options below are enabled when building with the SDK
-  CONFIG_PACKAGE_freeradius-mod-ldap:=m
-  CONFIG_PACKAGE_freeradius-mod-sql-mysql:=m
-  CONFIG_PACKAGE_freeradius-mod-sql-pgsql:=m
-endif
-
-ifneq ($(CONFIG_PACKAGE_freeradius-mod-ldap),)
-  PKG_CONFIGURE_LIBS+= -lcrypto -lssl
-  PKG_CONFIGURE_OPTIONS+= \
+ifneq ($(SDK)$(CONFIG_PACKAGE_freeradius-mod-ldap),)
+  PKG_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
 else
-  PKG_CONFIGURE_OPTIONS+= --without-rlm_ldap
+  PKG_CONFIGURE_ARGS+= --without-rlm_ldap
 endif
 
-ifneq ($(CONFIG_PACKAGE_freeradius-mod-sql-mysql),)
-  PKG_CONFIGURE_LIBS+= -lz
-  PKG_CONFIGURE_OPTIONS+= \
+ifneq ($(SDK)$(CONFIG_PACKAGE_freeradius-mod-sql-mysql),)
+  PKG_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
 else
-  PKG_CONFIGURE_OPTIONS+= --without-rlm_sql_mysql
+  PKG_CONFIGURE_ARGS+= --without-rlm_sql_mysql
 endif
 
-ifneq ($(CONFIG_PACKAGE_freeradius-mod-sql-pgsql),)
-  PKG_CONFIGURE_OPTIONS+= \
+ifneq ($(SDK)$(CONFIG_PACKAGE_freeradius-mod-sql-pgsql),)
+  PKG_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_OPTIONS+= --without-rlm_sql_postgresql
+  PKG_CONFIGURE_ARGS+= --without-rlm_sql_postgresql
 endif
 
-ifneq ($(CONFIG_PACKAGE_freeradius-mod-eap-tls),)
-  PKG_CONFIGURE_OPTIONS+= --with-rlm_eap_tls
+ifneq ($(SDK)$(CONFIG_PACKAGE_freeradius-mod-eap-peap),)
+  PKG_CONFIGURE_ARGS+= --with-rlm_eap_peap
+  PKG_CONFIGURE_LIBS+= -lcrypto -lssl
 else
-  PKG_CONFIGURE_OPTIONS+= --without-rlm_eap_tls
+  PKG_CONFIGURE_ARGS+= --without-rlm_eap_peap
 endif
 
-ifneq ($(CONFIG_PACKAGE_freeradius-mod-eap-peap),)
-  PKG_CONFIGURE_OPTIONS+= --with-rlm_eap_peap
+ifneq ($(SDK)$(CONFIG_PACKAGE_freeradius-mod-eap-tls),)
+  PKG_CONFIGURE_ARGS+= --with-rlm_eap_tls
+  PKG_CONFIGURE_LIBS+= -lcrypto -lssl
 else
-  PKG_CONFIGURE_OPTIONS+= --without-rlm_eap_peap
+  PKG_CONFIGURE_ARGS+= --without-rlm_eap_tls
 endif
 
-ifneq ($(CONFIG_PACKAGE_freeradius-mod-eap-ttls),)
-  PKG_CONFIGURE_OPTIONS+= --with-rlm_eap_ttls
+ifneq ($(SDK)$(CONFIG_PACKAGE_freeradius-mod-eap-ttls),)
+  PKG_CONFIGURE_ARGS+= --with-rlm_eap_ttls
+  PKG_CONFIGURE_LIBS+= -lcrypto -lssl
 else
-  PKG_CONFIGURE_OPTIONS+= --without-rlm_eap_ttls
+  PKG_CONFIGURE_ARGS+= --without-rlm_eap_ttls
 endif
 
 define Build/Configure
        $(call Build/Configure/Default, \
                --libdir=/usr/lib/freeradius \
                --libexecdir=/usr/lib/freeradius \
-               $(PKG_CONFIGURE_OPTIONS) \
+               $(PKG_CONFIGURE_ARGS) \
                , \
                LDFLAGS="$$$$LDFLAGS -L$(PKG_INSTALL_DIR)/usr/lib/freeradius" \
                LIBS="$(PKG_CONFIGURE_LIBS)" \
-               sys_lib_search_path_spec="$(STAGING_DIR)/usr/lib $(STAGING_DIR)/lib" \
                MYSQL_CONFIG="no" \
        )
 endef
@@ -316,11 +318,13 @@ define Package/freeradius/install
        done
        $(INSTALL_DIR) $(1)/usr/share/freeradius
        $(CP) $(PKG_INSTALL_DIR)/usr/share/freeradius/dictionary $(1)/usr/share/freeradius/
+       $(SED) "s,^\(\$$$$INCLUDE\),#\1,g" $(1)/usr/share/freeradius/dictionary
        for f in $(PKG_DICTIONARIES); do \
                $(CP) $(PKG_INSTALL_DIR)/usr/share/freeradius/dictionary.$$$${f} $(1)/usr/share/freeradius/ ; \
+               $(SED) "s,^#\(\$$$$INCLUDE dictionary\.$$$${f}\),\1,g" $(1)/usr/share/freeradius/dictionary ; \
        done
        $(INSTALL_DIR) $(1)/usr/lib/freeradius
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/freeradius/libradius{,-*}.so $(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_DIR) $(1)/etc/init.d
@@ -345,9 +349,9 @@ 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 \
@@ -369,6 +373,7 @@ $(eval $(call BuildPlugin,freeradius-mod-eap-mschapv2,rlm_eap_mschapv2,))
 $(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-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,))