Allow configuration of interfaces on which to listen
authorAnthony G. Basile <blueness@gentoo.org>
Tue, 8 Nov 2011 01:04:04 +0000 (01:04 +0000)
committerAnthony G. Basile <blueness@gentoo.org>
Tue, 8 Nov 2011 01:04:04 +0000 (01:04 +0000)
Package-Manager: portage-2.1.10.11/cvs/Linux x86_64

net-misc/minissdpd/ChangeLog
net-misc/minissdpd/Manifest
net-misc/minissdpd/files/minissdpd.confd [new file with mode: 0644]
net-misc/minissdpd/files/minissdpd.initd-r1 [new file with mode: 0644]
net-misc/minissdpd/minissdpd-1.1.20111007-r1.ebuild [new file with mode: 0644]

index a906788c26cd5cd89d37a6b34ac390f46245547d..902e20a37edb39b63920bbe2868e05bdf5f7838d 100644 (file)
@@ -1,5 +1,12 @@
 
 
+*minissdpd-1.1.20111007-r1 (08 Nov 2011)
+
+  08 Nov 2011; Anthony G. Basile <blueness@gentoo.org>
+  +minissdpd-1.1.20111007-r1.ebuild, +files/minissdpd.confd,
+  +files/minissdpd.initd-r1:
+  Allow configuration of interfaces on which to listen
+
 *minissdpd-1.1.20111007 (14 Oct 2011)
 
   14 Oct 2011; Anthony G. Basile <blueness@gentoo.org>
index fbc728e80f0142739a9dd0e375483aad54f0cb11..320b098bbf6627fb2ae3405f56c13c1fd8c0aa27 100644 (file)
@@ -3,15 +3,18 @@ Hash: SHA256
 
 AUX minissdpd-remove-initd.patch 521 RMD160 2a4e6000920aa7f51f0619b09408edbc64a1979f SHA1 ac3e238504dc398399ddfff0c9c68f6b8d3b2a83 SHA256 c66783940948c5e6e7f48dd742a0998a023676f2adc35802513830b461c6874d
 AUX minissdpd-respect-CFLAGS.patch 580 RMD160 101528f573cac895078386d1380ba958eaa2815d SHA1 e27762c437e8f966049081bf4a767890e1861122 SHA256 fb9bd6f8b44c8707342df8d99ff980e53e0a5ffd8bbf57df6ddf5c8110a2b3a1
+AUX minissdpd.confd 487 RMD160 ec267b2a02076c6d8727639c041dbf1dc8a9574d SHA1 265bfdf9cd1eb98606006422a8fd0642ab05d62f SHA256 5a31743b20198ce596a09c73abd45b747e2d087de688cd4f954626bdd1574fc6
 AUX minissdpd.initd 510 RMD160 e0e20d465b005cec35c0b946d4471be135b76528 SHA1 2bb52882ad4f3b2f6d3f97a30fd6399d22fcabb9 SHA256 2c0228c98884d545b806373b7f91ef36e9fd3622d00930e543e7e2f9313951d4
+AUX minissdpd.initd-r1 1365 RMD160 07d16c930e0789152e85c6fa03449c163923db70 SHA1 7d86142f65acbb240da4ca85c30633f0c580c3d9 SHA256 c27acb7735c1fff8fb47f5930b1276f9616b74657e31157a69732af4c4d98286
 DIST minissdpd-1.1.20111007.tar.gz 17611 RMD160 957813e30a56f4df0b43fdaf89f0bd94ddef853f SHA1 b2f82ed89f682d626556c7bebd8552d2ce5384c2 SHA256 95e8493a02bd45b6481b892a7d0d8f21c44b10ed5fbe67108d5c3f5471a165d5
+EBUILD minissdpd-1.1.20111007-r1.ebuild 870 RMD160 6841389a8435fd174284d37a835e2c5f3852382f SHA1 79f1c57e3f7add52a1e71f98ead8ad5e13061241 SHA256 cd8c46bc9df07f1467bec294618fb1b49877efa58c3a12318a3a24004a60d633
 EBUILD minissdpd-1.1.20111007.ebuild 822 RMD160 a78a15b604a2fd25e49f3151b9d1e23528b912b1 SHA1 6fce111a583f75f4d9969b8003ed16db6162fad0 SHA256 0be734731dbc3b336b837abbebccb79cbcf448dff62fa8710b9d7957b313a5c0
-MISC ChangeLog 204 RMD160 4d871b67197f81f0ca8fcac3c7c5a0db833cb105 SHA1 2cff81f1bd4cb402e0631154da6d13ebe90acf53 SHA256 ed11dfe01164ee53689e708b1c1c5b5b10a146c49efc8ead05bf79164e1e36ae
+MISC ChangeLog 447 RMD160 a221395f055a4002cbbf0f239de34892e9175882 SHA1 69b04d9c50e37ca06cc2fb18026e22aca26a5321 SHA256 abd8d53fe9caad6687ebeb842807df3f327f09f3bccf9820ae40eef1ba6669c3
 MISC metadata.xml 238 RMD160 6401efde1642c40e91d5a41a966b9dbff0512eab SHA1 9751c07b46aec3d4f96133758cdd23a3e2ca2835 SHA256 f13e6e7b65d20beb9ae945d520160ef0dba80c1965754958945904d7e3c0a75f
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.17 (GNU/Linux)
 
