#
-# Copyright (C) 2008-2012 OpenWrt.org
+# Copyright (C) 2013 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:=firewall
+PKG_VERSION:=2013-06-05
+PKG_RELEASE:=$(PKG_SOURCE_VERSION)
+
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_URL:=git://nbd.name/firewall3.git
+PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
+PKG_SOURCE_VERSION:=6e6a38ea87aebeaefe70869c226cadad0312f144
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
+PKG_MAINTAINER:=Jo-Philipp Wich <jow@openwrt.org>
-PKG_VERSION:=2
-PKG_RELEASE:=53
include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/firewall
SECTION:=net
CATEGORY:=Base system
- URL:=http://openwrt.org/
- TITLE:=OpenWrt firewall
- MAINTAINER:=Jo-Philipp Wich <xm@subsignal.org>
- DEPENDS:=+iptables +kmod-ipt-conntrack +kmod-ipt-nat
- PKGARCH:=all
+ TITLE:=OpenWrt C Firewall
+ DEPENDS:=+libubox +libubus +libuci +libip4tc +IPV6:libip6tc +libxtables
endef
define Package/firewall/description
- UCI based firewall for OpenWrt
-endef
-
-define Build/Compile
- true
+ This package provides a config-compatible C implementation of the UCI firewall.
endef
define Package/firewall/conffiles
/etc/firewall.user
endef
+define Build/Configure
+ $(foreach file,$(wildcard $(STAGING_DIR)/usr/lib/iptables/libext*.a),$(CP) $(file) $(PKG_BUILD_DIR)/$(notdir $(file));)
+ $(call Build/Configure/Default)
+endef
+
+TARGET_CFLAGS += -ffunction-sections -fdata-sections
+TARGET_LDFLAGS += -Wl,--gc-sections
+CMAKE_OPTIONS += $(if $(CONFIG_IPV6),,-DDISABLE_IPV6=1)
+
define Package/firewall/install
- $(INSTALL_DIR) $(1)/lib/firewall
- $(INSTALL_DATA) ./files/lib/*.sh $(1)/lib/firewall
$(INSTALL_DIR) $(1)/sbin
- $(INSTALL_BIN) ./files/bin/fw $(1)/sbin
- $(INSTALL_DIR) $(1)/etc/config
- $(INSTALL_DATA) ./files/firewall.config $(1)/etc/config/firewall
- $(INSTALL_DIR) $(1)/etc/init.d/
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/firewall3 $(1)/sbin/fw3
+ $(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/firewall.init $(1)/etc/init.d/firewall
$(INSTALL_DIR) $(1)/etc/hotplug.d/iface
$(INSTALL_DATA) ./files/firewall.hotplug $(1)/etc/hotplug.d/iface/20-firewall
- $(INSTALL_DIR) $(1)/etc/hotplug.d/firewall
- $(INSTALL_DATA) ./files/reflection.hotplug $(1)/etc/hotplug.d/firewall/10-nat-reflection
- $(INSTALL_DIR) $(1)/etc
- $(INSTALL_DATA) ./files/firewall.user $(1)/etc
- $(INSTALL_DIR) $(1)/lib/upgrade/keep.d
- $(INSTALL_DATA) ./files/firewall.upgrade $(1)/lib/upgrade/keep.d/firewall
+ $(INSTALL_DIR) $(1)/etc/config/
+ $(INSTALL_DATA) ./files/firewall.config $(1)/etc/config/firewall
+ $(INSTALL_DIR) $(1)/etc/
+ $(INSTALL_DATA) ./files/firewall.user $(1)/etc/firewall.user
endef
$(eval $(call BuildPackage,firewall))