mirror of https://github.com/hak5/openwrt.git
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>master
parent
9e835377ad
commit
94dae0f191
|
@ -13,7 +13,7 @@ PKG_RELEASE:=1
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
||||||
PKG_SOURCE_URL:=https://netfilter.org/projects/$(PKG_NAME)/files
|
PKG_SOURCE_URL:=https://netfilter.org/projects/$(PKG_NAME)/files
|
||||||
PKG_HASH:=956b915ce2a7aeaff123e49006be7a0690a0964e96c062703181a36e2e5edb78
|
PKG_HASH:=956b915ce2a7aeaff123e49006be7a0690a0964e96c062703181a36e2e5edb78
|
||||||
PKG_MAINTAINER:=Steven Barth <steven@midlink.org>
|
PKG_MAINTAINER:=
|
||||||
PKG_LICENSE:=GPL-2.0
|
PKG_LICENSE:=GPL-2.0
|
||||||
|
|
||||||
PKG_FIXUP:=autoreconf
|
PKG_FIXUP:=autoreconf
|
||||||
|
@ -28,33 +28,45 @@ CONFIGURE_ARGS += \
|
||||||
--disable-man-doc \
|
--disable-man-doc \
|
||||||
--with-mini-gmp \
|
--with-mini-gmp \
|
||||||
--without-cli \
|
--without-cli \
|
||||||
--disable-python \
|
--disable-python
|
||||||
|
|
||||||
define Package/nftables
|
define Package/nftables/Default
|
||||||
SECTION:=net
|
SECTION:=net
|
||||||
CATEGORY:=Network
|
CATEGORY:=Network
|
||||||
SUBMENU:=Firewall
|
SUBMENU:=Firewall
|
||||||
TITLE:=nftables packet filtering userspace utility
|
TITLE:=nftables userspace utility
|
||||||
DEPENDS:=+kmod-nft-core +libnftnl +PACKAGE_NFT_WITH_JSON:jansson
|
DEPENDS:=+kmod-nft-core +libnftnl
|
||||||
URL:=http://netfilter.org/projects/nftables/
|
URL:=http://netfilter.org/projects/nftables/
|
||||||
|
PROVIDES:=nftables
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/nftables/config
|
define Package/nftables-nojson
|
||||||
config PACKAGE_NFT_WITH_JSON
|
$(Package/nftables/Default)
|
||||||
bool "Build nftables with json support"
|
TITLE+= no JSON support
|
||||||
depends on PACKAGE_nftables
|
VARIANT:=nojson
|
||||||
default n
|
DEFAULT_VARIANT:=1
|
||||||
endef
|
endef
|
||||||
|
|
||||||
ifeq ($(CONFIG_PACKAGE_NFT_WITH_JSON),y)
|
define Package/nftables-json
|
||||||
CONFIGURE_ARGS += --with-json
|
$(Package/nftables/Default)
|
||||||
|
TITLE+= with JSON support
|
||||||
|
VARIANT:=json
|
||||||
|
DEPENDS+=+jansson
|
||||||
|
endef
|
||||||
|
|
||||||
|
ifeq ($(BUILD_VARIANT),json)
|
||||||
|
CONFIGURE_ARGS += --with-json
|
||||||
endif
|
endif
|
||||||
|
|
||||||
define Package/nftables/install
|
define Package/nftables/install/Default
|
||||||
$(INSTALL_DIR) $(1)/usr/sbin
|
$(INSTALL_DIR) $(1)/usr/sbin
|
||||||
$(CP) $(PKG_INSTALL_DIR)/usr/sbin/nft $(1)/usr/sbin/
|
$(CP) $(PKG_INSTALL_DIR)/usr/sbin/nft $(1)/usr/sbin/
|
||||||
$(INSTALL_DIR) $(1)/usr/lib
|
$(INSTALL_DIR) $(1)/usr/lib
|
||||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib/
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib/
|
||||||
endef
|
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))
|
||||||
|
|
Loading…
Reference in New Issue