public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: net-misc/miniupnpd/files/, net-misc/miniupnpd/
@ 2016-05-23  8:29 Bjarke Istrup Pedersen
  0 siblings, 0 replies; 4+ messages in thread
From: Bjarke Istrup Pedersen @ 2016-05-23  8:29 UTC (permalink / raw
  To: gentoo-commits

commit:     0111f20451cfdba067d1cd91c3a0b0680d11ce67
Author:     Bjarke Istrup Pedersen <gurligebis <AT> gentoo <DOT> org>
AuthorDate: Mon May 23 08:28:32 2016 +0000
Commit:     Bjarke Istrup Pedersen <gurligebis <AT> gentoo <DOT> org>
CommitDate: Mon May 23 08:29:20 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0111f204

net-misc/miniupnpd: Removing old versions

Package-Manager: portage-2.3.0_rc1

 net-misc/miniupnpd/Manifest                        |   2 -
 .../miniupnpd/files/miniupnpd-1.10-build.patch     |  83 --------------
 .../files/miniupnpd-1.10_pre20160222-build.patch   | 125 ---------------------
 .../miniupnpd/miniupnpd-1.10_pre20150721.ebuild    |  63 -----------
 .../miniupnpd/miniupnpd-1.10_pre20160222.ebuild    |  76 -------------
 5 files changed, 349 deletions(-)

diff --git a/net-misc/miniupnpd/Manifest b/net-misc/miniupnpd/Manifest
index a75232f..a384c0e 100644
--- a/net-misc/miniupnpd/Manifest
+++ b/net-misc/miniupnpd/Manifest
@@ -1,3 +1 @@
-DIST miniupnpd-1.9.20150721.tar.gz 207562 SHA256 9340224e5023ecb5d1b7f45e4d69734dcfbadbe41a80d1f0182347e6b8104470 SHA512 ed060a19bfb8f285c10d0c86ca54b646d8cad6baf29266bb395fe75ec23de63986a51362281213e9a14cd14225cc19a33cf404a139a55c7b0f72ced78581c660 WHIRLPOOL 9050b20f6118c63fe9d1cce8c8710e47e9e491ff28a1df29bf4b7a1e4e57fa537b06ce8ed667c1bc138e63dc23ba95a793980a32586c84a4728aa5977d10c6d4
-DIST miniupnpd-1.9.20160222.tar.gz 217541 SHA256 e7d9d071876ac2ed41a04fe4436f8a8d4329c5c31d940e98c6666ca26823c960 SHA512 ebc24a69fde793a537c46bc1e2107f94a17b0d8818aa23a4b6faeb2b735f35db840a6ccc49efbe62a3960ad1f346bbb183b6d06eb5ac42c98c2d56c02869fdda WHIRLPOOL 12ef3a7861b2238cd806836a972438c2b60c9f2558aee2a36eb8f6dbea149dc289447697d55b11147c20cee9fde5f1bc7fbd13e86190b82a47d7d2242482774b
 DIST miniupnpd-2.0.tar.gz 217802 SHA256 d96aa3a00e0f5490826bba3cb97e68cd27479e5839adac4b9bcb66eae786bfb7 SHA512 c88036d3f4b065fc855572db8945d921641a71a23ffe8b52cb4ccb1a7cf3e7396841c436d54d7ff5968d034d8c4bfc91630719959000436230bb8c37e5bdc8d4 WHIRLPOOL d6aec880c9ef3c70002fdf9a98a0e8f4de95d8b3c9c6a18e328bc94d7dc3b8c130829c8ea6117e27e5b0aac1cd4526bbc9d9de21bd13e7b5527db54a656a1fff

diff --git a/net-misc/miniupnpd/files/miniupnpd-1.10-build.patch b/net-misc/miniupnpd/files/miniupnpd-1.10-build.patch
deleted file mode 100644
index 8b0fefc..0000000
--- a/net-misc/miniupnpd/files/miniupnpd-1.10-build.patch
+++ /dev/null
@@ -1,83 +0,0 @@
---- a/Makefile.linux
-+++ b/Makefile.linux
-@@ -75,70 +75,10 @@ LDFLAGS += $(shell $(PKG_CONFIG) --libs-
- LDFLAGS += $(shell $(PKG_CONFIG) --libs-only-other libiptc)
- else
- 
--ifeq "$(wildcard /etc/gentoo-release )" ""
--LDLIBS ?= -liptc
--else # gentoo
--# the following is better, at least on gentoo with iptables 1.4.6
--# see http://miniupnp.tuxfamily.org/forum/viewtopic.php?p=1618
--# and http://miniupnp.tuxfamily.org/forum/viewtopic.php?p=2183
--LDLIBS ?= -lip4tc
--CPPFLAGS := -DIPTABLES_143 $(CPPFLAGS)
--endif
--
--ARCH ?= $(shell uname -m | grep -q "x86_64" && echo 64)
--ifdef IPTABLESPATH
--CPPFLAGS := $(CPPFLAGS) -I$(IPTABLESPATH)/include/
--LDFLAGS := $(LDFLAFGS) -L$(IPTABLESPATH)/libiptc/
--# get iptables version and set IPTABLES_143 macro if needed
--ifeq ($(TARGET_OPENWRT),)
--IPTABLESVERSION := $(shell grep "\#define VERSION" $(IPTABLESPATH)/config.h | tr -d \" |cut -d" " -f3 )
--IPTABLESVERSION1 := $(shell echo $(IPTABLESVERSION) | cut -d. -f1 )
--IPTABLESVERSION2 := $(shell echo $(IPTABLESVERSION) | cut -d. -f2 )
--IPTABLESVERSION3 := $(shell echo $(IPTABLESVERSION) | cut -d. -f3 )
--# test if iptables version >= 1.4.3
--TEST := $(shell [ \( \( $(IPTABLESVERSION1) -ge 1 \) -a \( $(IPTABLESVERSION2) -ge 4 \) \) -a \( $(IPTABLESVERSION3) -ge 3 \) ] && echo 1 )
--ifeq ($(TEST), 1)
--CPPFLAGS := $(CPPFLAGS) -DIPTABLES_143
--# the following sucks, but works
--LDLIBS = $(IPTABLESPATH)/libiptc/.libs/libip4tc.o
--#LDLIBS = $(IPTABLESPATH)/libiptc/.libs/libiptc.a
--else # ifeq ($(TEST), 1)
--LDLIBS = $(IPTABLESPATH)/libiptc/libiptc.a
--endif # ifeq ($(TEST), 1)
--else # ($(TARGET_OPENWRT),)
--# openWRT :
--# check for system-wide iptables files. Test if iptables version >= 1.4.3
--# the following test has to be verified :
--TEST := $(shell test -f /usr/include/iptables/internal.h && grep -q "\#define IPTABLES_VERSION" /usr/include/iptables/internal.h && echo 1)
--ifeq ($(TEST), 1)
--CPPFLAGS := $(CPPFLAGS) -DIPTABLES_143
--LDLIBS = -liptc
--endif  # ($(TEST), 1)
--TEST_LIB := $(shell test -f /usr/lib$(ARCH)/libiptc.a && echo 1)
--ifeq ($(TEST_LIB), 1)
--LDLIBS = -liptc /usr/lib$(ARCH)/libiptc.a
--endif # ($(TEST_LIB), 1)
--endif # ($(TARGET_OPENWRT),)
--else # ifdef IPTABLESPATH
--# IPTABLESPATH not defined
--# the following test has to be verified :
--TEST := $(shell test -f /usr/include/xtables.h && grep -q "XTABLES_VERSION_CODE" /usr/include/xtables.h && echo 1)
--ifeq ($(TEST), 1)
--CPPFLAGS := $(CPPFLAGS) -DIPTABLES_143
--LDLIBS = -liptc
--TESTIP4TC := $(shell test -f /lib/libip4tc.so && echo 1)
--ifeq ($(TESTIP4TC), 1)
--LDLIBS := $(LDLIBS) -lip4tc
--endif # ($(TESTIP4TC), 1)
--TESTIP6TC := $(shell test -f /lib/libip6tc.so && echo 1)
--ifeq ($(TESTIP6TC), 1)
--LDLIBS := $(LDLIBS) -lip6tc
--endif # ($(TESTIP6TC), 1)
--endif # ($(TEST), 1)
--endif # ifdef IPTABLESPATH
- endif # ifdef PCFILE_FOUND
- 
--#LDLIBS += -lnfnetlink
-+LDLIBS += -lip4tc
-+CPPFLAGS += -DIPTABLES_143
- 
- TEST := $(shell $(PKG_CONFIG) --atleast-version=1.0.2 libnetfilter_conntrack && $(PKG_CONFIG) --atleast-version=1.0.3 libmnl && echo 1)
- ifeq ($(TEST),1)
-@@ -184,7 +124,6 @@ install:	miniupnpd miniupnpd.8 miniupnpd
- 	$(INSTALL) linux/miniupnpd.init.d.script $(DESTDIR)$(PREFIX)/etc/init.d/miniupnpd
- 	$(INSTALL) -d $(DESTDIR)$(MANINSTALLDIR)
- 	$(INSTALL) --mode=0644 miniupnpd.8 $(DESTDIR)$(MANINSTALLDIR)
--	gzip -f $(DESTDIR)$(MANINSTALLDIR)/miniupnpd.8
- 
- # genuuid is using the uuidgen CLI tool which is part of libuuid
- # from the e2fsprogs

diff --git a/net-misc/miniupnpd/files/miniupnpd-1.10_pre20160222-build.patch b/net-misc/miniupnpd/files/miniupnpd-1.10_pre20160222-build.patch
deleted file mode 100644
index 3323b1c..0000000
--- a/net-misc/miniupnpd/files/miniupnpd-1.10_pre20160222-build.patch
+++ /dev/null
@@ -1,125 +0,0 @@
-diff --git a/Makefile.linux b/Makefile.linux
-index ce6b994..e535c38 100644
---- a/Makefile.linux
-+++ b/Makefile.linux
-@@ -36,6 +36,7 @@ INSTALL = install
- STRIP ?= strip
- PKG_CONFIG ?= pkg-config
- CP = cp
-+LDLIBS_IPV6 :=
- 
- 
- INSTALLPREFIX ?= $(PREFIX)/usr
-@@ -55,90 +56,8 @@ NETFILTEROBJS = netfilter/iptcrdr.o netfilter/iptpinhole.o netfilter/nfct_get.o
- 
- ALLOBJS = $(BASEOBJS) $(LNXOBJS) $(NETFILTEROBJS)
- 
--PCFILE_FOUND := $(shell $(PKG_CONFIG) --exists libiptc; echo $$?)
--
--ifeq (${PCFILE_FOUND},0)
--
--IPTABLESVERSION := $(shell $(PKG_CONFIG) --modversion libiptc)
--IPTABLESVERSION1 := $(shell echo $(IPTABLESVERSION) | cut -d. -f1 )
--IPTABLESVERSION2 := $(shell echo $(IPTABLESVERSION) | cut -d. -f2 )
--IPTABLESVERSION3 := $(shell echo $(IPTABLESVERSION) | cut -d. -f3 )
--# test if iptables version >= 1.4.3
--TEST := $(shell [ \( \( $(IPTABLESVERSION1) -ge 1 \) -a \( $(IPTABLESVERSION2) -ge 4 \) \) -a \( $(IPTABLESVERSION3) -ge 3 \) ] && echo 1 )
--ifeq ($(TEST), 1)
-+LDLIBS += -lip4tc $(LDLIBS_IPV6)
- CPPFLAGS += -DIPTABLES_143
--endif
--
--CFLAGS  += $(shell $(PKG_CONFIG) --cflags libiptc)
--LDLIBS  += $(shell $(PKG_CONFIG) --static --libs-only-l libiptc)
--LDFLAGS += $(shell $(PKG_CONFIG) --libs-only-L libiptc)
--LDFLAGS += $(shell $(PKG_CONFIG) --libs-only-other libiptc)
--else
--
--ifeq "$(wildcard /etc/gentoo-release )" ""
--LDLIBS ?= -liptc
--else # gentoo
--# the following is better, at least on gentoo with iptables 1.4.6
--# see http://miniupnp.tuxfamily.org/forum/viewtopic.php?p=1618
--# and http://miniupnp.tuxfamily.org/forum/viewtopic.php?p=2183
--LDLIBS ?= -lip4tc
--CPPFLAGS := -DIPTABLES_143 $(CPPFLAGS)
--endif
--
--ARCH ?= $(shell uname -m | grep -q "x86_64" && echo 64)
--ifdef IPTABLESPATH
--CPPFLAGS := $(CPPFLAGS) -I$(IPTABLESPATH)/include/
--LDFLAGS := $(LDFLAFGS) -L$(IPTABLESPATH)/libiptc/
--# get iptables version and set IPTABLES_143 macro if needed
--ifeq ($(TARGET_OPENWRT),)
--IPTABLESVERSION := $(shell grep "\#define VERSION" $(IPTABLESPATH)/config.h | tr -d \" |cut -d" " -f3 )
--IPTABLESVERSION1 := $(shell echo $(IPTABLESVERSION) | cut -d. -f1 )
--IPTABLESVERSION2 := $(shell echo $(IPTABLESVERSION) | cut -d. -f2 )
--IPTABLESVERSION3 := $(shell echo $(IPTABLESVERSION) | cut -d. -f3 )
--# test if iptables version >= 1.4.3
--TEST := $(shell [ \( \( $(IPTABLESVERSION1) -ge 1 \) -a \( $(IPTABLESVERSION2) -ge 4 \) \) -a \( $(IPTABLESVERSION3) -ge 3 \) ] && echo 1 )
--ifeq ($(TEST), 1)
--CPPFLAGS := $(CPPFLAGS) -DIPTABLES_143
--# the following sucks, but works
--LDLIBS = $(IPTABLESPATH)/libiptc/.libs/libip4tc.o
--#LDLIBS = $(IPTABLESPATH)/libiptc/.libs/libiptc.a
--else # ifeq ($(TEST), 1)
--LDLIBS = $(IPTABLESPATH)/libiptc/libiptc.a
--endif # ifeq ($(TEST), 1)
--else # ($(TARGET_OPENWRT),)
--# openWRT :
--# check for system-wide iptables files. Test if iptables version >= 1.4.3
--# the following test has to be verified :
--TEST := $(shell test -f /usr/include/iptables/internal.h && grep -q "\#define IPTABLES_VERSION" /usr/include/iptables/internal.h && echo 1)
--ifeq ($(TEST), 1)
--CPPFLAGS := $(CPPFLAGS) -DIPTABLES_143
--LDLIBS = -liptc
--endif  # ($(TEST), 1)
--TEST_LIB := $(shell test -f /usr/lib$(ARCH)/libiptc.a && echo 1)
--ifeq ($(TEST_LIB), 1)
--LDLIBS = -liptc /usr/lib$(ARCH)/libiptc.a
--endif # ($(TEST_LIB), 1)
--endif # ($(TARGET_OPENWRT),)
--else # ifdef IPTABLESPATH
--# IPTABLESPATH not defined
--# the following test has to be verified :
--TEST := $(shell test -f /usr/include/xtables.h && grep -q "XTABLES_VERSION_CODE" /usr/include/xtables.h && echo 1)
--ifeq ($(TEST), 1)
--CPPFLAGS := $(CPPFLAGS) -DIPTABLES_143
--LDLIBS = -liptc
--TESTIP4TC := $(shell test -f /lib/libip4tc.so && echo 1)
--ifeq ($(TESTIP4TC), 1)
--LDLIBS := $(LDLIBS) -lip4tc
--endif # ($(TESTIP4TC), 1)
--TESTIP6TC := $(shell test -f /lib/libip6tc.so && echo 1)
--ifeq ($(TESTIP6TC), 1)
--LDLIBS := $(LDLIBS) -lip6tc
--endif # ($(TESTIP6TC), 1)
--endif # ($(TEST), 1)
--endif # ifdef IPTABLESPATH
--endif # ifdef PCFILE_FOUND
--
--#LDLIBS += -lnfnetlink
- 
- TEST := $(shell $(PKG_CONFIG) --atleast-version=1.0.2 libnetfilter_conntrack && $(PKG_CONFIG) --atleast-version=1.0.3 libmnl && echo 1)
- ifeq ($(TEST),1)
-@@ -194,7 +113,6 @@ install:	miniupnpd miniupnpd.8 miniupnpd.conf genuuid \
- 	$(INSTALL) linux/miniupnpd.init.d.script $(DESTDIR)$(PREFIX)/etc/init.d/miniupnpd
- 	$(INSTALL) -d $(DESTDIR)$(MANINSTALLDIR)
- 	$(INSTALL) --mode=0644 miniupnpd.8 $(DESTDIR)$(MANINSTALLDIR)
--	gzip -f $(DESTDIR)$(MANINSTALLDIR)/miniupnpd.8
- 
- # genuuid is using the uuidgen CLI tool which is part of libuuid
- # from the e2fsprogs
-diff --git a/genconfig.sh b/genconfig.sh
-index 976e963..faef028 100755
---- a/genconfig.sh
-+++ b/genconfig.sh
-@@ -299,7 +299,7 @@ case $OS_NAME in
- 		fi
- 		echo "#define USE_IFACEWATCHER 1" >> ${CONFIGFILE}
- 		FW=netfilter
--		V6SOCKETS_ARE_V6ONLY=`/sbin/sysctl -n net.ipv6.bindv6only`
-+		V6SOCKETS_ARE_V6ONLY=`/usr/sbin/sysctl -n net.ipv6.bindv6only`
- 		;;
- 	OpenWRT)
- 		OS_URL=http://www.openwrt.org/

diff --git a/net-misc/miniupnpd/miniupnpd-1.10_pre20150721.ebuild b/net-misc/miniupnpd/miniupnpd-1.10_pre20150721.ebuild
deleted file mode 100644
index 52ecfc1..0000000
--- a/net-misc/miniupnpd/miniupnpd-1.10_pre20150721.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI="5"
-
-inherit eutils toolchain-funcs
-
-MY_PV=1.9.20150721
-MY_P="${PN}-${MY_PV}"
-
-DESCRIPTION="MiniUPnP IGD Daemon"
-HOMEPAGE="http://miniupnp.free.fr/"
-SRC_URI="http://miniupnp.free.fr/files/${MY_P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~x86"
-IUSE=""
-
-RDEPEND=">=net-firewall/iptables-1.4.6
-	net-libs/libnfnetlink"
-DEPEND="${RDEPEND}
-	sys-apps/util-linux
-	sys-apps/lsb-release"
-
-S="${WORKDIR}/${MY_P}"
-
-src_prepare() {
-	epatch "${FILESDIR}"/${PN}-1.10-build.patch
-	mv Makefile.linux Makefile || die
-}
-
-src_configure() {
-	tc-export CC
-	export STRIP=true
-
-	emake config.h
-	sed -i -r \
-		-e '/#define ENABLE_LEASEFILE/s:(/[*]|[*]/)::g' \
-		config.h || die
-
-	sed -i -r \
-		-e '/#define ENABLE_MANUFACTURER_INFO_CONFIGURATION/s:(/[*]|[*]/)::g' \
-		 config.h || die
-}
-
-src_compile() {
-	# By default, it builds a bunch of unittests we don't run.
-	emake CC="$(tc-getCC)" miniupnpd
-}
-
-src_install() {
-	emake install PREFIX="${ED}"
-
-	newinitd "${FILESDIR}"/${PN}-init.d ${PN}
-	newconfd "${FILESDIR}"/${PN}-conf.d ${PN}
-}
-
-pkg_postinst() {
-	elog "Please correct the external interface in the top of the two"
-	elog "scripts in /etc/miniupnpd and edit the config file in there too"
-}

diff --git a/net-misc/miniupnpd/miniupnpd-1.10_pre20160222.ebuild b/net-misc/miniupnpd/miniupnpd-1.10_pre20160222.ebuild
deleted file mode 100644
index 061fa32..0000000
--- a/net-misc/miniupnpd/miniupnpd-1.10_pre20160222.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=6
-
-inherit eutils toolchain-funcs versionator flag-o-matic
-
-MY_PV=$(get_version_component_range 3)
-MY_PV=1.9.${MY_PV#pre}
-MY_P="${PN}-${MY_PV}"
-
-DESCRIPTION="MiniUPnP IGD Daemon"
-HOMEPAGE="http://miniupnp.free.fr/"
-SRC_URI="http://miniupnp.free.fr/files/${MY_P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~x86"
-IUSE="+leasefile igd2 ipv6 pcp-peer portinuse strict"
-
-RDEPEND=">=net-firewall/iptables-1.4.6:0=[ipv6?]
-	net-libs/libnfnetlink:=
-	net-libs/libmnl:=
-	dev-libs/gmp:0=
-	sys-apps/util-linux
-	dev-libs/openssl:0="
-DEPEND="${RDEPEND}
-	sys-apps/lsb-release"
-
-S="${WORKDIR}/${MY_P}"
-
-PATCHES=(
-	"${FILESDIR}/${PN}-1.10_pre20160222-build.patch"
-)
-
-src_prepare() {
-	default
-	mv Makefile.linux Makefile || die
-}
-
-src_configure() {
-	local -a opts
-	opts=(
-		--vendorcfg
-		$(use igd2 && printf -- '--igd2\n')
-		$(use ipv6 && printf -- '--ipv6\n')
-		$(use leasefile && printf -- '--leasefile\n')
-		$(use portinuse && printf -- '--portinuse\n')
-		$(use pcp-peer && printf -- '--pcp-peer\n')
-		$(use strict && printf -- '--strict\n')
-	)
-
-	emake CONFIG_OPTIONS="${opts[*]}" config.h
-}
-
-src_compile() {
-	# By default, it builds a bunch of unittests that are missing wrapper
-	# scripts in the tarball
-	emake CC="$(tc-getCC)" \
-		STRIP=true \
-		LDLIBS_IPV6="$(use ipv6 && printf -- '-lip6tc')" \
-		miniupnpd
-}
-
-src_install() {
-	emake PREFIX="${ED}" STRIP=true install
-
-	newinitd "${FILESDIR}"/${PN}-init.d-r1 ${PN}
-	newconfd "${FILESDIR}"/${PN}-conf.d-r1 ${PN}
-}
-
-pkg_postinst() {
-	elog "Please correct the external interface in the top of the two"
-	elog "scripts in /etc/miniupnpd and edit the config file in there too"
-}


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-misc/miniupnpd/files/, net-misc/miniupnpd/
@ 2019-06-30  7:39 Michał Górny
  0 siblings, 0 replies; 4+ messages in thread
From: Michał Górny @ 2019-06-30  7:39 UTC (permalink / raw
  To: gentoo-commits

commit:     558047cd7e9293f68003d0af7f411fc77d1ceed0
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Jun 30 07:07:03 2019 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Jun 30 07:39:14 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=558047cd

net-misc/miniupnpd: Fix bashisms in init.d file

Closes: https://bugs.gentoo.org/646548
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 net-misc/miniupnpd/files/miniupnpd-init.d-r2       | 33 +++++++++++
 .../miniupnpd/miniupnpd-2.1.20190625-r1.ebuild     | 65 ++++++++++++++++++++++
 2 files changed, 98 insertions(+)

diff --git a/net-misc/miniupnpd/files/miniupnpd-init.d-r2 b/net-misc/miniupnpd/files/miniupnpd-init.d-r2
new file mode 100644
index 00000000000..744f59e6a44
--- /dev/null
+++ b/net-misc/miniupnpd/files/miniupnpd-init.d-r2
@@ -0,0 +1,33 @@
+#!/sbin/openrc-run
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+command="/usr/sbin/miniupnpd"
+: "${config_file:=/etc/miniupnpd/miniupnpd.conf}"
+command_args="-f ${config_file:-/etc/miniupnpd/miniupnpd.conf} ${extra_args}"
+: "${pidfile:=/var/run/miniupnpd.pid}"
+
+depend() {
+	need net iptables
+	use minissdpd
+}
+
+start_pre() {
+	local retval=0
+
+	if [ -z "${no_iptables_scripts}" ]; then
+		/etc/miniupnpd/iptables_init.sh || retval=${?}
+	fi
+	
+	return ${retval}
+}
+
+stop_post() {
+	local retval=0
+
+	if [ -z "${no_iptables_scripts}" ]; then
+		/etc/miniupnpd/iptables_removeall.sh
+	fi
+
+	return ${retval}
+}

diff --git a/net-misc/miniupnpd/miniupnpd-2.1.20190625-r1.ebuild b/net-misc/miniupnpd/miniupnpd-2.1.20190625-r1.ebuild
new file mode 100644
index 00000000000..0e787f99f32
--- /dev/null
+++ b/net-misc/miniupnpd/miniupnpd-2.1.20190625-r1.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+DESCRIPTION="MiniUPnP IGD Daemon"
+HOMEPAGE="http://miniupnp.free.fr/"
+SRC_URI="http://miniupnp.free.fr/files/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="+leasefile igd2 ipv6 pcp-peer portinuse strict"
+
+RDEPEND=">=net-firewall/iptables-1.4.6:0=[ipv6?]
+	net-libs/libnfnetlink:=
+	net-libs/libmnl:=
+	dev-libs/gmp:0=
+	sys-apps/util-linux:=
+	dev-libs/openssl:0="
+DEPEND="${RDEPEND}
+	sys-apps/lsb-release"
+
+src_prepare() {
+	default
+	mv Makefile.linux Makefile || die
+
+	# Prevent gzipping manpage.
+	sed -i -e '/gzip/d' Makefile || die
+}
+
+src_configure() {
+	local -a opts
+	opts=(
+		--vendorcfg
+		$(usex igd2 '--igd2' '')
+		$(usex ipv6 '--ipv6' '')
+		$(usex leasefile '--leasefile' '')
+		$(usex portinuse '--portinuse' '')
+		$(usex pcp-peer '--pcp-peer' '')
+		$(usex strict '--strict' '')
+	)
+
+	emake CONFIG_OPTIONS="${opts[*]}" config.h
+}
+
+src_compile() {
+	# By default, it builds a bunch of unittests that are missing wrapper
+	# scripts in the tarball
+	emake CC="$(tc-getCC)" STRIP=true miniupnpd
+}
+
+src_install() {
+	emake PREFIX="${ED}" STRIP=true install
+
+	newinitd "${FILESDIR}"/${PN}-init.d-r2 ${PN}
+	newconfd "${FILESDIR}"/${PN}-conf.d-r1 ${PN}
+}
+
+pkg_postinst() {
+	elog "Please correct the external interface in the top of the two"
+	elog "scripts in /etc/miniupnpd and edit the config file in there too"
+}


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-misc/miniupnpd/files/, net-misc/miniupnpd/
@ 2019-06-30  7:39 Michał Górny
  0 siblings, 0 replies; 4+ messages in thread
From: Michał Górny @ 2019-06-30  7:39 UTC (permalink / raw
  To: gentoo-commits

commit:     b6feded288329ccad3bc97f4f427281ba9fb8d55
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Jun 30 07:37:42 2019 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Jun 30 07:39:18 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b6feded2

net-misc/miniupnpd: Support using nftables

Closes: https://bugs.gentoo.org/665078
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 net-misc/miniupnpd/files/miniupnpd-conf.d-r2       |  3 ++
 net-misc/miniupnpd/files/miniupnpd-init.d-r2       |  6 ++++
 net-misc/miniupnpd/metadata.xml                    |  1 +
 .../miniupnpd/miniupnpd-2.1.20190625-r1.ebuild     | 35 +++++++++++++++++-----
 4 files changed, 37 insertions(+), 8 deletions(-)

diff --git a/net-misc/miniupnpd/files/miniupnpd-conf.d-r2 b/net-misc/miniupnpd/files/miniupnpd-conf.d-r2
index d0f5ce40cdc..656ab8ec00a 100644
--- a/net-misc/miniupnpd/files/miniupnpd-conf.d-r2
+++ b/net-misc/miniupnpd/files/miniupnpd-conf.d-r2
@@ -11,3 +11,6 @@ iptables_scripts=1
 
 # enable manipulating ip6tables on start/stop
 ip6tables_scripts=1
+
+# enable manipulating nftables on start/stop (for USE=nftables)
+nftables_scripts=1

diff --git a/net-misc/miniupnpd/files/miniupnpd-init.d-r2 b/net-misc/miniupnpd/files/miniupnpd-init.d-r2
index 4671ba067c4..e23c7a81995 100644
--- a/net-misc/miniupnpd/files/miniupnpd-init.d-r2
+++ b/net-misc/miniupnpd/files/miniupnpd-init.d-r2
@@ -21,6 +21,9 @@ start_pre() {
 	if [ -n "${ip6tables_scripts}" ]; then
 		/etc/miniupnpd/ip6tables_init.sh || retval=${?}
 	fi
+	if [ -n "${nftables_scripts}" ]; then
+		/etc/miniupnpd/nft_init.sh || retval=${?}
+	fi
 	
 	return ${retval}
 }
@@ -34,6 +37,9 @@ stop_post() {
 	if [ -n "${ip6tables_scripts}" ]; then
 		/etc/miniupnpd/ip6tables_removeall.sh
 	fi
+	if [ -n "${nftables_scripts}" ]; then
+		/etc/miniupnpd/nft_removeall.sh
+	fi
 
 	return ${retval}
 }

diff --git a/net-misc/miniupnpd/metadata.xml b/net-misc/miniupnpd/metadata.xml
index 1b672f18d76..5f2aabe1313 100644
--- a/net-misc/miniupnpd/metadata.xml
+++ b/net-misc/miniupnpd/metadata.xml
@@ -15,6 +15,7 @@
 	<use>
 		<flag name="leasefile">Enable lease file.</flag>
 		<flag name="igd2">Build for IGDv2 instead of an IGDv1</flag>
+		<flag name="nftables">Use <pkg>net-firewall/nftables</pkg> rather than <pkg>net-firewall/iptables</pkg>.</flag>
 		<flag name="pcp-peer">Enable support for PCP-PEER to allow NAT-PMP clients to mangle their packets.</flag>
 		<flag name="portinuse">Check if a port is in use before allowing a NAT-PMP client to map it.</flag>
 		<flag name="strict">Be more strict regarding compliance with UPnP specifications.</flag>

diff --git a/net-misc/miniupnpd/miniupnpd-2.1.20190625-r1.ebuild b/net-misc/miniupnpd/miniupnpd-2.1.20190625-r1.ebuild
index 3aaa9a02a94..07c804f3564 100644
--- a/net-misc/miniupnpd/miniupnpd-2.1.20190625-r1.ebuild
+++ b/net-misc/miniupnpd/miniupnpd-2.1.20190625-r1.ebuild
@@ -12,20 +12,32 @@ SRC_URI="http://miniupnp.free.fr/files/${P}.tar.gz"
 LICENSE="BSD"
 SLOT="0"
 KEYWORDS="~amd64 ~arm ~x86"
-IUSE="+leasefile igd2 ipv6 pcp-peer portinuse strict"
+IUSE="+leasefile igd2 ipv6 nftables pcp-peer portinuse strict"
 
-RDEPEND=">=net-firewall/iptables-1.4.6:0=[ipv6?]
-	net-libs/libnfnetlink:=
-	net-libs/libmnl:=
+RDEPEND="
 	dev-libs/gmp:0=
 	sys-apps/util-linux:=
-	dev-libs/openssl:0="
+	dev-libs/openssl:0=
+	!nftables? (
+		>=net-firewall/iptables-1.4.6:0=[ipv6?]
+		net-libs/libnfnetlink:=
+		net-libs/libmnl:=
+	)
+	nftables? (
+		net-firewall/nftables
+		net-libs/libnftnl:=
+		net-libs/libmnl:=
+	)"
 DEPEND="${RDEPEND}
 	sys-apps/lsb-release"
 
 src_prepare() {
 	default
-	mv Makefile.linux Makefile || die
+
+	# Prevent overriding CFLAGS.
+	sed -i -e '/^CFLAGS =/d' Makefile.linux_nft || die
+
+	mv "Makefile.linux$(usex nftables _nft '')" Makefile || die
 
 	# Prevent gzipping manpage.
 	sed -i -e '/gzip/d' Makefile || die
@@ -55,8 +67,15 @@ src_compile() {
 src_install() {
 	emake PREFIX="${ED}" STRIP=true install
 
-	local confd_seds=( -e ': noop' )
-	use ipv6 || confd_seds+=( -e 's/^ip6tables_scripts=/#&/' )
+	local confd_seds=()
+	if use nftables; then
+		confd_seds+=( -e 's/^iptables_scripts=/#&/' )
+	else
+		confd_seds+=( -e 's/^nftables_scripts=/#&/' )
+	fi
+	if ! use ipv6 || use nftables; then
+		confd_seds+=( -e 's/^ip6tables_scripts=/#&/' )
+	fi
 
 	newinitd "${FILESDIR}"/${PN}-init.d-r2 ${PN}
 	newconfd - ${PN} < <(sed "${confd_seds[@]}" \


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-misc/miniupnpd/files/, net-misc/miniupnpd/
@ 2022-02-12 16:13 Michał Górny
  0 siblings, 0 replies; 4+ messages in thread
From: Michał Górny @ 2022-02-12 16:13 UTC (permalink / raw
  To: gentoo-commits

commit:     2a3608e8175b556b20ed4572a2fa2d4cc368f1fd
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Feb 12 16:12:50 2022 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Feb 12 16:12:50 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2a3608e8

net-misc/miniupnpd: Remove old

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 net-misc/miniupnpd/Manifest                        |   4 -
 .../files/miniupnpd-2.2.3-testgetifaddr.patch      |  14 ---
 net-misc/miniupnpd/miniupnpd-2.2.2.ebuild          |  87 ------------------
 net-misc/miniupnpd/miniupnpd-2.2.3.ebuild          | 101 ---------------------
 4 files changed, 206 deletions(-)

diff --git a/net-misc/miniupnpd/Manifest b/net-misc/miniupnpd/Manifest
index 30c492813480..2263c3ca93b7 100644
--- a/net-misc/miniupnpd/Manifest
+++ b/net-misc/miniupnpd/Manifest
@@ -1,6 +1,2 @@
-DIST miniupnpd-2.2.2.tar.gz 250649 BLAKE2B d561916ced9b5c58371382fe0bec68cd0771d1dc3b2c7fa7e3701cb2579db69697fbdcd724bea2350abd46381eda1fd257dede6df99f99fa54e423db4ee52717 SHA512 3cc11ad901e93a9879fe07e35a20f8977df466bb402e0270e46d1dbd0b5dc3b5dc22303467d5022103952d7dd789ac590c17d0fa81fc7ec42676b66223d37ee4
-DIST miniupnpd-2.2.2.tar.gz.sig 543 BLAKE2B 461a9149c66b0e314a767405024fc7bfb641a20ae36b908dc467c9211660d5cb0753fb3c99fa9d6df35d693a2f6790efb6a325f0005804572eaa78a02b23a482 SHA512 8ffc9901cd992cbd9d0fa4c5e510fe43f748ab4a7c4732cc8f2f685f19b71a3f087a63a39e1dbf081175ac65de34b5c05dc3ef636a805e550a0406119a5904ef
-DIST miniupnpd-2.2.3.tar.gz 254752 BLAKE2B ebdb8d4ce7dc649ef0243d2d698b9f51cb2006055eb3abb70d9ccc839cb57c7113595ef1b9b5886f55bc458d8260edf95ae6e1964a5d5423f9b0b46e07e02775 SHA512 56b1e93e9576fa412202e1940fcd8b7af57584714c15017bbcec1aa4fa7bba7a6fa5d1136048100d7cce3222f31b38837de1eae344b533164314c858cdf08ef9
-DIST miniupnpd-2.2.3.tar.gz.sig 543 BLAKE2B 3ba2e69cfd7e0a27a746f45e5eb10e573e00c4fc20a7d62b94a2e0b7e4e9ad8779d53df72e31547b78dc6e34676204a4848652e81d1e479a68973e150f51f468 SHA512 9f766f3e94de1fbd458c7bda30cc87892198af7544aa9dc0fa4c6b6a1c9434e4bab6f8583eeccf3ae613da240ad599d750425c507e8138d483710459f31a0b21
 DIST miniupnpd-2.3.0.tar.gz 256069 BLAKE2B dd21b4ee692cf9958bd996c6fe70e7e1f6cdfe467506676d2335ccf37cd0ed7e55ff435983747cad5d2342019b36597e538fcb9b511872889305330212e88cb0 SHA512 437a4b101bcadd9feb3845d37402c253a0a2114463fd8c5930859c7eae0ffaf7714ef7c9d387be2339c584e2f106fafa008a4364ff347b6640153c9a09919b0a
 DIST miniupnpd-2.3.0.tar.gz.sig 543 BLAKE2B 312d46521d37c1a2fda146f2c7c964af45ffa4a75bc327dc743b40f96586e0916a674db4a0bb847b5e386f0b781319868d1d6cc74fbffaf3a8e989db18f4f6e6 SHA512 87be539c27d0147fcc62b69a82858518e862f2b593a0e03a9986e3641a0d61f4fa831d79a7ce645b33569234463a9517b9dbbc79ee988c9f561474a4757c4c04

diff --git a/net-misc/miniupnpd/files/miniupnpd-2.2.3-testgetifaddr.patch b/net-misc/miniupnpd/files/miniupnpd-2.2.3-testgetifaddr.patch
deleted file mode 100644
index 73e4a87903e8..000000000000
--- a/net-misc/miniupnpd/files/miniupnpd-2.2.3-testgetifaddr.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/miniupnpd/testgetifaddr.sh b/miniupnpd/testgetifaddr.sh
-index 7ad56d9..2a26a24 100755
---- a/testgetifaddr.sh
-+++ b/testgetifaddr.sh
-@@ -12,7 +12,8 @@ case $OS in
- 	*)
- 	IP="`which ip`" || exit 1
- 	EXTIF="`LC_ALL=C $IP -4 route | grep 'default' | sed -e 's/.*dev[[:space:]]*//' -e 's/[[:space:]].*//'`" || exit 1
--	EXTIP="`LC_ALL=C $IP -4 addr show $EXTIF | awk '/inet/ { print $2 }' | cut -d "/" -f 1`"
-+	EXTIF="`LC_ALL=C $IP -4 addr show $EXTIF | awk '/[0-9]+:/ { print $2; exit 0 }' | cut -d ":" -f 1`"
-+	EXTIP="`LC_ALL=C $IP -4 addr show $EXTIF | awk '/inet/ { print $2; exit 0 }' | cut -d "/" -f 1`"
- 	;;
- esac
- 

diff --git a/net-misc/miniupnpd/miniupnpd-2.2.2.ebuild b/net-misc/miniupnpd/miniupnpd-2.2.2.ebuild
deleted file mode 100644
index 7bc2128632d2..000000000000
--- a/net-misc/miniupnpd/miniupnpd-2.2.2.ebuild
+++ /dev/null
@@ -1,87 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs verify-sig
-
-MY_P=${P/_rc/-RC}
-DESCRIPTION="MiniUPnP IGD Daemon"
-HOMEPAGE="http://miniupnp.free.fr/"
-SRC_URI="http://miniupnp.free.fr/files/${MY_P}.tar.gz
-	verify-sig? ( http://miniupnp.free.fr/files/${MY_P}.tar.gz.sig )"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~x86"
-IUSE="+leasefile igd2 ipv6 nftables pcp-peer portinuse strict"
-
-RDEPEND="
-	dev-libs/gmp:0=
-	sys-apps/util-linux:=
-	dev-libs/openssl:0=
-	!nftables? (
-		>=net-firewall/iptables-1.4.6:0=[ipv6?]
-		net-libs/libnfnetlink:=
-		net-libs/libmnl:=
-	)
-	nftables? (
-		net-firewall/nftables
-		net-libs/libnftnl:=
-		net-libs/libmnl:=
-	)"
-DEPEND="${RDEPEND}
-	elibc_musl? ( sys-libs/queue-standalone )"
-BDEPEND="
-	sys-apps/lsb-release
-	verify-sig? ( sec-keys/openpgp-keys-miniupnp )"
-
-VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/miniupnp.asc
-
-src_configure() {
-	local opts=(
-		--vendorcfg
-		$(usex igd2 '--igd2' '')
-		$(usex ipv6 '--ipv6' '')
-		$(usex leasefile '--leasefile' '')
-		$(usex portinuse '--portinuse' '')
-		$(usex pcp-peer '--pcp-peer' '')
-		$(usex strict '--strict' '')
-		--firewall=$(usex nftables nftables iptables)
-	)
-
-	# custom script
-	./configure "${opts[@]}" || die
-	# prevent gzipping manpage
-	sed -i -e '/gzip/d' Makefile || die
-}
-
-src_compile() {
-	# By default, it builds a bunch of unittests that are missing wrapper
-	# scripts in the tarball
-	emake CC="$(tc-getCC)" STRIP=true miniupnpd
-}
-
-src_install() {
-	emake PREFIX="${ED}" STRIP=true install
-
-	local confd_seds=()
-	if use nftables; then
-		confd_seds+=( -e 's/^iptables_scripts=/#&/' )
-	else
-		confd_seds+=( -e 's/^nftables_scripts=/#&/' )
-	fi
-	if ! use ipv6 || use nftables; then
-		confd_seds+=( -e 's/^ip6tables_scripts=/#&/' )
-	fi
-
-	newinitd "${FILESDIR}"/${PN}-init.d-r2 ${PN}
-	newconfd - ${PN} < <(sed "${confd_seds[@]}" \
-		"${FILESDIR}"/${PN}-conf.d-r2 || die)
-}
-
-pkg_postinst() {
-	elog "Please correct the external interface in the top of the two"
-	elog "scripts in /etc/miniupnpd and edit the config file in there too"
-}

diff --git a/net-misc/miniupnpd/miniupnpd-2.2.3.ebuild b/net-misc/miniupnpd/miniupnpd-2.2.3.ebuild
deleted file mode 100644
index b71fff94e94a..000000000000
--- a/net-misc/miniupnpd/miniupnpd-2.2.3.ebuild
+++ /dev/null
@@ -1,101 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-inherit toolchain-funcs verify-sig
-
-MY_P=${P/_rc/-RC}
-DESCRIPTION="MiniUPnP IGD Daemon"
-HOMEPAGE="http://miniupnp.free.fr/"
-SRC_URI="http://miniupnp.free.fr/files/${MY_P}.tar.gz
-	verify-sig? ( http://miniupnp.free.fr/files/${MY_P}.tar.gz.sig )"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~x86"
-IUSE="+leasefile igd2 ipv6 nftables pcp-peer portinuse strict"
-
-RDEPEND="
-	dev-libs/gmp:0=
-	sys-apps/util-linux:=
-	dev-libs/openssl:0=
-	!nftables? (
-		>=net-firewall/iptables-1.4.6:0=[ipv6?]
-		net-libs/libnfnetlink:=
-		net-libs/libmnl:=
-	)
-	nftables? (
-		net-firewall/nftables
-		net-libs/libnftnl:=
-		net-libs/libmnl:=
-	)"
-DEPEND="${RDEPEND}
-	elibc_musl? ( sys-libs/queue-standalone )"
-BDEPEND="
-	sys-apps/lsb-release
-	verify-sig? ( sec-keys/openpgp-keys-miniupnp )"
-
-VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/miniupnp.asc
-
-src_prepare() {
-	local PATCHES=(
-		"${FILESDIR}"/${P}-testgetifaddr.patch
-	)
-
-	default
-
-	# fails without a default route
-	sed -i -e 's:EXTIF=.*:EXTIF=lo:' testgetifaddr.sh || die
-}
-
-src_configure() {
-	local opts=(
-		--vendorcfg
-		$(usex igd2 '--igd2' '')
-		$(usex ipv6 '--ipv6' '')
-		$(usex leasefile '--leasefile' '')
-		$(usex portinuse '--portinuse' '')
-		$(usex pcp-peer '--pcp-peer' '')
-		$(usex strict '--strict' '')
-		--firewall=$(usex nftables nftables iptables)
-	)
-
-	# custom script
-	./configure "${opts[@]}" || die
-	# prevent gzipping manpage
-	sed -i -e '/gzip/d' Makefile || die
-}
-
-src_compile() {
-	# By default, it builds a bunch of unittests that are missing wrapper
-	# scripts in the tarball
-	emake CC="$(tc-getCC)" STRIP=true miniupnpd
-}
-
-src_test() {
-	emake CC="$(tc-getCC)" check
-}
-
-src_install() {
-	emake PREFIX="${ED}" STRIP=true install
-
-	local confd_seds=()
-	if use nftables; then
-		confd_seds+=( -e 's/^iptables_scripts=/#&/' )
-	else
-		confd_seds+=( -e 's/^nftables_scripts=/#&/' )
-	fi
-	if ! use ipv6 || use nftables; then
-		confd_seds+=( -e 's/^ip6tables_scripts=/#&/' )
-	fi
-
-	newinitd "${FILESDIR}"/${PN}-init.d-r2 ${PN}
-	newconfd - ${PN} < <(sed "${confd_seds[@]}" \
-		"${FILESDIR}"/${PN}-conf.d-r2 || die)
-}
-
-pkg_postinst() {
-	elog "Please correct the external interface in the top of the two"
-	elog "scripts in /etc/miniupnpd and edit the config file in there too"
-}


^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2022-02-12 16:13 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-05-23  8:29 [gentoo-commits] repo/gentoo:master commit in: net-misc/miniupnpd/files/, net-misc/miniupnpd/ Bjarke Istrup Pedersen
  -- strict thread matches above, loose matches on Subject: below --
2019-06-30  7:39 Michał Górny
2019-06-30  7:39 Michał Górny
2022-02-12 16:13 Michał Górny

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox