[oe-commits] org.oe.dev radvd: Add init scripts and sample configurations to documentation.

lenehan commit openembedded-commits at lists.openembedded.org
Fri Mar 16 05:06:50 UTC 2007


radvd: Add init scripts and sample configurations to documentation.
- The init script, radvd.init, is directly from the debian package.
- The radvd.conf.empty is from the redhat specs dir in the 1.0
  sources - added here rather then using it from the package because
  it wasn't present in the 0.7.2 and I want to avoid breaking that
  version.

Author: lenehan at openembedded.org
Branch: org.openembedded.dev
Revision: f23268063eeedc6ffc49faee6369ded86f25829f
ViewMTN: http://monotone.openembedded.org/revision.psp?id=f23268063eeedc6ffc49faee6369ded86f25829f
Files:
1
packages/radvd/files
packages/radvd/files/radvd.conf.empty
packages/radvd/files/radvd.init
packages/radvd/files/volatiles.03_radvd
packages/radvd/radvd.inc
packages/radvd/radvd_0.7.2.bb
packages/radvd/radvd_1.0.bb
mtn:execute
true
Diffs:

#
# mt diff -r2f8432d405d1ad5201bfddc957496bd27b20266d -rf23268063eeedc6ffc49faee6369ded86f25829f
#
# 
# 
# add_dir "packages/radvd/files"
# 
# add_file "packages/radvd/files/radvd.conf.empty"
#  content [7e58387311f76d1ed11b8ba3014842e0012f6a5b]
# 
# add_file "packages/radvd/files/radvd.init"
#  content [181897064a4058dde60508e7594a7fe063cf0f87]
# 
# add_file "packages/radvd/files/volatiles.03_radvd"
#  content [72ac8ae7cde8042770674e118a227c879a86125f]
# 
# patch "packages/radvd/radvd.inc"
#  from [93b0c447a6c034ca1b53442d078bc67db283a2d3]
#    to [39f7340253a3d8a7264796fe3ea9dfb1dda830ef]
# 
# patch "packages/radvd/radvd_0.7.2.bb"
#  from [f3674293490e9ee25ee04c8b6ac872eb454310a1]
#    to [83adbbee53a450be7c002cc188d19d17ae35fa2d]
# 
# patch "packages/radvd/radvd_1.0.bb"
#  from [2be9d1c7b104354c0bf7278485331b01b1ce6735]
#    to [6627cc63962bd0e1f81ec0e67e99f81f961c993c]
# 
#   set "packages/radvd/files/radvd.init"
#  attr "mtn:execute"
# value "true"
# 
============================================================
--- packages/radvd/files/radvd.conf.empty	7e58387311f76d1ed11b8ba3014842e0012f6a5b
+++ packages/radvd/files/radvd.conf.empty	7e58387311f76d1ed11b8ba3014842e0012f6a5b
@@ -0,0 +1,18 @@
+# NOTE: there is no such thing as a working "by-default" configuration file. 
+#       At least the prefix needs to be specified.  Please consult the radvd.conf(5)
+#       man page and/or /usr/share/doc/radvd-*/radvd.conf.example for help.
+#
+#
+#interface eth0
+#{
+#	AdvSendAdvert on;
+#	MinRtrAdvInterval 30;
+#	MaxRtrAdvInterval 100;
+#	prefix 2001:db8:1:0::/64
+#	{
+#		AdvOnLink on;
+#		AdvAutonomous on;
+#		AdvRouterAddr off;
+#	};
+#
+#};
============================================================
--- packages/radvd/files/radvd.init	181897064a4058dde60508e7594a7fe063cf0f87
+++ packages/radvd/files/radvd.init	181897064a4058dde60508e7594a7fe063cf0f87
@@ -0,0 +1,115 @@
+#! /bin/sh
+
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
+DAEMON=/usr/sbin/radvd
+NAME=radvd
+DESC=radvd
+CONFIG=/etc/radvd.conf
+SAVED_SETTINGS=/var/run/radvd/saved-settings
+PIDFILE=/var/run/radvd/radvd.pid
+OPTIONS="-u radvd -p $PIDFILE"
+
+test -x $DAEMON || exit 0
+
+set -e
+
+# Check for IPv6 support in kernel
+if test \! -e /proc/sys/net/ipv6; then
+  echo "IPv6 support must be enabled in the kernel for $DESC to work."
+  exit
+fi
+
+save_settings()
+{
+    local file=$1
+    
+    rm -f $file
+    for if_conf in /proc/sys/net/ipv6/conf/*; do
+	echo -e "$if_conf/forwarding\t `cat $if_conf/forwarding`" >> $file
+    done
+    return 0
+}
+
+restore_settings()
+{
+    file=$1
+    
+    if [ ! -f $file ]; then
+	echo "$0: warning: cannot restore settings"
+	return
+    fi
+    
+    ( 
+	while read f value; do
+	    if [ -w $f ]; then
+		echo $value > $f
+	    fi
+	done
+    ) < $file
+}
+
+chkconfig() {
+    if [ ! -e $CONFIG -o ! -s $CONFIG ]; then
+        echo ""
+	echo "* $CONFIG does not exist or is empty." 
+	echo "* See /usr/share/doc/radvd/examples/simple-radvd.conf for a simple"
+	echo "* configuration suitable for most systems, and radvd.conf(5)"
+	echo "* for configuration file syntax. radvd will *not* be started."
+	exit 0
+    fi
+}
+
+case "$1" in
+  start)
+	echo -n "Starting $DESC: "
+	chkconfig
+	save_settings $SAVED_SETTINGS
+	
+        # We must enable IPv6 forwarding for radvd to work
+	echo 1 > /proc/sys/net/ipv6/conf/all/forwarding
+
+	# Check for stale pidfile; radvd won't start if one is lying around
+	if [ -f $PIDFILE ] && ! ps `cat  $PIDFILE` > /dev/null; then
+	  rm -f $PIDFILE
+	fi
+	if ! start-stop-daemon --oknodo --start --pidfile $PIDFILE \
+		--exec $DAEMON -- $OPTIONS; then
+	  echo "failed." && exit 1
+	fi
+	echo "$NAME."
+	;;
+  stop)
+	echo -n "Stopping $DESC: "
+	start-stop-daemon --oknodo --stop --pidfile $PIDFILE \
+		--exec $DAEMON
+	restore_settings $SAVED_SETTINGS
+	rm -f $SAVED_SETTINGS
+	echo "$NAME."
+	;;
+  reload|force-reload)
+	echo "Reloading $DESC configuration files."
+	start-stop-daemon --stop --signal HUP --quiet --pidfile \
+	    $PIDFILE --exec $DAEMON
+	;;
+  restart)
+	chkconfig
+	echo -n "Restarting $DESC: "
+	if ! start-stop-daemon --stop --quiet --pidfile \
+		$PIDFILE --exec $DAEMON; then
+	  # stop failed, so we were not running
+	  save_settings $SAVED_SETTINGS
+	  echo 1 > /proc/sys/net/ipv6/conf/all/forwarding
+	fi
+	sleep 1
+	start-stop-daemon --start --quiet --pidfile \
+		$PIDFILE --exec $DAEMON -- $OPTIONS
+	echo "$NAME."
+	;;
+  *)
+	N=/etc/init.d/$NAME
+	echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
+	exit 1
+	;;
+esac
+
+exit 0
============================================================
--- packages/radvd/files/volatiles.03_radvd	72ac8ae7cde8042770674e118a227c879a86125f
+++ packages/radvd/files/volatiles.03_radvd	72ac8ae7cde8042770674e118a227c879a86125f
@@ -0,0 +1,2 @@
+# <type> <owner> <group> <mode> <path> <linksource>
+d radvd root 0755 /var/run/radvd none
============================================================
--- packages/radvd/radvd.inc	93b0c447a6c034ca1b53442d078bc67db283a2d3
+++ packages/radvd/radvd.inc	39f7340253a3d8a7264796fe3ea9dfb1dda830ef
@@ -1,11 +1,41 @@ DEPENDS = "flex-native"
 DESCRIPTION = "IPv6 router advertisement daemon"
 HOMEPAGE = "http://www.litech.org/radvd/"
 SECTION = "console/network"
 LICENSE = "BSD"
 DEPENDS = "flex-native"
 
-SRC_URI = "http://v6web.litech.org/radvd/dist/radvd-${PV}.tar.gz;md5sum=${MD5SUM}"
+SRC_URI = "http://v6web.litech.org/radvd/dist/radvd-${PV}.tar.gz;md5sum=${MD5SUM} \
+           file://radvd.init \
+           file://volatiles.03_radvd \
+           file://radvd.conf.empty"
 
 S = "${WORKDIR}/radvd-${PV}"
 
+inherit autotools update-rc.d
+
+do_install_append () {
+        install -m 0755 -d ${D}${sysconfdir}/init.d \
+                           ${D}${sysconfdir}/default/volatiles \
+                           ${D}${docdir}/radvd
+        # Install init script and volatiles
+        install -m 0755 ${WORKDIR}/radvd.init ${D}${sysconfdir}/init.d/radvd
+        install -m 0644 ${WORKDIR}/volatiles.03_radvd ${D}${sysconfdir}/default/volatiles/volatiles.03_radvd
+        # Initial configuration
+        # install -m 0644 ${WORKDIR}/radvd.conf.empty ${D}${sysconfdir}/radvd.conf
+        # Documentation
+        for i in ${WORKDIR}/radvd.conf.empty radvd.conf.example README; do \
+            install -m 0644 $i ${D}${docdir}/radvd; \
+        done
+}
+
+#CONFFILES_${PN} = "${sysconfdir}/radvd.conf"
+
+INITSCRIPT_NAME = "radvd"
+INITSCRIPT_PARAMS = "defaults 20 80"
+
+pkg_postinst_${PN} () {
+        grep -q radvd: /etc/passwd || \
+            adduser --disabled-password --home=/var/run/radvd/ --system \
+                    --ingroup nogroup --no-create-home -g "IPv6 router advertisement daemon" radvd
+        /etc/init.d/populate-volatile.sh update
+}
-inherit autotools
============================================================
--- packages/radvd/radvd_0.7.2.bb	f3674293490e9ee25ee04c8b6ac872eb454310a1
+++ packages/radvd/radvd_0.7.2.bb	83adbbee53a450be7c002cc188d19d17ae35fa2d
@@ -1,4 +1,4 @@
-PR = "r1"
+PR = "r2"
 
 SRC_URI_append += "file://automake.patch;patch=1 "
 
============================================================
--- packages/radvd/radvd_1.0.bb	2be9d1c7b104354c0bf7278485331b01b1ce6735
+++ packages/radvd/radvd_1.0.bb	6627cc63962bd0e1f81ec0e67e99f81f961c993c
@@ -1,4 +1,4 @@
-PR = "r0"
+PR = "r1"
 
 require radvd.inc
 






More information about the Openembedded-commits mailing list