-iEYEAREIAAYFAk6ZlVYACgkQl5yvQNBFVTXKTgCgkRJJoMRYQZH8lsKgmDv0igx0
-wXsAn0nkUsfRBR0cXud+Kr7YGAFdsbDY
-=ZgWT
+iEYEAREIAAYFAk64gA0ACgkQl5yvQNBFVTWD4QCcCMZIY79e0Tclkb3mO0yt7WJx
+8VEAniNcWGlxwbibOHzuTKqIEQemZfVd
+=q0bd
 -----END PGP SIGNATURE-----
diff --git a/net-misc/minissdpd/files/minissdpd.confd b/net-misc/minissdpd/files/minissdpd.confd
new file mode 100644 (file)
index 0000000..43b662e
--- /dev/null
@@ -0,0 +1,10 @@
+# /etc/conf.d/minissdpd: config file for /etc/init.d/minissdpd
+
+# Configure on which interface or interfaces minissdpd will listen.
+# List all interfaces space separated. If this is not specified then
+# minissdpd will listen on just the interface for the default route.
+# You probably want that when running minissdpd with miniupnpc on the
+# client, but you most likely want to specify the internal interface
+# when running with miniupnpd on the gateway.
+#
+# MINISSDPD_IFACE="eth0 eth1"
diff --git a/net-misc/minissdpd/files/minissdpd.initd-r1 b/net-misc/minissdpd/files/minissdpd.initd-r1
new file mode 100644 (file)
index 0000000..e29d21e
--- /dev/null
@@ -0,0 +1,61 @@
+#!/sbin/runscript
+
+MINISSDPD="/usr/sbin/minissdpd"
+PIDFILE="/var/run/minissdpd.pid"
+
+ROUTE="/sbin/route"
+IFCONFIG="/sbin/ifconfig"
+
+depend() {
+       need net
+       before miniupnpd
+}
+
+checkconfig() {
+       if [ "x$MINISSDPD" != "x" ]; then
+               interfaces=$($IFCONFIG | grep "Link encap" | awk '{ print $1 }')
+               for interface in $MINISSDPD; do
+                       hit=0
+                       for available in $interfaces; do
+                               if [ "$interface" = "$available" ]; then
+                                       hit=1
+                               fi
+                       done
+                       if [ $hit = 0 ]; then
+                               ewarn "Interface $interface not available"
+                               return 1
+                       fi
+               done
+       fi
+       return 0
+}
+
+start() {
+       ebegin "Starting minissdpd"
+       checkconfig || return 1
+
+       if [ "x$MINISSDPD" = "x" ]; then
+               # We assume that the default interface has an IP address
+               interface=$($ROUTE | grep default | awk -- '{ print $8 }')
+               IP="$($IFCONFIG $interface | grep 'inet addr' | sed 's/.\+inet addr:\([0-9.]\+\).\+/\1/')"
+               ARGS="-i $IP "
+       else
+               ARGS=""
+               for interface in $MINISSDPD; do
+                       # An interface may not have an IP address, so don't listen if it doesn't
+                       IP="$($IFCONFIG $interface | grep 'inet addr' | sed 's/.\+inet addr:\([0-9.]\+\).\+/\1/')"
+                       if [ "x$IP" != "x" ]; then
+                               ARGS+="-i $IP "
+                       fi
+               done
+       fi
+
+       start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $MINISSDPD -- $ARGS
+       eend $?
+}
+
+stop() {
+       ebegin "Stopping minissdpd"
+       start-stop-daemon --stop --pidfile "${PIDFILE}"
+       eend $?
+}
diff --git a/net-misc/minissdpd/minissdpd-1.1.20111007-r1.ebuild b/net-misc/minissdpd/minissdpd-1.1.20111007-r1.ebuild
new file mode 100644 (file)
index 0000000..429dea1
--- /dev/null
@@ -0,0 +1,36 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-misc/minissdpd/minissdpd-1.1.20111007-r1.ebuild,v 1.1 2011/11/08 01:04:03 blueness Exp $
+
+EAPI=4
+inherit eutils toolchain-funcs
+
+DESCRIPTION="MiniSSDP Daemon"
+SRC_URI="http://miniupnp.free.fr/files/${P}.tar.gz"
+HOMEPAGE="http://miniupnp.free.fr/"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND="sys-apps/net-tools
+       || ( net-misc/miniupnpd net-libs/miniupnpc )"
+
+src_prepare() {
+       epatch "${FILESDIR}/${PN}-respect-CFLAGS.patch"
+       epatch "${FILESDIR}/${PN}-remove-initd.patch"
+}
+
+src_compile() {
+       emake CC="$(tc-getCC)"
+}
+
+src_install () {
+       einstall PREFIX="${D}"
+       newinitd "${FILESDIR}/${PN}.initd-r1" ${PN}
+       newconfd "${FILESDIR}/${PN}.confd" ${PN}
+       dodoc Changelog.txt README
+       doman minissdpd.1
+}