openwrt/package/network/services/unetd/Makefile
Felix Fietkau f077e058fd
Some checks are pending
Build all core packages / Build all core packages for selected target (push) Waiting to run
unetd: update to Git HEAD (2024-12-17)
93461ca4c827 unet-cli: only apply defaults on create
3e5766783d5d unet-tool: add support for confirming password
074d3659ca4a unet-cli: confirm password when creating new seed based key
bf3488a3807a unet-cli: add add/set-local-host command
9eb57c528461 unet-cli: add support for setting interface zone
a0a2d80f3459 ubus: add firewall rules for network port/pex_port via procd

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2024-12-17 21:57:44 +01:00

114 lines
2.8 KiB
Makefile

#
# Copyright (C) 2022 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=unetd
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL=$(PROJECT_GIT)/project/unetd.git
PKG_SOURCE_DATE:=2024-12-17
PKG_SOURCE_VERSION:=a0a2d80f3459425182a9f0e665d8ca8eff97c82f
PKG_MIRROR_HASH:=a6f07d91da40152b2af5b5b9d1d67d87a9991943147e47be6921c092ad7b49a3
PKG_LICENSE:=GPL-2.0
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
PKG_BUILD_DEPENDS:=HAS_BPF_TOOLCHAIN:bpf-headers
PKG_BUILD_PARALLEL:=1
PKG_CONFIG_DEPENDS += CONFIG_UNETD_VXLAN_SUPPORT
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/cmake.mk
include $(INCLUDE_DIR)/bpf.mk
include $(INCLUDE_DIR)/nls.mk
define Package/unetd
SECTION:=net
CATEGORY:=Network
TITLE:=WireGuard based VPN connection manager for OpenWrt
DEPENDS:=+libubox +libubus +libblobmsg-json +libnl-tiny +kmod-wireguard +UNETD_VXLAN_SUPPORT:libbpf
endef
define Package/unetd/config
config UNETD_VXLAN_SUPPORT
bool "VXLAN support"
depends on PACKAGE_unetd
depends on HAS_BPF_TOOLCHAIN
default y
endef
define Package/unet-dht
SECTION:=net
CATEGORY:=Network
DEPENDS:=unetd
TITLE:=unetd DHT discovery support
endef
define Package/unet-cli
SECTION:=net
CATEGORY:=Network
DEPENDS:=+unetd +ucode +ucode-mod-fs
TITLE:=unetd administration command line utility
endef
TARGET_CFLAGS += \
-I$(STAGING_DIR)/usr/include/libnl-tiny \
-I$(STAGING_DIR)/usr/include
CMAKE_OPTIONS += \
-DLIBNL_LIBS=-lnl-tiny \
-DVXLAN_SUPPORT=$(if $(CONFIG_UNETD_VXLAN_SUPPORT),ON,OFF)
ifdef CONFIG_UNETD_VXLAN_SUPPORT
define Build/Compile
$(call CompileBPF,$(PKG_BUILD_DIR)/mss-bpf.c)
$(call Build/Compile/Default,)
endef
endif
define Package/unetd/conffiles
/etc/unetd
endef
define Package/unetd/install
$(INSTALL_DIR) \
$(1)/etc/unetd \
$(1)/lib/bpf \
$(1)/etc/init.d \
$(1)/lib/netifd/proto \
$(1)/usr/sbin \
$(1)/usr/lib
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/libunet.so* $(1)/usr/lib/
$(INSTALL_BIN) \
$(PKG_INSTALL_DIR)/usr/sbin/unetd \
$(PKG_INSTALL_DIR)/usr/sbin/unet-tool \
$(1)/usr/sbin/
$(if $(CONFIG_UNETD_VXLAN_SUPPORT),$(INSTALL_DATA) $(PKG_BUILD_DIR)/mss-bpf.o $(1)/lib/bpf/mss.o)
$(INSTALL_BIN) ./files/unetd.init $(1)/etc/init.d/unetd
$(INSTALL_BIN) ./files/unetd.sh $(1)/lib/netifd/proto
endef
define Package/unet-dht/install
$(INSTALL_DIR) \
$(1)/etc/init.d \
$(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/unet-dht $(1)/usr/sbin
$(INSTALL_BIN) ./files/unet-dht.init $(1)/etc/init.d/unet-dht
endef
define Package/unet-cli/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/scripts/unet-cli $(1)/usr/sbin
endef
$(eval $(call BuildPackage,unetd))
$(eval $(call BuildPackage,unet-dht))
$(eval $(call BuildPackage,unet-cli))