Merge pull request #19372 from cotequeiroz/libgd
[feed/packages.git] / net / coova-chilli / Makefile
1 #
2 # Copyright (C) 2007-2018 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9
10 PKG_NAME:=coova-chilli
11 PKG_VERSION:=1.6
12 PKG_RELEASE:=$(AUTORELEASE).1
13
14 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
15 PKG_SOURCE_URL:=https://codeload.github.com/coova/coova-chilli/tar.gz/$(PKG_VERSION)?
16 PKG_HASH:=26b2bead6fd9c18eb736fb0a0f8709922de4e4fedee1122193f82706eb2b9305
17
18 PKG_MAINTAINER:=Jaehoon You <teslamint@gmail.com>
19 PKG_LICENSE:=GPL-2.0-or-later
20 PKG_LICENSE_FILES:=COPYING
21
22 PKG_FIXUP:=autoreconf
23 PKG_INSTALL:=1
24 PKG_BUILD_PARALLEL:=0
25
26 PKG_CONFIG_DEPENDS:= \
27 COOVACHILLI_JSONINTERFACE \
28 COOVACHILLI_LARGELIMITS \
29 COOVACHILLI_MINIPORTAL \
30 COOVACHILLI_NOSSL \
31 COOVACHILLI_OPENSSL \
32 COOVACHILLI_PROXY \
33 COOVACHILLI_REDIR \
34 COOVACHILLI_UAMDOMAINFILE \
35 COOVACHILLI_USERAGENT \
36 COOVACHILLI_WOLFSSL \
37 IPV6
38
39 include $(INCLUDE_DIR)/package.mk
40 include $(INCLUDE_DIR)/kernel.mk
41
42 define Package/coova-chilli
43 SUBMENU:=Captive Portals
44 SECTION:=net
45 CATEGORY:=Network
46 DEPENDS:=+kmod-tun +librt +COOVACHILLI_MINIPORTAL:haserl \
47 +COOVACHILLI_WOLFSSL:libwolfssl +COOVACHILLI_OPENSSL:libopenssl \
48 +COOVACHILLI_JSONINTERFACE:libjson-c
49 TITLE:=Wireless LAN HotSpot controller (Coova Chilli Version)
50 URL:=https://coova.github.io/
51 MENU:=1
52 endef
53
54 define Package/coova-chilli/description
55 CoovaChilli is an open source access controller for wireless LAN
56 access points and is based on ChilliSpot. It is used for authenticating
57 users of a wireless (or wired) LAN. It supports web based login (UAM)
58 which is today's standard for public HotSpots and it supports Wireless
59 Protected Access (WPA) which is the standard of the future.
60 Authentication, authorization and accounting (AAA) is handled by your
61 favorite radius server.
62 endef
63
64 define Package/coova-chilli/config
65 source "$(SOURCE)/Config.in"
66 endef
67
68 define KernelPackage/ipt-coova
69 URL:=http://www.coova.org/CoovaChilli
70 SUBMENU:=Netfilter Extensions
71 DEPENDS:=+kmod-ipt-core +libxtables
72 TITLE:=Coova netfilter module
73 FILES:=$(PKG_BUILD_DIR)/src/linux/xt_*.$(LINUX_KMOD_SUFFIX)
74 AUTOLOAD:=$(call AutoProbe,xt_coova)
75 endef
76
77 define KernelPackage/ipt-coova/description
78 Netfilter kernel module for CoovaChilli
79 endef
80
81 DISABLE_NLS=
82
83 TARGET_CFLAGS += $(FPIC) -Wno-error
84
85 CONFIGURE_VARS += \
86 ARCH="$(LINUX_KARCH)" \
87 KERNEL_DIR="$(LINUX_DIR)"
88
89 MAKE_FLAGS += \
90 ARCH="$(LINUX_KARCH)" \
91 KERNEL_DIR="$(LINUX_DIR)"
92
93 MAKE_INSTALL_FLAGS += \
94 ARCH="$(LINUX_KARCH)" \
95 KERNEL_DIR="$(LINUX_DIR)" \
96 INSTALL_MOD_PATH="$(PKG_INSTALL_DIR)"
97
98 define Build/Prepare
99 $(call Build/Prepare/Default)
100 ( cd $(PKG_BUILD_DIR) ; \
101 [ -f ./configure ] || { \
102 ./bootstrap ; \
103 } \
104 )
105 endef
106
107 define Build/Configure
108 $(call Build/Configure/Default, \
109 $(if $(CONFIG_COOVACHILLI_PROXY),--enable,--disable)-chilliproxy \
110 $(if $(CONFIG_COOVACHILLI_REDIR),--enable,--disable)-chilliredir \
111 $(if $(CONFIG_COOVACHILLI_MINIPORTAL),--enable,--disable)-miniportal \
112 $(if $(CONFIG_COOVACHILLI_USERAGENT),--enable,--disable)-useragent \
113 $(if $(CONFIG_COOVACHILLI_LARGELIMITS),--enable,--disable)-largelimits \
114 $(if $(CONFIG_COOVACHILLI_JSONINTERFACE),--enable,--disable)-libjson \
115 $(if $(CONFIG_COOVACHILLI_JSONINTERFACE),--enable,--disable)-json \
116 $(if $(CONFIG_COOVACHILLI_UAMDOMAINFILE),--enable,--disable)-uamdomainfile \
117 $(if $(CONFIG_IPV6),--with,--without)-ipv6 \
118 $(if $(CONFIG_COOVACHILLI_WOLFSSL),--with,--without)-cyassl \
119 $(if $(CONFIG_COOVACHILLI_OPENSSL),--with,--without)-openssl \
120 $(if $(CONFIG_PACKAGE_kmod-ipt-coova),--with-nfcoova) \
121 )
122 endef
123
124 define Package/coova-chilli/conffiles
125 /etc/config/chilli
126 endef
127
128 define Package/coova-chilli/install
129 $(INSTALL_DIR) $(1)/etc
130 $(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/chilli.conf $(1)/etc/
131 $(INSTALL_DIR) $(1)/etc/chilli
132 $(CP) $(PKG_INSTALL_DIR)/etc/chilli/* $(1)/etc/chilli/
133 $(INSTALL_DIR) $(1)/usr/sbin
134 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/chilli* $(1)/usr/sbin/
135 $(INSTALL_DIR) $(1)/usr/lib/
136 $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib*.so.* $(1)/usr/lib/
137 $(if $(CONFIG_PACKAGE_kmod-ipt-coova), \
138 $(INSTALL_DIR) $(1)/usr/lib/iptables; \
139 $(CP) $(PKG_INSTALL_DIR)/usr/lib/iptables/lib*.so $(1)/usr/lib/iptables/ \
140 )
141 $(INSTALL_DIR) $(1)/etc/init.d
142 $(INSTALL_BIN) files/chilli.init $(1)/etc/init.d/chilli
143 $(INSTALL_DIR) $(1)/etc/config
144 $(INSTALL_DATA) files/chilli.config $(1)/etc/config/chilli
145 endef
146
147 $(eval $(call BuildPackage,coova-chilli))
148 $(eval $(call KernelPackage,ipt-coova))