aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>2020-03-25 09:13:46 +0000
committerKevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>2020-03-29 17:27:54 +0100
commit94dae0f191e854e47f0e05a47fb5c47e22d3e482 (patch)
tree007ab59f26ae8856cb20b78ccbe43bab2194263a
parent9e835377ada3f8a44a95e822e0f81f71b466f1c9 (diff)
downloadupstream-94dae0f191e854e47f0e05a47fb5c47e22d3e482.tar.gz
upstream-94dae0f191e854e47f0e05a47fb5c47e22d3e482.tar.bz2
upstream-94dae0f191e854e47f0e05a47fb5c47e22d3e482.zip
nftables: implement no/json variants
Replace the build time choice of json support with a package based choice. Users requiring a json aware version of 'nft' may now install nftables-json. The default choice to fulfill the 'nftables' package dependency is 'nftables-nojson' Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
-rw-r--r--package/network/utils/nftables/Makefile40
1 files changed, 26 insertions, 14 deletions
diff --git a/package/network/utils/nftables/Makefile b/package/network/utils/nftables/Makefile
index 3c9c827a99..67906f8b7d 100644
--- a/package/network/utils/nftables/Makefile
+++ b/package/network/utils/nftables/Makefile
@@ -13,7 +13,7 @@ PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=https://netfilter.org/projects/$(PKG_NAME)/files
PKG_HASH:=956b915ce2a7aeaff123e49006be7a0690a0964e96c062703181a36e2e5edb78
-PKG_MAINTAINER:=Steven Barth <steven@midlink.org>
+PKG_MAINTAINER:=
PKG_LICENSE:=GPL-2.0
PKG_FIXUP:=autoreconf
@@ -28,33 +28,45 @@ CONFIGURE_ARGS += \
--disable-man-doc \
--with-mini-gmp \
--without-cli \
- --disable-python \
+ --disable-python
-define Package/nftables
+define Package/nftables/Default
SECTION:=net
CATEGORY:=Network
SUBMENU:=Firewall
- TITLE:=nftables packet filtering userspace utility
- DEPENDS:=+kmod-nft-core +libnftnl +PACKAGE_NFT_WITH_JSON:jansson
+ TITLE:=nftables userspace utility
+ DEPENDS:=+kmod-nft-core +libnftnl
URL:=http://netfilter.org/projects/nftables/
+ PROVIDES:=nftables
endef
-define Package/nftables/config
- config PACKAGE_NFT_WITH_JSON
- bool "Build nftables with json support"
- depends on PACKAGE_nftables
- default n
+define Package/nftables-nojson
+ $(Package/nftables/Default)
+ TITLE+= no JSON support
+ VARIANT:=nojson
+ DEFAULT_VARIANT:=1
endef
-ifeq ($(CONFIG_PACKAGE_NFT_WITH_JSON),y)
-CONFIGURE_ARGS += --with-json
+define Package/nftables-json
+ $(Package/nftables/Default)
+ TITLE+= with JSON support
+ VARIANT:=json
+ DEPENDS+=+jansson
+endef
+
+ifeq ($(BUILD_VARIANT),json)
+ CONFIGURE_ARGS += --with-json
endif
-define Package/nftables/install
+define Package/nftables/install/Default
$(INSTALL_DIR) $(1)/usr/sbin
$(CP) $(PKG_INSTALL_DIR)/usr/sbin/nft $(1)/usr/sbin/
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib/
endef
-$(eval $(call BuildPackage,nftables))
+Package/nftables-nojson/install = $(Package/nftables/install/Default)
+Package/nftables-json/install = $(Package/nftables/install/Default)
+
+$(eval $(call BuildPackage,nftables-nojson))
+$(eval $(call BuildPackage,nftables-json))