- #
- # 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_SOURCE_PROTO:=git
- PKG_SOURCE_URL:=https://github.com/miniupnp/miniupnp.git
- PKG_SOURCE_DATE:=2022-08-31
- PKG_SOURCE_VERSION:=68c8ec508a421f4f4af67a63e3eb6f497d2531e1
- PKG_MIRROR_HASH:=68a3170ec73149c4cf4855b1ce6e031557cc12bff85a58421bb94785daaf225d
- PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)/miniupnpd
-
- PKG_RELEASE:=1
-
- 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
-
- TAR_OPTIONS+= --strip-components 1
- TAR_CMD=$(HOST_TAR) -C $(1)/.. $(TAR_OPTIONS)
-
- 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)
- 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
- DEFAULT_VARIANT:=1
- CONFLICTS:=miniupnpd-iptables
- 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)
- $(INSTALL_DIR) $(1)/etc/uci-defaults
- $(INSTALL_DIR) $(1)/usr/share/miniupnpd
- $(INSTALL_BIN) ./files/miniupnpd.defaults.nftables $(1)/etc/uci-defaults/99-miniupnpd
- $(INSTALL_DATA) ./files/firewall4.include $(1)/usr/share/miniupnpd/firewall.include
- $(INSTALL_DIR) $(1)/usr/share/nftables.d
- $(CP) ./files/nftables.d/* $(1)/usr/share/nftables.d/
- endef
-
- $(eval $(call BuildPackage,miniupnpd-iptables))
- $(eval $(call BuildPackage,miniupnpd-nftables))
|