X-Git-Url: http://git.openwrt.org/?a=blobdiff_plain;f=batctl%2FMakefile;h=4c8438e438d870848f6bc02c558d3856c6c3b151;hb=6d40c7863924074fee8d421c7040c4bfecf07b4c;hp=174b18eafaec671ada029beeda3ac0c87d7786f8;hpb=500c4dc8e06cb88e7d28b51528283fa0f7314e32;p=feed%2Frouting.git diff --git a/batctl/Makefile b/batctl/Makefile index 174b18e..4c8438e 100644 --- a/batctl/Makefile +++ b/batctl/Makefile @@ -1,40 +1,71 @@ -# -# Copyright (C) 2014 OpenWrt.org -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# +# SPDX-License-Identifier: GPL-2.0-only include $(TOPDIR)/rules.mk PKG_NAME:=batctl - -PKG_VERSION:=2016.2 -PKG_RELEASE:=0 -PKG_MD5SUM:=50f42d06611afae58ccfcde502f94c1a +PKG_VERSION:=2020.1 +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_LICENSE:=GPL-2.0 +PKG_HASH:=a3e21cbac5f7103925872d80d806d8677f034f8ae8bb6bf6296af81ab028c23b +PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION) -PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)/$(PKG_NAME)-$(PKG_VERSION) +PKG_MAINTAINER:=Simon Wunderlich +PKG_LICENSE:=GPL-2.0-only ISC MIT +PKG_LICENSE_FILES:=LICENSES/preferred/GPL-2.0 LICENSES/preferred/MIT LICENSES/deprecated/ISC include $(INCLUDE_DIR)/package.mk -define Package/batctl - URL:=https://www.open-mesh.org/ +define Package/batctl/Default SECTION:=net CATEGORY:=Network - DEPENDS:=+kmod-batman-adv +libnl-tiny +libc - TITLE:=B.A.T.M.A.N. Advanced user space configuration tool batctl - MAINTAINER:=Marek Lindner + 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. + 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 # The linker can identify unused sections of a binary when each symbol is stored @@ -51,30 +82,150 @@ TARGET_LDFLAGS += -Wl,--gc-sections TARGET_CFLAGS += -flto TARGET_LDFLAGS += -fuse-linker-plugin -MAKE_BATCTL_ENV += \ - CPPFLAGS="$(TARGET_CPPFLAGS)" \ - CFLAGS="$(TARGET_CFLAGS)" \ - LDFLAGS="$(TARGET_LDFLAGS)" \ - LIBNL_NAME="libnl-tiny" +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 \ + 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 \ + loglevel \ + 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 -MAKE_BATCTL_ARGS += \ - REVISION="$(PKG_BATCTL_SHORTREV)" \ - CC="$(TARGET_CC)" \ - DESTDIR="$(PKG_INSTALL_DIR)" \ - batctl install +define batctl_config +$(call ConfigVars,n)$(call ConfigVars,y) +endef +$(eval $(call shexport,batctl_config)) +MAKE_FLAGS += $$$$$(call shvar,batctl_config) -define Build/Compile - $(MAKE_BATCTL_ENV) $(MAKE) -C "$(PKG_BUILD_DIR)" $(MAKE_BATCTL_ARGS) +define Package/batctl-tiny/install + $(INSTALL_DIR) $(1)/usr/libexec + $(INSTALL_BIN) $(PKG_BUILD_DIR)/batctl $(1)/usr/libexec/batctl-tiny endef -define Build/Clean - rm -rf $(BUILD_DIR)/$(PKG_NAME)/ +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/install - $(INSTALL_DIR) $(1)/usr/sbin - $(INSTALL_BIN) $(PKG_BUILD_DIR)/batctl $(1)/usr/sbin/ +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)) +$(eval $(call BuildPackage,batctl-default)) +$(eval $(call BuildPackage,batctl-tiny)) +$(eval $(call BuildPackage,batctl-full))