mirror of
https://git.openwrt.org/feed/routing.git
synced 2025-01-07 03:06:53 +08:00
c6857eaa4e
* coding style cleanups and refactoring * drop explicit requirement to run as root Signed-off-by: Sven Eckelmann <sven@narfation.org>
249 lines
5.2 KiB
Makefile
249 lines
5.2 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0-only
|
|
|
|
include $(TOPDIR)/rules.mk
|
|
|
|
PKG_NAME:=batctl
|
|
PKG_VERSION:=2024.4
|
|
PKG_RELEASE:=1
|
|
|
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
|
PKG_SOURCE_URL:=https://downloads.open-mesh.org/batman/releases/batman-adv-$(PKG_VERSION)
|
|
PKG_HASH:=e42bdf1a4ecb4b188bcd3aca17e120496a42b6547593b917e3ffcf943e3f2913
|
|
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
|
|
|
|
PKG_MAINTAINER:=Simon Wunderlich <sw@simonwunderlich.de>
|
|
PKG_LICENSE:=GPL-2.0-only ISC MIT
|
|
PKG_LICENSE_FILES:=LICENSES/preferred/GPL-2.0 LICENSES/preferred/MIT LICENSES/deprecated/ISC
|
|
|
|
PKG_BUILD_PARALLEL:=1
|
|
PKG_BUILD_FLAGS:=gc-sections lto
|
|
|
|
include $(INCLUDE_DIR)/package.mk
|
|
|
|
define Package/batctl/Default
|
|
SECTION:=net
|
|
CATEGORY:=Network
|
|
URL:=https://www.open-mesh.org/
|
|
DEPENDS:=+libnl-tiny +libc +librt
|
|
PROVIDES:=batctl
|
|
endef
|
|
|
|
define Package/batctl/description
|
|
batctl is a more intuitive managment utility for B.A.T.M.A.N.-Advanced.
|
|
It is an easier method for configuring batman-adv and provides some
|
|
additional tools for debugging as well. This package builds
|
|
version $(PKG_VERSION) of the user space utility.
|
|
endef
|
|
|
|
define Package/batctl-tiny
|
|
$(call Package/batctl/Default)
|
|
TITLE:=B.A.T.M.A.N. Advanced user space configuration tool (Minimal)
|
|
VARIANT:=tiny
|
|
ALTERNATIVES:=100:/usr/sbin/batctl:/usr/libexec/batctl-tiny
|
|
endef
|
|
|
|
define Package/batctl-tiny/description
|
|
$(Package/batctl/description)
|
|
Only configuration relevant subcommands are enabled.
|
|
endef
|
|
|
|
define Package/batctl-default
|
|
$(call Package/batctl/Default)
|
|
TITLE:=B.A.T.M.A.N. Advanced user space configuration tool (Default)
|
|
VARIANT:=default
|
|
ALTERNATIVES:=200:/usr/sbin/batctl:/usr/libexec/batctl-default
|
|
endef
|
|
|
|
define Package/batctl-default/description
|
|
$(Package/batctl/description)
|
|
Standard subcommands for configuration and online debugging are enabled.
|
|
endef
|
|
|
|
define Package/batctl-full
|
|
$(call Package/batctl/Default)
|
|
TITLE:=B.A.T.M.A.N. Advanced user space configuration tool (Full)
|
|
VARIANT:=full
|
|
ALTERNATIVES:=300:/usr/sbin/batctl:/usr/libexec/batctl-full
|
|
endef
|
|
|
|
define Package/batctl-full/description
|
|
$(Package/batctl/description)
|
|
Subcommands for configuration, online and offline debugging are enabled.
|
|
endef
|
|
|
|
MAKE_VARS += \
|
|
LIBNL_NAME="libnl-tiny" \
|
|
LIBNL_GENL_NAME="libnl-tiny"
|
|
|
|
MAKE_FLAGS += \
|
|
REVISION="$(PKG_VERSION)-openwrt-$(PKG_RELEASE)"
|
|
|
|
config-n := \
|
|
aggregation \
|
|
ap_isolation \
|
|
backbonetable \
|
|
bisect_iv \
|
|
bonding \
|
|
bla_backbone_json \
|
|
bla_claim_json \
|
|
bridge_loop_avoidance \
|
|
claimtable \
|
|
dat_cache \
|
|
dat_cache_json \
|
|
distributed_arp_table \
|
|
elp_interval \
|
|
event \
|
|
fragmentation \
|
|
gateways \
|
|
gateways_json \
|
|
gw_mode \
|
|
hardif_json \
|
|
hardifs_json \
|
|
hop_penalty \
|
|
interface \
|
|
isolation_mark \
|
|
loglevel \
|
|
mcast_flags \
|
|
mcast_flags_json \
|
|
mesh_json \
|
|
multicast_fanout \
|
|
multicast_forceflood \
|
|
multicast_mode \
|
|
neighbors \
|
|
neighbors_json \
|
|
network_coding \
|
|
orig_interval \
|
|
originators \
|
|
originators_json \
|
|
ping \
|
|
routing_algo \
|
|
statistics \
|
|
tcpdump \
|
|
throughput_override \
|
|
throughputmeter \
|
|
traceroute \
|
|
transglobal \
|
|
translate \
|
|
translocal \
|
|
transtable_global_json \
|
|
transtable_local_json \
|
|
vlan_json \
|
|
|
|
config-settings := \
|
|
aggregation \
|
|
ap_isolation \
|
|
bonding \
|
|
bridge_loop_avoidance \
|
|
distributed_arp_table \
|
|
elp_interval \
|
|
fragmentation \
|
|
gw_mode \
|
|
hop_penalty \
|
|
interface \
|
|
isolation_mark \
|
|
loglevel \
|
|
multicast_fanout \
|
|
multicast_forceflood \
|
|
multicast_mode \
|
|
network_coding \
|
|
orig_interval \
|
|
routing_algo \
|
|
throughput_override \
|
|
|
|
config-tables := \
|
|
backbonetable \
|
|
claimtable \
|
|
dat_cache \
|
|
gateways \
|
|
mcast_flags \
|
|
neighbors \
|
|
originators \
|
|
statistics \
|
|
transglobal \
|
|
translocal \
|
|
|
|
config-json := \
|
|
bla_backbone_json \
|
|
bla_claim_json \
|
|
dat_cache_json \
|
|
gateways_json \
|
|
hardif_json \
|
|
hardifs_json \
|
|
mcast_flags_json \
|
|
mesh_json \
|
|
neighbors_json \
|
|
originators_json \
|
|
transtable_global_json \
|
|
transtable_local_json \
|
|
vlan_json \
|
|
|
|
config-tools := \
|
|
event \
|
|
ping \
|
|
tcpdump \
|
|
throughputmeter \
|
|
traceroute \
|
|
translate \
|
|
|
|
config-extratools := \
|
|
bisect_iv \
|
|
|
|
ifeq ($(BUILD_VARIANT),tiny)
|
|
|
|
config-y := \
|
|
$(config-settings) \
|
|
|
|
endif
|
|
|
|
ifeq ($(BUILD_VARIANT),default)
|
|
|
|
config-y := \
|
|
$(config-settings) \
|
|
$(config-tables) \
|
|
$(config-json) \
|
|
$(config-tools) \
|
|
|
|
endif
|
|
|
|
ifeq ($(BUILD_VARIANT),full)
|
|
|
|
config-y := \
|
|
$(config-settings) \
|
|
$(config-tables) \
|
|
$(config-json) \
|
|
$(config-tools) \
|
|
$(config-extratools) \
|
|
|
|
endif
|
|
|
|
define ConfigVars
|
|
$(subst $(space),,$(foreach opt,$(config-$(1)),CONFIG_$(opt)=$(1)
|
|
))
|
|
endef
|
|
|
|
define batctl_config
|
|
$(call ConfigVars,n)$(call ConfigVars,y)
|
|
endef
|
|
$(eval $(call shexport,batctl_config))
|
|
|
|
MAKE_FLAGS += $$$$$(call shvar,batctl_config)
|
|
|
|
define Package/batctl-tiny/install
|
|
$(INSTALL_DIR) $(1)/usr/libexec
|
|
$(INSTALL_BIN) $(PKG_BUILD_DIR)/batctl $(1)/usr/libexec/batctl-tiny
|
|
endef
|
|
|
|
define Package/batctl-default/install
|
|
$(INSTALL_DIR) $(1)/usr/libexec
|
|
$(INSTALL_BIN) $(PKG_BUILD_DIR)/batctl $(1)/usr/libexec/batctl-default
|
|
endef
|
|
|
|
define Package/batctl-full/install
|
|
$(INSTALL_DIR) $(1)/usr/libexec
|
|
$(INSTALL_BIN) $(PKG_BUILD_DIR)/batctl $(1)/usr/libexec/batctl-full
|
|
endef
|
|
|
|
$(eval $(call BuildPackage,batctl-default))
|
|
$(eval $(call BuildPackage,batctl-tiny))
|
|
$(eval $(call BuildPackage,batctl-full))
|