Signed-off-by: Ladislav Michl <la...@linux-mips.org>
---
 Changes:
 -v2: address mol's comments

 rules/smcroute.in   | 39 +++++++++++++++++++++
 rules/smcroute.make | 84 +++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 123 insertions(+)
 create mode 100644 rules/smcroute.in
 create mode 100644 rules/smcroute.make

diff --git a/rules/smcroute.in b/rules/smcroute.in
new file mode 100644
index 000000000..e9fa8f9d2
--- /dev/null
+++ b/rules/smcroute.in
@@ -0,0 +1,39 @@
+## SECTION=networking
+
+menuconfig SMCROUTE
+       tristate
+       prompt "smcroute                      "
+       select SYSTEMD          if SMCROUTE_SYSTEMD_UNIT
+       select LIBCAP           if SMCROUTE_LIBCAP
+       help
+         SMCRoute is a daemon and command line tool to manipulate
+         the multicast routing table in the UNIX kernel. 
+         SMCRoute can be used as an alternative to dynamic multicast
+         routing daemons like mrouted or pimd when (only) static
+         multicast routes should be maintained and/or no proper
+         IGMP signalling exists.
+
+if SMCROUTE
+
+config SMCROUTE_CONFIG
+       bool
+       default y
+       prompt "install smcroute.conf"
+
+config SMCROUTE_SYSTEMD_UNIT
+       bool
+       default y
+       depends on INITMETHOD_SYSTEMD
+       prompt "install systemd unit files for smcroute"
+
+config SMCROUTE_CLIENT
+       bool
+       prompt "install smcroutectl"
+       help
+         Enable IPC API and install smcroutectl.
+
+config SMCROUTE_LIBCAP
+       bool
+       prompt "use libcap to manipulate capabilities"
+
+endif
diff --git a/rules/smcroute.make b/rules/smcroute.make
new file mode 100644
index 000000000..a3be8bd00
--- /dev/null
+++ b/rules/smcroute.make
@@ -0,0 +1,84 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2018 by Ladislav Michl <la...@linux-mips.org>
+#
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_SMCROUTE) += smcroute
+
+#
+# Paths and names
+#
+SMCROUTE_VERSION       := 2.4.0
+SMCROUTE_MD5           := 6b4cd5ceb0476c0fbe5c1da093234f13
+SMCROUTE               := smcroute-$(SMCROUTE_VERSION)
+SMCROUTE_SUFFIX                := tar.xz
+SMCROUTE_URL           := \
+       
https://github.com/troglobit/smcroute/releases/download/$(SMCROUTE_VERSION)/$(SMCROUTE).$(SMCROUTE_SUFFIX)
+SMCROUTE_SOURCE                := $(SRCDIR)/$(SMCROUTE).$(SMCROUTE_SUFFIX)
+SMCROUTE_DIR           := $(BUILDDIR)/$(SMCROUTE)
+SMCROUTE_LICENSE       := GPL-2.0-or-later
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+SMCROUTE_CONF_TOOL     := autoconf
+SMCROUTE_CONF_OPT      := \
+       $(CROSS_AUTOCONF_USR) \
+       --enable-mrdisc \
+       $(GLOBAL_IPV6_OPTION) \
+       --$(call ptx/endis,PTXCONF_SMCROUTE_CLIENT)-client \
+       --$(call ptx/endis,PTXCONF_SMCROUTE_CONFIG)-config \
+       --$(call ptx/wwo,PTXCONF_SMCROUTE_LIBCAP)-libcap \
+       --with-systemd=/usr/lib/systemd/system
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/smcroute.install:
+       @$(call targetinfo)
+       @$(call world/install, SMCROUTE)
+
+ifdef PTXCONF_SMCROUTE_CONFIG
+       @install -vD -m 644 "$(SMCROUTE_DIR)/smcroute.conf" \
+               "$(SMCROUTE_PKGDIR)/etc"
+endif
+       @$(call touch)
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/smcroute.targetinstall:
+       @$(call targetinfo)
+
+       @$(call install_init, smcroute)
+       @$(call install_fixup, smcroute,PRIORITY,optional)
+       @$(call install_fixup, smcroute,SECTION,base)
+       @$(call install_fixup, smcroute,AUTHOR,"Ladislav Michl 
<la...@linux-mips.org>")
+       @$(call install_fixup, smcroute,DESCRIPTION,missing)
+
+ifdef PTXCONF_SMCROUTE_CONFIG
+       @$(call install_alternative, smcroute, 0, 0, 0644, /etc/smcroute.conf)
+endif
+ifdef PTXCONF_SMCROUTE_SYSTEMD_UNIT
+       @$(call install_alternative, smcroute, 0, 0, 0644, \
+               /usr/lib/systemd/system/smcroute.service)
+endif
+ifdef PTXCONF_SMCROUTE_CLIENT
+       @$(call install_copy, smcroute, 0, 0, 0755, -, /usr/sbin/smcroutectl)
+endif
+       @$(call install_copy, smcroute, 0, 0, 0755, -, /usr/sbin/smcrouted)
+
+       @$(call install_finish, smcroute)
+
+       @$(call touch)
-- 
2.17.0


_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

Reply via email to