Remove un-necessary crowdsec package dependency, to be able to use crowdsec-firewall-bouncer independently from crowdsec local installation. (with remote API) Fix issue: https://github.com/openwrt/packages/issues/17406 Description: using crowdsec-firewall-bouncer on many OpenWRT devices connected with my domain LAPI server (which collect many crowdsec machines, mostly nginx), it works great. Actually, crowdsec package is not mandatory for that usage, it would be great if it was not a dependency. Signed-off-by: Kerma Gérald <gandalf@gk2.net>
116 lines
3.3 KiB
Makefile
116 lines
3.3 KiB
Makefile
# SPDX-License-Identifier: MIT
|
|
#
|
|
# Copyright (C) 2021 Gerald Kerma
|
|
#
|
|
|
|
include $(TOPDIR)/rules.mk
|
|
|
|
PKG_NAME:=crowdsec-firewall-bouncer
|
|
PKG_VERSION:=0.0.18
|
|
PKG_RELEASE:=$(AUTORELEASE)
|
|
|
|
PKG_SOURCE_PROTO:=git
|
|
PKG_SOURCE_URL:=https://github.com/crowdsecurity/cs-firewall-bouncer
|
|
PKG_MIRROR_HASH:=2fb7ddb226f6a99c46826706da25f7cdbcd7615468129e7b07f8ac4edf0366f9
|
|
PKG_SOURCE_VERSION:=v$(PKG_VERSION)
|
|
PKG_SOURCE_DATE:=20211210
|
|
|
|
PKG_LICENSE:=MIT
|
|
PKG_LICENSE_FILES:=LICENSE
|
|
PKG_MAINTAINER:=Gerald Kerma <gandalf@gk2.net>
|
|
|
|
PKG_BUILD_DEPENDS:=golang/host
|
|
PKG_BUILD_PARALLEL:=1
|
|
PKG_USE_MIPS16:=0
|
|
|
|
CSFB_BUILD_VERSION?=$(PKG_SOURCE_VERSION)
|
|
CSFB_BUILD_GOVERSION=$(shell go version | cut -d " " -f3 | sed -r 's/[go]+//g')
|
|
CWD_BUILD_TIMESTAMP:=$(SOURCE_DATE_EPOCH)
|
|
CSFB_BUILD_TAG=openwrt
|
|
|
|
CSFB_VERSION_PKG:=github.com/crowdsecurity/cs-firewall-bouncer/pkg/version
|
|
|
|
GO_PKG:=github.com/crowdsecurity/cs-firewall-bouncer
|
|
|
|
GO_PKG_LDFLAGS_X:=$(CSFB_VERSION_PKG).Version=$(CSFB_BUILD_VERSION) \
|
|
$(CSFB_VERSION_PKG).BuildDate=$(CSFB_BUILD_TIMESTAMP) \
|
|
$(CSFB_VERSION_PKG).Tag=$(CSFB_BUILD_TAG) \
|
|
$(CSFB_VERSION_PKG).GoVersion=$(CSFB_BUILD_GOVERSION)
|
|
|
|
GO_PKG_INSTALL_ALL:=1
|
|
|
|
include $(INCLUDE_DIR)/package.mk
|
|
include ../../lang/golang/golang-package.mk
|
|
|
|
define Package/crowdsec-firewall-bouncer/Default
|
|
SECTION:=net
|
|
CATEGORY:=Network
|
|
TITLE:=Firewall bouncer for Crowdsec
|
|
URL:=https://github.com/crowdsecurity/cs-firewall-bouncer/
|
|
endef
|
|
|
|
define Package/crowdsec-firewall-bouncer
|
|
$(call Package/crowdsec-firewall-bouncer/Default)
|
|
DEPENDS:=@(PACKAGE_iptables||PACKAGE_nftables) \
|
|
$(GO_ARCH_DEPENDS)
|
|
endef
|
|
|
|
define Package/golang-crowdsec-firewall-bouncer-dev
|
|
$(call Package/crowdsec-firewall-bouncer/Default)
|
|
$(call GoPackage/GoSubMenu)
|
|
TITLE+= (source files)
|
|
DEPENDS:=$(GO_ARCH_DEPENDS)
|
|
PKGARCH:=all
|
|
endef
|
|
|
|
define Package/crowdsec-firewall-bouncer/Default/description
|
|
Crowdsec bouncer written in golang for firewalls.
|
|
|
|
crowdsec-firewall-bouncer will fetch new and old decisions
|
|
from a CrowdSec API to add them in a blocklist used by supported firewalls.
|
|
|
|
You must install iptables+ipset or nftables.
|
|
endef
|
|
|
|
define Package/crowdsec-firewall-bouncer/description
|
|
$(call Package/crowdsec-firewall-bouncer/Default/description)
|
|
|
|
This package contains the main program.
|
|
endef
|
|
|
|
define Package/golang-crowdsec-firewall-bouncer-dev/description
|
|
$(call Package/crowdsec-firewall-bouncer/Default/description)
|
|
|
|
This package provides the source files for the program.
|
|
endef
|
|
|
|
define Package/crowdsec-firewall-bouncer/install
|
|
$(call GoPackage/Package/Install/Bin,$(1))
|
|
|
|
$(INSTALL_DIR) $(1)/etc/crowdsec/bouncers
|
|
$(INSTALL_DATA) \
|
|
$(GO_PKG_BUILD_DIR)/src/$(GO_PKG)/config/crowdsec-firewall-bouncer.yaml \
|
|
$(1)/etc/crowdsec/bouncers
|
|
|
|
$(INSTALL_DIR) $(1)/etc/init.d
|
|
$(INSTALL_BIN) \
|
|
./files/crowdsec-firewall-bouncer.initd \
|
|
$(1)/etc/init.d/crowdsec-firewall-bouncer
|
|
|
|
$(INSTALL_DIR) $(1)/etc
|
|
$(INSTALL_BIN) \
|
|
./files/crowdsec-firewall-bouncer.firewall \
|
|
$(1)/etc/firewall.cs
|
|
|
|
$(INSTALL_DIR) $(1)/etc/uci-defaults
|
|
$(INSTALL_BIN) \
|
|
./files/crowdsec-firewall-bouncer.defaults \
|
|
$(1)/etc/uci-defaults/99_crowdsec-firewall-bouncer
|
|
endef
|
|
|
|
define Package/crowdsec-firewall-bouncer/conffiles
|
|
/etc/crowdsec/bouncers/crowdsec-firewall-bouncer.yaml
|
|
endef
|
|
|
|
$(eval $(call GoBinPackage,crowdsec-firewall-bouncer))
|
|
$(eval $(call BuildPackage,crowdsec-firewall-bouncer))
|