# # 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))