From patchwork Fri Jul 29 14:28:37 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Fabrice Fontaine X-Patchwork-Id: 654128 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3s1B1b0CmGz9snm for ; Sat, 30 Jul 2016 00:29:06 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b=ckGeosic; dkim-atps=neutral Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id 9EFD78AB46; Fri, 29 Jul 2016 14:29:04 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from hemlock.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id SLrkZlnGCLWy; Fri, 29 Jul 2016 14:29:03 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by hemlock.osuosl.org (Postfix) with ESMTP id 1048C8AB23; Fri, 29 Jul 2016 14:29:03 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137]) by ash.osuosl.org (Postfix) with ESMTP id 72E881C0F1F for ; Fri, 29 Jul 2016 14:29:01 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by fraxinus.osuosl.org (Postfix) with ESMTP id 70236C0B27 for ; Fri, 29 Jul 2016 14:29:01 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from fraxinus.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id bitBQvgDKMRm for ; Fri, 29 Jul 2016 14:28:59 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-wm0-f66.google.com (mail-wm0-f66.google.com [74.125.82.66]) by fraxinus.osuosl.org (Postfix) with ESMTPS id 409BBC0B1D for ; Fri, 29 Jul 2016 14:28:59 +0000 (UTC) Received: by mail-wm0-f66.google.com with SMTP id o80so15978866wme.0 for ; Fri, 29 Jul 2016 07:28:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id; bh=TJ178/SYfLyNXXBuI80jvCwY5m3q4Emw17NPoLtvCkE=; b=ckGeosicKjxueRZF9naN4O/a0GmfDOFcdIMLYY5NDcmoape+eS606hRVXRpPD9l+7v 6apuOKDbnZfqB1LViAMBNRvHnTBkgvsb3QlIBdPrgTRogr/ja7s2waHJ+XogNMpwspip csluNQpGuTqYV28MmYW7GFUlKlidaSF98GrQSCAZnXWUJCK5nQ5LDLgIxEhkpbqP009/ mBUmPVzE+V3DUV11s6fcdqN9LXkmymDnwPtsK6dyQdjBYkTdGV/pecbojzA1b/yZSKCN mhLnhrEIgKwQ4bJlTB78xKKxkHhIHLQF7O1C/wA+7EA0dBuJ9qIfb7s5zKzjDeleqMwa 3gLw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=TJ178/SYfLyNXXBuI80jvCwY5m3q4Emw17NPoLtvCkE=; b=jJGrrx1mo1z3ixN2agYCBtxBIWuCwdxNc76HQansctLvCtK2iHOjUWtvUgDSSEcgOu kYIIB4Q0YajY67c46vOdr5lxCTnSZdivf1NblgVJsC0xQ5RIVI8TexqowscSJ/2q7GRa dGcNT1L9e+Y7HDclJXzVBIog1BudSHogsBSmvRKwAMmLW9JL/dEODC6xGEoAgH6HvGyy wwiGHSaC1R6/3ItL9bV4Kw+gOPtMPK9WL5bOC+U9/aSO2FnmbJ05PpAXfv4YOF6TCs83 YCEMyqhN9lNfuvvS71jxNdZgI6yklZsMakg2BbWAK44iZrmcvW4At9wBSXYEGlMHtCXe o+RQ== X-Gm-Message-State: AEkoouuaKRRat7Hh87yFWCmBC4cePdjrH6YTqCm+tWYLhmV6BPv7KxePgfHd0XGbPjkaXw== X-Received: by 10.28.113.20 with SMTP id m20mr1481779wmc.82.1469802537400; Fri, 29 Jul 2016 07:28:57 -0700 (PDT) Received: from r-x-uffo8396.rd.francetelecom.fr (ARennes-654-1-144-150.w2-13.abo.wanadoo.fr. [2.13.175.150]) by smtp.gmail.com with ESMTPSA id h7sm16829576wjd.17.2016.07.29.07.28.55 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 29 Jul 2016 07:28:55 -0700 (PDT) From: Fabrice Fontaine X-Google-Original-From: Fabrice Fontaine To: buildroot@buildroot.org Date: Fri, 29 Jul 2016 16:28:37 +0200 Message-Id: <1469802517-17937-1-git-send-email-fabrice.fontaine@orange.com> X-Mailer: git-send-email 2.7.4 Cc: Fabrice Fontaine Subject: [Buildroot] [PATCH 1/1] minissdpd: new package X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" SSDP managing daemon. Designed to work with miniupnpc, miniupnpd, minidlna, etc. http://miniupnp.free.fr/ Signed-off-by: Fabrice Fontaine --- package/Config.in | 1 + .../0001-Set-_GNU_SOURCE-in-asyncsendto.c.patch | 32 +++++++++++++++ package/minissdpd/Config.in | 8 ++++ package/minissdpd/S50minissdpd | 47 ++++++++++++++++++++++ package/minissdpd/minissdpd.hash | 2 + package/minissdpd/minissdpd.mk | 38 +++++++++++++++++ package/minissdpd/minissdpd.service | 12 ++++++ 7 files changed, 140 insertions(+) create mode 100644 package/minissdpd/0001-Set-_GNU_SOURCE-in-asyncsendto.c.patch create mode 100644 package/minissdpd/Config.in create mode 100644 package/minissdpd/S50minissdpd create mode 100644 package/minissdpd/minissdpd.hash create mode 100644 package/minissdpd/minissdpd.mk create mode 100644 package/minissdpd/minissdpd.service diff --git a/package/Config.in b/package/Config.in index ee7ba39..616df66 100644 --- a/package/Config.in +++ b/package/Config.in @@ -1495,6 +1495,7 @@ menu "Networking applications" source "package/memcached/Config.in" source "package/mii-diag/Config.in" source "package/minidlna/Config.in" + source "package/minissdpd/Config.in" source "package/mjpg-streamer/Config.in" source "package/modem-manager/Config.in" source "package/mongrel2/Config.in" diff --git a/package/minissdpd/0001-Set-_GNU_SOURCE-in-asyncsendto.c.patch b/package/minissdpd/0001-Set-_GNU_SOURCE-in-asyncsendto.c.patch new file mode 100644 index 0000000..35854c5 --- /dev/null +++ b/package/minissdpd/0001-Set-_GNU_SOURCE-in-asyncsendto.c.patch @@ -0,0 +1,32 @@ +From 8ea177d974259c91f7e520d4b5b2abf07a1bbce2 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 29 Jul 2016 13:32:09 +0200 +Subject: [PATCH 1/1] Set _GNU_SOURCE in asyncsendto.c + +Add #define on _GNU_SOURCE at the very beginning of asyncsendto.c file +as this file uses in6_pktinfo which is protected by __USE_GNU in +libc/inet/netinet/in.h. Currently, this flag is set by the Makefile in +CFLAGS however CFLAGS could be overwritten by the build system. + +Signed-off-by: Fabrice Fontaine +--- + minissdpd/asyncsendto.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/asyncsendto.c b/minissdpd/asyncsendto.c +index bd21e93..3e5eba3 100644 +--- a/asyncsendto.c ++++ b/asyncsendto.c +@@ -5,6 +5,9 @@ + * This software is subject to the conditions detailed + * in the LICENCE file provided within the distribution */ + ++// for struct in6_pktinfo ++#define _GNU_SOURCE ++ + #include + #include + #include +-- +2.7.4 + diff --git a/package/minissdpd/Config.in b/package/minissdpd/Config.in new file mode 100644 index 0000000..b5a73f0 --- /dev/null +++ b/package/minissdpd/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_MINISSDPD + bool "minissdpd" + select BR2_PACKAGE_LIBNFNETLINK + help + SSDP managing daemon. + Designed to work with miniupnpc, miniupnpd, minidlna, etc. + + http://miniupnp.free.fr/ diff --git a/package/minissdpd/S50minissdpd b/package/minissdpd/S50minissdpd new file mode 100644 index 0000000..76b6ae3 --- /dev/null +++ b/package/minissdpd/S50minissdpd @@ -0,0 +1,47 @@ +#!/bin/sh + +NAME=minissdpd +PIDFILE=/var/run/$NAME.pid +DAEMON=/usr/sbin/$NAME +CFGFILE=/etc/default/$NAME + +IF=eth0 + +# Read configuration variable file if it is present +if [ -f $CFGFILE ]; then + . $CFGFILE +fi + +DAEMON_ARGS="-i $IF" + +start() { + printf "Starting $NAME: " + start-stop-daemon -S -q -m -b -p $PIDFILE --exec $DAEMON -- $DAEMON_ARGS + [ $? = 0 ] && echo "OK" || echo "FAIL" +} +stop() { + printf "Stopping $NAME: " + start-stop-daemon -K -q -p $PIDFILE + [ $? = 0 ] && echo "OK" || echo "FAIL" +} +restart() { + stop + start +} + +case "$1" in + start) + start + ;; + stop) + stop + ;; + restart|reload) + restart + ;; + *) + echo "Usage: $0 {start|stop|restart}" + exit 1 +esac + +exit $? diff --git a/package/minissdpd/minissdpd.hash b/package/minissdpd/minissdpd.hash new file mode 100644 index 0000000..8d670f3 --- /dev/null +++ b/package/minissdpd/minissdpd.hash @@ -0,0 +1,2 @@ +# Locally computed: +sha256 dfd637b185731e1acb412a86faa9718eb93c04ca08280541a6d22d14d1fb890f minissdpd-1.5.tar.gz diff --git a/package/minissdpd/minissdpd.mk b/package/minissdpd/minissdpd.mk new file mode 100644 index 0000000..eddef0f --- /dev/null +++ b/package/minissdpd/minissdpd.mk @@ -0,0 +1,38 @@ +################################################################################ +# +# minissdpd +# +################################################################################ + +MINISSDPD_VERSION = 1.5 +MINISSDPD_SITE = http://miniupnp.free.fr/files +MINISSDPD_LICENSE = BSD-3c +MINISSDPD_LICENSE_FILES = LICENSE +MINISSDPD_DEPENDENCIES = libnfnetlink + +define MINISSDPD_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) +endef + +define MINISSDPD_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) \ + PREFIX=$(TARGET_DIR) install +endef + +# Use dedicated init scripts for systemV and systemd instead of using +# minissdpd.init.d.script as it is not compatible with buildroot init system +define MINISSDPD_INSTALL_INIT_SYSV + $(RM) $(TARGET_DIR)/etc/init.d/minissdpd + $(INSTALL) -D -m 0755 package/minissdpd/S50minissdpd \ + $(TARGET_DIR)/etc/init.d/S50minissdpd +endef + +define MINISSDPD_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/minissdpd/minissdpd.service \ + $(TARGET_DIR)/usr/lib/systemd/system/minissdpd.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf ../../../../usr/lib/systemd/system/minissdpd.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/minissdpd.service +endef + +$(eval $(generic-package)) diff --git a/package/minissdpd/minissdpd.service b/package/minissdpd/minissdpd.service new file mode 100644 index 0000000..4a520f5 --- /dev/null +++ b/package/minissdpd/minissdpd.service @@ -0,0 +1,12 @@ +[Unit] +Description=SSDP managing daemon +After=network.target + +[Service] +Environment="IF=eth0" +EnvironmentFile=/etc/default/minissdpd +ExecStart=/usr/sbin/minissdpd -i $IF +Restart=always + +[Install] +WantedBy=multi-user.target