Merge pull request #12415 from haraldg/elektra_0.9.2
[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:=3
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_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:=coova-chilli +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 Includes:
80 - coova
81 endef
82
83 DISABLE_NLS=
84
85 TARGET_CFLAGS += $(FPIC) -Wno-address-of-packed-member
86
87 CONFIGURE_VARS += \
88 ARCH="$(LINUX_KARCH)" \
89 KERNEL_DIR="$(LINUX_DIR)"
90
91 MAKE_FLAGS += \
92 ARCH="$(LINUX_KARCH)" \
93 KERNEL_DIR="$(LINUX_DIR)"
94
95 MAKE_INSTALL_FLAGS += \
96 ARCH="$(LINUX_KARCH)" \
97 KERNEL_DIR="$(LINUX_DIR)" \
98 INSTALL_MOD_PATH="$(PKG_INSTALL_DIR)"
99
100 define Build/Prepare
101 $(call Build/Prepare/Default)
102 ( cd $(PKG_BUILD_DIR) ; \
103 [ -f ./configure ] || { \
104 ./bootstrap ; \
105 } \
106 )
107 endef
108
109 define Build/Configure
110 $(call Build/Configure/Default, \
111 $(if $(CONFIG_COOVACHILLI_PROXY),--enable,--disable)-chilliproxy \
112 $(if $(CONFIG_COOVACHILLI_REDIR),--enable,--disable)-chilliredir \
113 $(if $(CONFIG_COOVACHILLI_MINIPORTAL),--enable,--disable)-miniportal \
114 $(if $(CONFIG_COOVACHILLI_USERAGENT),--enable,--disable)-useragent \
115 $(if $(CONFIG_COOVACHILLI_LARGELIMITS),--enable,--disable)-largelimits \
116 $(if $(CONFIG_COOVACHILLI_JSONINTERFACE),--enable,--disable)-libjson \
117 $(if $(CONFIG_COOVACHILLI_JSONINTERFACE),--enable,--disable)-json \
118 $(if $(CONFIG_COOVACHILLI_UAMDOMAINFILE),--enable,--disable)-uamdomainfile \
119 $(if $(CONFIG_IPV6),--with,--without)-ipv6 \
120 $(if $(CONFIG_COOVACHILLI_WOLFSSL),--with,--without)-cyassl \
121 $(if $(CONFIG_COOVACHILLI_OPENSSL),--with,--without)-openssl \
122 $(if $(CONFIG_PACKAGE_kmod-ipt-coova),--with-nfcoova) \
123 )
124 endef
125
126 define Package/coova-chilli/conffiles
127 /etc/config/chilli
128 endef
129
130 define Package/coova-chilli/install
131 $(INSTALL_DIR) $(1)/etc
132 $(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/chilli.conf $(1)/etc/
133 $(INSTALL_DIR) $(1)/etc/chilli
134 $(CP) $(PKG_INSTALL_DIR)/etc/chilli/* $(1)/etc/chilli/
135 $(INSTALL_DIR) $(1)/etc/hotplug.d/iface
136 $(INSTALL_DATA) ./files/chilli.hotplug $(1)/etc/hotplug.d/iface/30-chilli
137 $(INSTALL_DIR) $(1)/usr/sbin
138 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/chilli* $(1)/usr/sbin/
139 $(INSTALL_DIR) $(1)/usr/lib/
140 $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib*.so.* $(1)/usr/lib/
141 $(if $(CONFIG_PACKAGE_kmod-ipt-coova), \
142 $(INSTALL_DIR) $(1)/usr/lib/iptables; \
143 $(CP) $(PKG_INSTALL_DIR)/usr/lib/iptables/lib*.so $(1)/usr/lib/iptables/ \
144 )
145 $(INSTALL_DIR) $(1)/etc/init.d
146 $(INSTALL_BIN) files/chilli.init $(1)/etc/init.d/chilli
147 $(INSTALL_DIR) $(1)/etc/config
148 $(INSTALL_DATA) files/chilli.config $(1)/etc/config/chilli
149 endef
150
151 $(eval $(call BuildPackage,coova-chilli))
152 $(eval $(call KernelPackage,ipt-coova))