The next OpenWrt stable release aims to use firewall4 by default. As this uses nftables as backend, miniupnpd will no longer work. Create an iptables and nftables variant of the miniupnpd package so that miniupnpd can be used with either firewall variant. See #16818 for more info. Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
114 lines
2.9 KiB
Makefile
114 lines
2.9 KiB
Makefile
#
|
|
# Copyright (C) 2006-2014 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:=miniupnpd
|
|
PKG_VERSION:=2.2.3
|
|
PKG_RELEASE:=2
|
|
|
|
PKG_SOURCE_URL:=https://miniupnp.tuxfamily.org/files
|
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
|
PKG_HASH:=f89c310ce9575183af3fec61af65e548f85114133df8caaaa9e204c13b7a9da5
|
|
|
|
PKG_MAINTAINER:=
|
|
PKG_LICENSE:=BSD-3-Clause
|
|
PKG_LICENSE_FILES:=LICENSE
|
|
PKG_CPE_ID:=cpe:/a:miniupnp_project:miniupnpd
|
|
|
|
PKG_INSTALL:=1
|
|
PKG_BUILD_PARALLEL:=1
|
|
|
|
include $(INCLUDE_DIR)/package.mk
|
|
include $(INCLUDE_DIR)/version.mk
|
|
|
|
define Package/miniupnpd/Default
|
|
SECTION:=net
|
|
CATEGORY:=Network
|
|
DEPENDS:= \
|
|
+libcap-ng \
|
|
+libmnl \
|
|
+libuuid
|
|
PROVIDES:=miniupnpd
|
|
TITLE:=Lightweight UPnP IGD, NAT-PMP & PCP daemon
|
|
SUBMENU:=Firewall
|
|
URL:=https://miniupnp.tuxfamily.org/
|
|
endef
|
|
|
|
define Package/miniupnpd-iptables
|
|
$(call Package/miniupnpd/Default)
|
|
CONFLICTS:=miniupnpd-nftables
|
|
DEPENDS+= \
|
|
+IPV6:ip6tables \
|
|
+IPV6:libip6tc \
|
|
+iptables \
|
|
+libip4tc \
|
|
+libnetfilter-conntrack
|
|
TITLE+= (iptables)
|
|
VARIANT:=iptables
|
|
endef
|
|
|
|
define Package/miniupnpd-nftables
|
|
$(call Package/miniupnpd/Default)
|
|
DEPENDS+= \
|
|
+libnftnl
|
|
TITLE+= (nftables)
|
|
VARIANT:=nftables
|
|
endef
|
|
|
|
define Package/miniupnpd/conffiles/Default
|
|
/etc/config/upnpd
|
|
endef
|
|
|
|
Package/miniupnpd-iptables/conffiles = $(Package/miniupnpd/conffiles/Default)
|
|
Package/miniupnpd-nftables/conffiles = $(Package/miniupnpd/conffiles/Default)
|
|
|
|
define Build/Prepare
|
|
$(call Build/Prepare/Default)
|
|
echo "$(VERSION_NUMBER)" | tr '() ' '_' >$(PKG_BUILD_DIR)/os.openwrt
|
|
endef
|
|
|
|
CONFIGURE_ARGS = \
|
|
$(if $(CONFIG_IPV6),--ipv6) \
|
|
--igd2 \
|
|
--leasefile \
|
|
--portinuse \
|
|
--firewall=$(BUILD_VARIANT) \
|
|
--disable-fork
|
|
|
|
TARGET_CFLAGS += $(FPIC)
|
|
TARGET_LDFLAGS += -Wl,--gc-sections,--as-needed
|
|
|
|
ifeq ($(BUILD_VARIANT),iptables)
|
|
TARGET_CFLAGS += -flto
|
|
endif
|
|
|
|
define Package/miniupnpd/install/Default
|
|
$(INSTALL_DIR) $(1)/usr/sbin
|
|
$(INSTALL_DIR) $(1)/etc/init.d
|
|
$(INSTALL_DIR) $(1)/etc/config
|
|
$(INSTALL_DIR) $(1)/etc/hotplug.d/iface
|
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/miniupnpd $(1)/usr/sbin/miniupnpd
|
|
$(INSTALL_BIN) ./files/miniupnpd.init $(1)/etc/init.d/miniupnpd
|
|
$(INSTALL_CONF) ./files/upnpd.config $(1)/etc/config/upnpd
|
|
$(INSTALL_DATA) ./files/miniupnpd.hotplug $(1)/etc/hotplug.d/iface/50-miniupnpd
|
|
endef
|
|
|
|
define Package/miniupnpd-iptables/install
|
|
$(call Package/miniupnpd/install/Default,$1)
|
|
$(INSTALL_DIR) $(1)/etc/uci-defaults
|
|
$(INSTALL_DIR) $(1)/usr/share/miniupnpd
|
|
$(INSTALL_BIN) ./files/miniupnpd.defaults.iptables $(1)/etc/uci-defaults/99-miniupnpd
|
|
$(INSTALL_DATA) ./files/firewall3.include $(1)/usr/share/miniupnpd/firewall.include
|
|
endef
|
|
|
|
define Package/miniupnpd-nftables/install
|
|
$(call Package/miniupnpd/install/Default,$1)
|
|
endef
|
|
|
|
$(eval $(call BuildPackage,miniupnpd-iptables))
|
|
$(eval $(call BuildPackage,miniupnpd-nftables))
|