mirror of
git://git.openembedded.org/meta-openembedded
synced 2026-01-01 13:58:06 +00:00
radvd: add from OE-Classic, update and tidy up
* Update to 1.9.1 * Add libdaemon to DEPENDS as needed by 1.9+ * Remove empty config file (not really of much use and there's an example config in the -doc package anyway) * Use useradd.bbclass to create user * Handle hardcoded paths in initscript * Add LSB headers to initscript (borrowed from openSUSE) * Set custom LICENSE as it's BSD-Style but not actually one of the standard BSD variants * Add LIC_FILES_CHKSUM * Set SUMMARY (which sets DESCRIPTION) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
This commit is contained in:
parent
e762ce3fc0
commit
85c1a1a454
124
meta-networking/recipes-daemons/radvd/files/radvd.init
Executable file
124
meta-networking/recipes-daemons/radvd/files/radvd.init
Executable file
|
|
@ -0,0 +1,124 @@
|
|||
#! /bin/sh
|
||||
#
|
||||
### BEGIN INIT INFO
|
||||
# Provides: radvd
|
||||
# Required-Start: $remote_fs $named $syslog
|
||||
# Required-Stop: $remote_fs $named $syslog
|
||||
# Default-Start: 3 5
|
||||
# Default-Stop: 0 1 2 6
|
||||
# Description: router advertisement daemon
|
||||
### END INIT INFO
|
||||
|
||||
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
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
# <type> <owner> <group> <mode> <path> <linksource>
|
||||
d radvd root 0755 /var/run/radvd none
|
||||
42
meta-networking/recipes-daemons/radvd/radvd.inc
Normal file
42
meta-networking/recipes-daemons/radvd/radvd.inc
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
SUMMARY = "IPv6 router advertisement daemon"
|
||||
HOMEPAGE = "http://www.litech.org/radvd/"
|
||||
SECTION = "console/network"
|
||||
DEPENDS = "flex-native libdaemon"
|
||||
|
||||
# License is BSD-Style (with advertising clause) but also has an additional 0th clause
|
||||
LICENSE = "radvd"
|
||||
LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=73ebbf7182ae996e65e8fadc9a8c45db"
|
||||
|
||||
SRC_URI = "http://v6web.litech.org/radvd/dist/radvd-${PV}.tar.gz \
|
||||
file://radvd.init \
|
||||
file://volatiles.03_radvd"
|
||||
|
||||
inherit autotools update-rc.d useradd
|
||||
|
||||
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
|
||||
sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${sysconfdir}/init.d/radvd
|
||||
sed -i 's!/etc/!${sysconfdir}/!g' ${D}${sysconfdir}/init.d/radvd
|
||||
sed -i 's!/var/!${localstatedir}/!g' ${D}${sysconfdir}/init.d/radvd
|
||||
sed -i 's!^PATH=.*!PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}${sysconfdir}/init.d/radvd
|
||||
|
||||
install -m 0644 ${WORKDIR}/volatiles.03_radvd ${D}${sysconfdir}/default/volatiles/volatiles.03_radvd
|
||||
# Documentation
|
||||
for i in radvd.conf.example README; do \
|
||||
install -m 0644 $i ${D}${docdir}/radvd; \
|
||||
done
|
||||
}
|
||||
|
||||
INITSCRIPT_NAME = "radvd"
|
||||
INITSCRIPT_PARAMS = "defaults 20 80"
|
||||
|
||||
USERADD_PACKAGES = "${PN}"
|
||||
USERADD_PARAM_${PN} = "--system --home ${localstatedir}/run/radvd/ -M -g nogroup radvd"
|
||||
|
||||
pkg_postinst_${PN} () {
|
||||
${sysconfdir}/init.d/populate-volatile.sh update
|
||||
}
|
||||
6
meta-networking/recipes-daemons/radvd/radvd_1.9.1.bb
Normal file
6
meta-networking/recipes-daemons/radvd/radvd_1.9.1.bb
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
PR = "r0"
|
||||
|
||||
require radvd.inc
|
||||
|
||||
SRC_URI[md5sum] = "e807ad7e9a76d46b6133df391385cd31"
|
||||
SRC_URI[sha256sum] = "54eb5704a2b710ba946fa30d2bca811fa23b1b3bfab322c38cb0c2a9619aa933"
|
||||
Loading…
Reference in New Issue
Block a user