summaryrefslogtreecommitdiff
path: root/package/mrd6
diff options
context:
space:
mode:
authorwbx <wbx@hydrogenium.(none)>2009-05-17 14:41:34 +0200
committerwbx <wbx@hydrogenium.(none)>2009-05-17 14:41:34 +0200
commit219a6dab8995aad9ac4860cc1a84d6f3509a03a4 (patch)
treeb9c0f3c43aebba2fcfef777592d0add39f2072f4 /package/mrd6
Initial import
Diffstat (limited to 'package/mrd6')
-rw-r--r--package/mrd6/Config.in15
-rw-r--r--package/mrd6/Makefile31
-rw-r--r--package/mrd6/files/mrd6.conf14
-rw-r--r--package/mrd6/files/mrd6.init25
-rw-r--r--package/mrd6/ipkg/mrd6.control6
-rw-r--r--package/mrd6/ipkg/mrd6.postinst3
-rw-r--r--package/mrd6/patches/patch-src_Makefile75
7 files changed, 169 insertions, 0 deletions
diff --git a/package/mrd6/Config.in b/package/mrd6/Config.in
new file mode 100644
index 000000000..62a3e3585
--- /dev/null
+++ b/package/mrd6/Config.in
@@ -0,0 +1,15 @@
+config ADK_PACKAGE_MRD6
+ prompt "mrd6.............................. IPv6 multicast routing daemon"
+ depends on ADK_IPV6
+ tristate
+ default n
+ help
+ Multicast is becoming a major component in next generation
+ networks, used in several scenarios, from video broadcasting
+ to multimedia conferencing. In order to be implemented, new
+ technology needs supporting hardware and software across a set
+ of devices and systems. MRD6 is an implementation of a modular
+ IPv6 Multicast Routing Framework for the Linux operating system
+ and provides MLDv2 (as well as MLDv1), PIM-SM and MBGP support.
+
+ http://artemis.av.it.pt/mrd6/
diff --git a/package/mrd6/Makefile b/package/mrd6/Makefile
new file mode 100644
index 000000000..009f36516
--- /dev/null
+++ b/package/mrd6/Makefile
@@ -0,0 +1,31 @@
+# $Id$
+#-
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include ${TOPDIR}/rules.mk
+
+PKG_NAME:= mrd6
+PKG_VERSION:= 0.9.6
+PKG_RELEASE:= 1
+PKG_MD5SUM:= 93ada53bb414b9d622f80a717bc2694b
+MASTER_SITES:= http://fivebits.net/files/mrd6/
+
+WRKBUILD= ${WRKSRC}/src
+
+include ${TOPDIR}/mk/package.mk
+
+$(eval $(call PKG_template,MRD6,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${ARCH}))
+
+BUILD_STYLE:= auto
+INSTALL_STYLE:= auto
+XAKE_FLAGS+= EXTRA_FLAGS="${TCFLAGS}"
+
+post-install:
+ ${INSTALL_DIR} ${WRKINST}/etc/init.d
+ ${INSTALL_DATA} files/${PKG_NAME}.conf ${WRKINST}/etc
+ ${INSTALL_BIN} files/${PKG_NAME}.init ${WRKINST}/etc/init.d/${PKG_NAME}
+ ${INSTALL_DIR} ${IDIR_MRD6}/usr/sbin
+ ${CP} ${WRKINST}/* ${IDIR_MRD6}/
+
+include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/mrd6/files/mrd6.conf b/package/mrd6/files/mrd6.conf
new file mode 100644
index 000000000..84ce923a3
--- /dev/null
+++ b/package/mrd6/files/mrd6.conf
@@ -0,0 +1,14 @@
+log {
+ attach stderr normal;
+ attach default "/var/log/mrd6.log" message_err;
+}
+
+interfaces br0 enable = false; // Should be vlan0 + eth1 but Linux bridge seems broken for multicast
+interfaces eth0 enable = false; // Interface to internal bridge
+handle-proper-bridge = true; // use ETH_P_ALL to see all packets on wrt54g
+
+// The default configured RP is m6bone's Renater RP.
+// Change this according to your setup
+
+groups ff00::/8 pim rp = 2001:660:3007:300:1::;
+
diff --git a/package/mrd6/files/mrd6.init b/package/mrd6/files/mrd6.init
new file mode 100644
index 000000000..ed3d4bab6
--- /dev/null
+++ b/package/mrd6/files/mrd6.init
@@ -0,0 +1,25 @@
+#!/bin/sh
+#FWINIT 60
+. /etc/rc.conf
+
+case $1 in
+autostop) ;;
+autostart)
+ test x"${mrd6:-NO}" = x"NO" && exit 0
+ exec sh $0 start
+ ;;
+start)
+ /usr/sbin/mrd6 -f /etc/mrd6.conf -D
+ ;;
+stop)
+ killall mrd6
+ ;;
+restart)
+ sh $0 stop
+ sh $0 start
+ ;;
+*)
+ echo "Usage: $0 {start | stop | restart}"
+ ;;
+esac
+exit $?
diff --git a/package/mrd6/ipkg/mrd6.control b/package/mrd6/ipkg/mrd6.control
new file mode 100644
index 000000000..89082b9f4
--- /dev/null
+++ b/package/mrd6/ipkg/mrd6.control
@@ -0,0 +1,6 @@
+Package: mrd6
+Architecture: mipsel
+Section: net
+Priority: optional
+Depends: kmod-ipv6
+Description: IPv6 multicast routing daemon
diff --git a/package/mrd6/ipkg/mrd6.postinst b/package/mrd6/ipkg/mrd6.postinst
new file mode 100644
index 000000000..10332bae6
--- /dev/null
+++ b/package/mrd6/ipkg/mrd6.postinst
@@ -0,0 +1,3 @@
+#!/bin/sh
+. $IPKG_INSTROOT/etc/functions.sh
+add_rcconf mrd6 mrd6 NO
diff --git a/package/mrd6/patches/patch-src_Makefile b/package/mrd6/patches/patch-src_Makefile
new file mode 100644
index 000000000..521673933
--- /dev/null
+++ b/package/mrd6/patches/patch-src_Makefile
@@ -0,0 +1,75 @@
+$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
+--- mrd6-0.9.6.orig/src/Makefile 2007-06-25 01:58:28.000000000 +0200
++++ mrd6-0.9.6/src/Makefile 2008-10-21 11:27:38.000000000 +0200
+@@ -26,7 +26,7 @@ ifeq ($(SUPPORT_MODULES),yes)
+ MODULES ?= BGP
+ LDCMD = -rdynamic
+ else
+- MODULE_OPTIONS += -DMRD_NO_DYNAMIC_MODULE_LOADING
++ MODULE_OPTIONS += MRD_NO_DYNAMIC_MODULE_LOADING
+ endif
+
+ INCLUDES = -I../include
+@@ -92,7 +92,7 @@ TESTS = tests/address_unittest tests/ptr
+ DEST_PREFIX = $(DESTDIR)$(PREFIX)
+
+ CXXFLAGS = $(INCLUDES) -ansi -Wall -Wno-multichar -fno-exceptions -fPIC \
+- -D$(PLATFORM) $(addprefix -D,$(MODULE_OPTIONS))
++ -D$(PLATFORM) $(addprefix -D,$(MODULE_OPTIONS)) $(EXTRA_FLAGS)
+
+ ifeq ($(OPTIMIZE),yes)
+ ifeq ($(SPACE_OPTIMIZE),yes)
+@@ -101,11 +101,8 @@ ifeq ($(OPTIMIZE),yes)
+ CXXFLAGS += -O3
+ endif
+ else
+- CXXFLAGS += -g
+ ifeq ($(NO_INLINE),yes)
+ CXXFLAGS += -O0 -fno-inline
+- else
+- CXXFLAGS += -O2
+ endif
+ endif
+
+@@ -151,7 +148,7 @@ $(foreach test,$(TESTS),$(eval $(call un
+
+ $(TARGET): $(MRD_OBJECTS)
+ @echo "Linking $(TARGET)"
+- @$(CXX) $(LDCMD) $(CXXFLAGS) -o $@ $(MRD_OBJECTS) $(LDFLAGS)
++ $(CXX) $(LDCMD) $(CXXFLAGS) -o $@ $(MRD_OBJECTS) $(LDFLAGS)
+
+ install: $(TARGET) $(EXTERNAL_MODULES)
+ install -D $(TARGET) $(DEST_PREFIX)/sbin/$(TARGET)
+@@ -162,12 +159,12 @@ ifneq (,$(EXTERNAL_MODULES))
+ endif
+
+ $(MRD_VERSION_CPP): $(SOURCES) Makefile Makefile.options
+- @set -e; mkdir -p $(dir $@); \
++ mkdir -p $(dir $@); \
+ echo '/* This file is automatically generated */' > $(MRD_VERSION_CPP); \
+ echo 'const char *BuildDate = "$(NOW)";' >> $(MRD_VERSION_CPP)
+
+ $(MODULES_CPP): Makefile Makefile.options
+- @set -e; mkdir -p $(dir $@); \
++ mkdir -p $(dir $@); \
+ echo "Generating modules.cpp"; \
+ scripts/generate-modules-cpp.pl $(STATIC_MODULES) > $(MODULES_CPP)
+
+@@ -181,7 +178,7 @@ $(OPTIONS):
+
+ $(DEPS_DIR)/%.d: %.cpp $(OPTIONS)
+ @echo "Deps $<"
+- @set -e; mkdir -p $(dir $@); \
++ mkdir -p $(dir $@); \
+ $(CXX) -MM -MT $@ -MT $(addprefix $(OBJ_DIR)/,$(<:.cpp=.o)) \
+ $(CXXFLAGS) $< > $@
+
+@@ -195,7 +192,7 @@ endif
+
+ $(OBJ_DIR)/%.o: %.cpp $(OPTIONS)
+ @echo "C++ $<"
+- @set -e; mkdir -p $(dir $@); \
++ mkdir -p $(dir $@); \
+ $(CXX) -c $(CXXFLAGS) $< -o $@
+
+ clean: