Merge pull request #8518 from neheb/i
[feed/packages.git] / net / noddos / Makefile
1 #
2 # Copyright (C) 2017 Steven Hessing
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 # Name and release number of this package
11 PKG_NAME:=noddos
12 PKG_RELEASE:=3
13 PKG_LICENSE:=GPLv3
14 PKG_MAINTAINER:=Steven Hessing <steven.hessing@gmail.com>
15
16 PKG_SOURCE_VERSION:=0.5.5
17 PKG_SOURCE_URL:=https://github.com/noddos/noddos/releases/download/v$(PKG_SOURCE_VERSION)/
18 PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_VERSION).tar.xz
19 PKG_HASH:=1f5be0c1015b0407036eecc8449d60d2abcacec442bba55db85fc32e89f754db
20
21 PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)-$(PKG_SOURCE_VERSION)
22
23 CMAKE_INSTALL:=1
24 include $(INCLUDE_DIR)/package.mk
25 include $(INCLUDE_DIR)/cmake.mk
26
27 define Package/noddos
28 SECTION:=net
29 CATEGORY:=Network
30 TITLE:=noddos -- device-aware cloud-powered firewall
31 URL:=https://www.noddos.io/
32 DEPENDS:=+libstdcpp +libnetfilter-conntrack +libcurl +libopenssl +openssl-util +ca-bundle +ca-certificates +wget +bzip2 +libtins +ipset +libpthread +libyaml-cpp
33 endef
34
35 define Package/noddos/description
36 Noddos discovers what devices you have in your network and tailors the firewall rules based on whitelisted flows for that device. Noddos downloads the firewall rules periodically from the cloud. In order to support creating these firewall rules, noddos can, after opt-in, upload anonimized traffic statistics for each device to the cloud. The Luci interface is available in the luci-apps-noddos package. For information, visit https://www.noddos.io/
37 endef
38
39 define Package/noddos/conffiles
40 /etc/config/noddos
41 endef
42
43 define Package/noddos/install
44 $(INSTALL_DIR) $(1)/usr/bin
45 $(INSTALL_DIR) $(1)/usr/sbin
46 $(INSTALL_DIR) $(1)/etc/config
47 $(INSTALL_DIR) $(1)/etc/init.d
48 $(INSTALL_DIR) $(1)/etc/noddos
49 $(INSTALL_BIN) $(PKG_BUILD_DIR)/src/noddos $(1)/usr/sbin/
50 $(INSTALL_BIN) $(PKG_BUILD_DIR)/tools/getnoddosdeviceprofiles $(1)/usr/bin
51 $(INSTALL_BIN) $(PKG_BUILD_DIR)/tools/makenoddoscert.sh $(1)/usr/bin
52 $(INSTALL_BIN) $(PKG_BUILD_DIR)/files/noddos.init $(1)/etc/init.d/noddos
53 $(INSTALL_BIN) $(PKG_BUILD_DIR)/files/noddos.uciconfig $(1)/etc/config/noddos
54 $(INSTALL_DATA) $(PKG_BUILD_DIR)/files/noddos.yml-base $(1)/etc/noddos
55 $(INSTALL_DATA) $(PKG_BUILD_DIR)/files/noddosconfig.pem $(1)/etc/noddos
56 endef
57
58 define Package/noddos/prerm
59 #!/bin/sh
60 # check if we are on real system
61 if [ -z "$${IPKG_INSTROOT}" ]; then
62 /etc/init.d/noddos stop
63 echo "Removing rc.d symlink for noddos"
64 /etc/init.d/noddos disable
65 fi
66 exit 0
67 endef
68
69 define Package/noddos/postrm
70 #!/bin/sh
71 # check if we are on real system
72 if [ -z "$${IPKG_INSTROOT}" ]; then
73 echo "Removing noddos data directory"
74 rm -rf /var/lib/noddos
75 if [ -f /var/etc/noddos.yml ]; then
76 rm /var/etc/noddos.yml
77 fi
78 fi
79 exit 0
80 endef
81
82 $(eval $(call BuildPackage,noddos))