From 94dae0f191e854e47f0e05a47fb5c47e22d3e482 Mon Sep 17 00:00:00 2001 From: Kevin Darbyshire-Bryant Date: Wed, 25 Mar 2020 09:13:46 +0000 Subject: [PATCH] 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 --- package/network/utils/nftables/Makefile | 40 ++++++++++++++++--------- 1 file 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 +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)) -- 2.25.1