Port mrd6 to -ng

git-svn-id: svn://svn.openwrt.org/openwrt/packages@4469 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
florian 2006-08-05 16:29:15 +00:00
parent 4af2164524
commit 0d73b9ca22
4 changed files with 128 additions and 0 deletions

64
net/mrd6/Makefile Normal file
View File

@ -0,0 +1,64 @@
#
# Copyright (C) 2006 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
# $Id$
include $(TOPDIR)/rules.mk
PKG_NAME:=mrd6
PKG_VERSION:=0.9.5
PKG_RELEASE:=1
PKG_MD5SUM:=24a08cf1407000d628a272b08a415dda
PKG_SOURCE_URL:=http://hng.av.it.pt/mrd6/download/
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_CAT:=zcat
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
include $(INCLUDE_DIR)/package.mk
define Package/mrd6
SECTION:=net
CATEGORY:=Network
DEPENDS:=+uclibcxx
TITLE:=IPv6 multicast routing daemon
DESCRIPTION:=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.\\\
URL:=http://artemis.av.it.pt/mrd6/
endef
define Package/mrd6/conffiles
/etc/mrd6.conf
endef
define Build/Compile
$(MAKE) -C $(PKG_BUILD_DIR)/src \
OPTIMIZE=yes \
SPACE_OPTIMIZE=yes \
FULL_STATIC=yes \
CFLAGS="$(TARGET_CFLAGS) -DNO_INET6_OPTION" \
CXX=$(TARGET_CROSS)g++ \
CC=$(TARGET_CC) \
STAGING_DIR=$(STAGING_DIR) \
DESTDIR=$(PKG_INSTALL_DIR) \
PREFIX=/usr/ \
install
endef
define Package/mrd6/install
install -d -m0755 $(1)/etc/init.d
install -m0644 files/mrd6.conf $(1)/etc
install -m0755 files/mrd6.init $(1)/etc/init.d/S60mrd6
endef
$(eval $(call BuildPackage,mrd6))

14
net/mrd6/files/mrd6.conf Normal file
View File

@ -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::;

29
net/mrd6/files/mrd6.init Executable file
View File

@ -0,0 +1,29 @@
#!/bin/sh
case $1 in
start)
/sbin/lsmod | grep ipv6 > /dev/null
if [ "$?" != "0" ]
then
echo -n "IPv6 stack required by mrd6. Loading ipv6 module: "
/sbin/insmod ipv6
echo "Done."
fi
echo -n "Starting IPv6 multicast router (mrd6): "
/usr/sbin/mrd6 -f /etc/mrd6.conf -D
echo "Done."
;;
stop)
echo -n "Stopping IPv6 multicast router (mrd6): "
killall mrd6
echo "Done."
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: $0 {start | stop | restart}"
;;
esac
exit 0

View File

@ -0,0 +1,21 @@
diff -urN mrd6-0.9.5/src/Makefile mrd6-0.9.5.new/src/Makefile
--- mrd6-0.9.5/src/Makefile 2005-12-18 19:15:04.000000000 +0100
+++ mrd6-0.9.5.new/src/Makefile 2006-02-11 18:30:44.000000000 +0100
@@ -43,7 +43,7 @@
CFLAGS += -DNO_INET6_OPTION
endif
-DEST_PREFIX = $(DESTDIR)$(PREFIX)
+DEST_PREFIX = $(DESTDIR)/$(PREFIX)
ifeq ($(OPTIMIZE),yes)
ifeq ($(SPACE_OPTIMIZE),yes)
@@ -97,7 +97,7 @@
endif
endif
-LDFLAGS += -lm
+LDFLAGS += -lm -lnotimpl -L$(STAGING_DIR)/usr/lib
ifeq ($(PLATFORM),OS_LINUX)
LDFLAGS += -ldl
endif