mirror of
https://git.openwrt.org/feed/routing.git
synced 2024-06-13 18:53:54 +02:00
017d89d569
The mcast_flags subcommand allows to query the mcast_flags of the current
device and of the seen originators. It should be enabled for the default
and full variants. But the configuration string wasn't correctly included
in the list when the variants were prepared and thus disabled in all
variants.
Reported-by: Linus Lüssing <linus.luessing@c0d3.blue>
Fixes: 1299868252
("batctl: Provide different variants")
Signed-off-by: Sven Eckelmann <sven@narfation.org>
248 lines
5.5 KiB
Makefile
248 lines
5.5 KiB
Makefile
#
|
|
# Copyright (C) 2014 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:=batctl
|
|
|
|
PKG_VERSION:=2019.2
|
|
PKG_RELEASE:=6
|
|
PKG_HASH:=fb656208ff7d4cd8b1b422f60c9e6d8747302a347cbf6c199d7afa9b80f80ea3
|
|
|
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
|
PKG_SOURCE_URL:=https://downloads.open-mesh.org/batman/releases/batman-adv-$(PKG_VERSION)
|
|
PKG_LICENSE:=GPL-2.0
|
|
|
|
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
|
|
|
|
include $(INCLUDE_DIR)/package.mk
|
|
|
|
define Package/batctl/Default
|
|
URL:=https://www.open-mesh.org/
|
|
SECTION:=net
|
|
CATEGORY:=Network
|
|
DEPENDS:=+libnl-tiny +libc +librt
|
|
PROVIDES:=batctl
|
|
MAINTAINER:=Simon Wunderlich <sw@simonwunderlich.de>
|
|
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
|
|
PROVIDES:=batctl
|
|
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
|
|
|
|
# The linker can identify unused sections of a binary when each symbol is stored
|
|
# in a separate section. This mostly removes unused linker sections and reduces
|
|
# the size by ~3% on mipsel.
|
|
|
|
TARGET_CFLAGS += -ffunction-sections -fdata-sections
|
|
TARGET_LDFLAGS += -Wl,--gc-sections
|
|
|
|
# Link-time optimization allows to move parts of the optimization from the single
|
|
# source file to the global source view. This is done by emitting the GIMPLE
|
|
# representation in each object file and analyzing it again during the link step.
|
|
|
|
TARGET_CFLAGS += -flto
|
|
TARGET_LDFLAGS += -fuse-linker-plugin
|
|
|
|
MAKE_BATCTL_ENV += \
|
|
CPPFLAGS="$(TARGET_CPPFLAGS)" \
|
|
CFLAGS="$(TARGET_CFLAGS)" \
|
|
LDFLAGS="$(TARGET_LDFLAGS)" \
|
|
LIBNL_NAME="libnl-tiny" \
|
|
LIBNL_GENL_NAME="libnl-tiny"
|
|
|
|
MAKE_BATCTL_ARGS += \
|
|
REVISION="$(PKG_BATCTL_SHORTREV)" \
|
|
CC="$(TARGET_CC)" \
|
|
DESTDIR="$(PKG_INSTALL_DIR)" \
|
|
batctl install \
|
|
REVISION="openwrt-$(PKG_VERSION)-$(PKG_RELEASE)"
|
|
|
|
config-n := \
|
|
aggregation \
|
|
ap_isolation \
|
|
backbonetable \
|
|
bisect_iv \
|
|
bonding \
|
|
bridge_loop_avoidance \
|
|
claimtable \
|
|
dat_cache \
|
|
distributed_arp_table \
|
|
elp_interval \
|
|
event \
|
|
fragmentation \
|
|
gateways \
|
|
gw_mode \
|
|
hop_penalty \
|
|
interface \
|
|
isolation_mark \
|
|
loglevel \
|
|
mcast_flags \
|
|
multicast_fanout \
|
|
multicast_forceflood \
|
|
multicast_mode \
|
|
nc_nodes \
|
|
neighbors \
|
|
network_coding \
|
|
orig_interval \
|
|
originators \
|
|
ping \
|
|
routing_algo \
|
|
statistics \
|
|
tcpdump \
|
|
throughput_override \
|
|
throughputmeter \
|
|
traceroute \
|
|
transglobal \
|
|
translate \
|
|
translocal \
|
|
|
|
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 \
|
|
nc_nodes \
|
|
neighbors \
|
|
originators \
|
|
statistics \
|
|
transglobal \
|
|
translocal \
|
|
|
|
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-tools) \
|
|
|
|
endif
|
|
|
|
ifeq ($(BUILD_VARIANT),full)
|
|
|
|
config-y := \
|
|
$(config-settings) \
|
|
$(config-tables) \
|
|
$(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))
|
|
|
|
define Build/Compile
|
|
$(MAKE_BATCTL_ENV) $(MAKE) -C "$(PKG_BUILD_DIR)" $(MAKE_BATCTL_ARGS) \
|
|
$$$$$(call shvar,batctl_config)
|
|
endef
|
|
|
|
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))
|