diff options
Diffstat (limited to 'package/radvd')
-rw-r--r-- | package/radvd/Config.in | 7 | ||||
-rw-r--r-- | package/radvd/Makefile | 62 | ||||
-rwxr-xr-x | package/radvd/files/S51radvd | 22 | ||||
-rw-r--r-- | package/radvd/files/radvd.conf.example | 22 | ||||
-rw-r--r-- | package/radvd/patches/no-libfl.patch | 12 | ||||
-rw-r--r-- | package/radvd/radvd.control | 7 |
6 files changed, 132 insertions, 0 deletions
diff --git a/package/radvd/Config.in b/package/radvd/Config.in new file mode 100644 index 000000000..4857b4de8 --- /dev/null +++ b/package/radvd/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_RADVD + select BR2_PACKAGE_KMOD_IPV6 + select BR2_PACKAGE_LIBFL + tristate "radvd" + default m + help + Routing Advertisement Daemon for IPv6 diff --git a/package/radvd/Makefile b/package/radvd/Makefile new file mode 100644 index 000000000..6b1fadbb2 --- /dev/null +++ b/package/radvd/Makefile @@ -0,0 +1,62 @@ +include $(TOPDIR)/rules.mk + +PKG_NAME:=radvd +PKG_VERSION:=0.7.3 +PKG_RELEASE:=1 +PKG_MD5SUM:=56ce3f8cbf5966a0d531c21813320423 + +PKG_SOURCE_URL:=http://v6web.litech.org/radvd/dist +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) +PKG_CAT:=zcat +PKG_IPK:=$(PACKAGE_DIR)/$(PKG_NAME)_$(PKG_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk +PKG_IPK_DIR:=$(PKG_BUILD_DIR)/ipkg + +$(DL_DIR)/$(PKG_SOURCE): + $(SCRIPT_DIR)/download.pl $(DL_DIR) $(PKG_SOURCE) $(PKG_MD5SUM) $(PKG_SOURCE_URL) + +$(PKG_BUILD_DIR)/.patched: $(DL_DIR)/$(PKG_SOURCE) + $(PKG_CAT) $(DL_DIR)/$(PKG_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) - + $(PATCH) $(PKG_BUILD_DIR) ./patches + touch $(PKG_BUILD_DIR)/.patched + +$(PKG_BUILD_DIR)/.configured: $(PKG_BUILD_DIR)/.patched + (cd $(PKG_BUILD_DIR); rm -rf config.cache; \ + $(TARGET_CONFIGURE_OPTS) \ + CFLAGS="$(TARGET_CFLAGS)" \ + ./configure \ + --target=$(GNU_TARGET_NAME) \ + --host=$(GNU_TARGET_NAME) \ + --build=$(GNU_HOST_NAME) \ + --prefix=/usr \ + --with-logfile=/tmp/radvd.log \ + --with-pidfile=/tmp/run/radvd.pid \ + --with-configfile=/etc/radvd.conf \ + ); + touch $(PKG_BUILD_DIR)/.configured + +$(PKG_BUILD_DIR)/$(PKG_NAME): $(PKG_BUILD_DIR)/.configured + $(MAKE) $(TARGET_CONFIGURE_OPTS) LD=$(TARGET_CC) LDFLAGS=-L$(PKG_BUILD_DIR) -C $(PKG_BUILD_DIR) radvd_LDADD="" + +$(PKG_IPK): $(PKG_BUILD_DIR)/$(PKG_NAME) + $(SCRIPT_DIR)/make-ipkg-dir.sh $(PKG_IPK_DIR) $(PKG_NAME).control $(PKG_VERSION)-$(PKG_RELEASE) $(ARCH) + mkdir -p $(PKG_IPK_DIR)/usr/sbin $(PKG_IPK_DIR)/etc/init.d + install -m 755 $(PKG_BUILD_DIR)/radvd $(PKG_IPK_DIR)/usr/sbin/ + install -m 755 $(PKG_BUILD_DIR)/radvdump $(PKG_IPK_DIR)/usr/sbin/ + install -m 755 ./files/S51radvd $(PKG_IPK_DIR)/etc/init.d/ + install -m 644 ./files/radvd.conf.example $(PKG_IPK_DIR)/etc/ + $(STRIP) $(PKG_IPK_DIR)/usr/sbin/* + mkdir -p $(PACKAGE_DIR) + $(IPKG_BUILD) $(PKG_IPK_DIR) $(PACKAGE_DIR) + +$(IPKG_STATE_DIR)/info/$(PKG_NAME).list: $(PKG_IPK) + $(IPKG) install $(PKG_IPK) + +source: $(DL_DIR)/$(PKG_SOURCE) +prepare: $(PKG_BUILD_DIR)/.patched +compile: $(PKG_IPK) +install: $(IPKG_STATE_DIR)/info/$(PKG_NAME).list + +clean: + rm -rf $(PKG_BUILD_DIR) + rm -f $(PKG_IPK) diff --git a/package/radvd/files/S51radvd b/package/radvd/files/S51radvd new file mode 100755 index 000000000..88565db48 --- /dev/null +++ b/package/radvd/files/S51radvd @@ -0,0 +1,22 @@ +#!/bin/sh + +case "$1" in + start) + echo 1 > /proc/sys/net/ipv6/conf/all/forwarding + /usr/sbin/radvd + ;; + + stop) + killall radvd + echo 0 > /proc/sys/net/ipv6/conf/all/forwarding + ;; + + restart) + $0 stop + $0 start + ;; + *) + echo "Usage: $0 {start|stop|restart}" + exit 1 + ;; +esac diff --git a/package/radvd/files/radvd.conf.example b/package/radvd/files/radvd.conf.example new file mode 100644 index 000000000..06d835704 --- /dev/null +++ b/package/radvd/files/radvd.conf.example @@ -0,0 +1,22 @@ +# For more examples, see the radvd documentation. + +interface br0 +{ + AdvSendAdvert off; + +# +# Disable Mobile IPv6 support +# + AdvHomeAgentFlag off; + +# +# example of a standard prefix +# + prefix fec0:0:0:1::/64 + { + AdvOnLink on; + AdvAutonomous on; + AdvRouterAddr off; + }; + +}; diff --git a/package/radvd/patches/no-libfl.patch b/package/radvd/patches/no-libfl.patch new file mode 100644 index 000000000..e17a127c9 --- /dev/null +++ b/package/radvd/patches/no-libfl.patch @@ -0,0 +1,12 @@ +diff -urN radvd-0.7.3.old/scanner.l radvd-0.7.3/scanner.l +--- radvd-0.7.3.old/scanner.l 2004-10-26 07:30:34.000000000 +0200 ++++ radvd-0.7.3/scanner.l 2005-04-05 00:01:42.000000000 +0200 +@@ -21,6 +21,8 @@ + + extern char *conf_file; + ++int yywrap(void) { return 1; } ++ + int num_lines = 1; + %} + diff --git a/package/radvd/radvd.control b/package/radvd/radvd.control new file mode 100644 index 000000000..52760ad39 --- /dev/null +++ b/package/radvd/radvd.control @@ -0,0 +1,7 @@ +Package: radvd +Priority: optional +Section: net +Maintainer: Sebastien NOEL <me@twolife.org> +Source: http://v6web.litech.org/radvd/ +Depends: kmod-ipv6 +Description: Routing Advertisement Daemon for IPv6 |