# $Id$

include $(TOPDIR)/rules.mk

PKG_NAME:=coova
PKG_VERSION:=4
PKG_RELEASE:=1
PKG_MD5SUM:=a5c2c217a0ec871388671c5062c0e67b

PKG_SOURCE_URL:=http://ap.coova.org/chilli
PKG_SOURCE:=chillispot-1.0-$(PKG_NAME).$(PKG_VERSION).tar.gz
PKG_CAT:=zcat

PKG_BUILD_DIR:=$(BUILD_DIR)/chillispot-1.0-$(PKG_NAME).$(PKG_VERSION)
PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install

include $(INCLUDE_DIR)/package.mk

define Package/coova
  SECTION:=net
  CATEGORY:=Network
  DEPENDS:=@+PACKAGE_kmod-tun
  TITLE:=Coova Wireless LAN HotSpot controller
  DESCRIPTION:=Wireless LAN HotSpot controller\\\
    ChilliSpot is an open source captive portal or wireless LAN \\\
    access point controller. It is used for authenticating users \\\
    of a wireless LAN. It supports web based login which is today's \\\
    standard for public HotSpots and it supports Wireless Protected \\\
    Access (WPA) which is the standard of the future. Authentication, \\\
    authorization and accounting (AAA) is handled by your favorite \\\
    radius server.
  URL:=http://www.chillispot.org/
endef

define Package/coova/conffiles
/etc/chilli.conf
endef

define Build/Configure
	(cd $(PKG_BUILD_DIR); rm -rf config.{cache,status} ; \
		$(TARGET_CONFIGURE_OPTS) \
		CFLAGS="$(TARGET_CFLAGS) -U__STRICT_ANSI__ -DHAVE_WHITELIST" \
		CPPFLAGS="-I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include" \
		LDFLAGS="-L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib -lcrypt" \
		ac_cv_func_malloc_0_nonnull=yes \
		ac_cv_func_memcmp_working=yes \
		ac_cv_func_setvbuf_reversed=no \
		./configure \
			--target=$(GNU_TARGET_NAME) \
			--host=$(GNU_TARGET_NAME) \
			--build=$(GNU_HOST_NAME) \
			--program-prefix="" \
			--program-suffix="" \
			--prefix=/usr \
			--exec-prefix=/usr \
			--bindir=/usr/bin \
			--datadir=/usr/share \
			--includedir=/usr/include \
			--infodir=/usr/share/info \
			--libdir=/usr/lib \
			--libexecdir=/usr/lib \
			--localstatedir=/var \
			--mandir=/usr/share/man \
			--sbindir=/usr/sbin \
			--sysconfdir=/etc \
			$(DISABLE_LARGEFILE) \
			$(DISABLE_NLS) \
			--enable-shared \
			--disable-static \
			--with-gnu-ld \
	);
endef

define Build/Compile
	rm -rf $(PKG_INSTALL_DIR)
	mkdir -p $(PKG_INSTALL_DIR)
	$(MAKE) -C $(PKG_BUILD_DIR) \
		$(TARGET_CONFIGURE_OPTS) \
		DESTDIR="$(PKG_INSTALL_DIR)" \
		all install
endef

define Package/coova/install
	rm -rf $(1)/etc
	$(INSTALL_DIR) $(1)/etc/init.d
	$(INSTALL_BIN) ./files/chillispot-fon.init $(1)/etc/init.d/chillispot
	$(INSTALL_DATA) ./files/chilli.conf $(1)/etc/
	$(INSTALL_DIR) $(1)/usr/sbin
	$(CP) $(PKG_INSTALL_DIR)/usr/sbin/chilli* $(1)/usr/sbin/
	$(INSTALL_BIN) ./files/usr/sbin/watch_chilli $(1)/usr/sbin/
	$(INSTALL_BIN) ./files/usr/sbin/incount $(1)/usr/sbin/
	$(INSTALL_BIN) ./files/usr/sbin/decount $(1)/usr/sbin/
endef

$(eval $(call BuildPackage,coova))
