fwknop: init script improvements
[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.5
12 PKG_RELEASE:=2
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:=75e15fd00a870b8a95df1440977c688a05a109f90b57bf679b931101d427d0fb
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_LARGELIMITS \
28 COOVACHILLI_MINIPORTAL \
29 COOVACHILLI_NOSSL \
30 COOVACHILLI_OPENSSL \
31 COOVACHILLI_PROXY \
32 COOVACHILLI_REDIR \
33 COOVACHILLI_UAMDOMAINFILE \
34 COOVACHILLI_USERAGENT \
35 COOVACHILLI_WOLFSSL \
36 IPV6
37
38 include $(INCLUDE_DIR)/package.mk
39 include $(INCLUDE_DIR)/kernel.mk
40
41 define Package/coova-chilli
42 SUBMENU:=Captive Portals
43 SECTION:=net
44 CATEGORY:=Network
45 DEPENDS:=+kmod-tun +librt +COOVACHILLI_MINIPORTAL:haserl \
46 +COOVACHILLI_WOLFSSL:libwolfssl +COOVACHILLI_OPENSSL:libopenssl
47 TITLE:=Wireless LAN HotSpot controller (Coova Chilli Version)
48 URL:=https://coova.github.io/
49 MENU:=1
50 endef
51
52 define Package/coova-chilli/description
53 CoovaChilli is an open source access controller for wireless LAN
54 access points and is based on ChilliSpot. It is used for authenticating
55 users of a wireless (or wired) LAN. It supports web based login (UAM)
56 which is today's standard for public HotSpots and it supports Wireless
57 Protected Access (WPA) which is the standard of the future.
58 Authentication, authorization and accounting (AAA) is handled by your
59 favorite radius server.
60 endef
61
62 define Package/coova-chilli/config
63 source "$(SOURCE)/Config.in"
64 endef
65
66 define KernelPackage/ipt-coova
67 URL:=http://www.coova.org/CoovaChilli
68 SUBMENU:=Netfilter Extensions
69 DEPENDS:=coova-chilli +kmod-ipt-core +libxtables
70 TITLE:=Coova netfilter module
71 FILES:=$(PKG_BUILD_DIR)/src/linux/xt_*.$(LINUX_KMOD_SUFFIX)
72 AUTOLOAD:=$(call AutoProbe,xt_coova)
73 endef
74
75 define KernelPackage/ipt-coova/description
76 Netfilter kernel module for CoovaChilli
77 Includes:
78 - coova
79 endef
80
81 DISABLE_NLS=
82
83 TARGET_CFLAGS += $(FPIC) -Wno-address-of-packed-member
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_UAMDOMAINFILE),--enable,--disable)-uamdomainfile \
115 $(if $(CONFIG_IPV6),--with,--without)-ipv6 \
116 $(if $(CONFIG_COOVACHILLI_WOLFSSL),--with,--without)-cyassl \
117 $(if $(CONFIG_COOVACHILLI_OPENSSL),--with,--without)-openssl \
118 $(if $(CONFIG_PACKAGE_kmod-ipt-coova),--with-nfcoova) \
119 )
120 endef
121
122 define Package/coova-chilli/conffiles
123 /etc/config/chilli
124 endef
125
126 define Package/coova-chilli/install
127 $(INSTALL_DIR) $(1)/etc
128 $(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/chilli.conf $(1)/etc/
129 $(INSTALL_DIR) $(1)/etc/chilli
130 $(CP) $(PKG_INSTALL_DIR)/etc/chilli/* $(1)/etc/chilli/
131 $(INSTALL_DIR) $(1)/etc/hotplug.d/iface
132 $(INSTALL_DATA) ./files/chilli.hotplug $(1)/etc/hotplug.d/iface/30-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))