From 219a6dab8995aad9ac4860cc1a84d6f3509a03a4 Mon Sep 17 00:00:00 2001 From: wbx Date: Sun, 17 May 2009 14:41:34 +0200 Subject: Initial import --- package/mrd6/Config.in | 15 +++++++ package/mrd6/Makefile | 31 ++++++++++++++ package/mrd6/files/mrd6.conf | 14 ++++++ package/mrd6/files/mrd6.init | 25 +++++++++++ package/mrd6/ipkg/mrd6.control | 6 +++ package/mrd6/ipkg/mrd6.postinst | 3 ++ package/mrd6/patches/patch-src_Makefile | 75 +++++++++++++++++++++++++++++++++ 7 files changed, 169 insertions(+) create mode 100644 package/mrd6/Config.in create mode 100644 package/mrd6/Makefile create mode 100644 package/mrd6/files/mrd6.conf create mode 100644 package/mrd6/files/mrd6.init create mode 100644 package/mrd6/ipkg/mrd6.control create mode 100644 package/mrd6/ipkg/mrd6.postinst create mode 100644 package/mrd6/patches/patch-src_Makefile (limited to 'package/mrd6') 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: -- cgit v1.2.3