mirror of
git://git.openembedded.org/meta-openembedded
synced 2026-05-18 22:30:02 +00:00
vblade: update to version 22
Update to version 22 and add support for systemd and sysvinit, the scripts and conf files are taken from Fedora. Signed-off-by: Jackie Huang <jackie.huang@windriver.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
This commit is contained in:
parent
afe13ecbf4
commit
3d6480d5ee
2
meta-networking/recipes-daemons/vblade/files/vblade.conf
Normal file
2
meta-networking/recipes-daemons/vblade/files/vblade.conf
Normal file
@ -0,0 +1,2 @@
|
||||
# network_device shelf slot file/disk/partition mac[,mac[,mac]]
|
||||
#eth0 0 0 /dev/sdb 00:11:22:33:44:55
|
||||
193
meta-networking/recipes-daemons/vblade/files/vblade.init
Normal file
193
meta-networking/recipes-daemons/vblade/files/vblade.init
Normal file
@ -0,0 +1,193 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Init script for vblade (ATA over Ethernet daemon)
|
||||
#
|
||||
# chkconfig: - 30 70
|
||||
# description: vblade AoE daemon
|
||||
#
|
||||
# processname: vblade
|
||||
# config: /etc/vblade.conf
|
||||
#
|
||||
# Shamelessly hacked together from other init scripts (sshd, mostly)
|
||||
# integrate vblade.init from Fedora's vblade-14-6.fc12.src.rpm
|
||||
#
|
||||
|
||||
RETVAL=0
|
||||
prog=vblade
|
||||
|
||||
spawn_vblade() {
|
||||
ALLOWMACS=""
|
||||
[ -n "$5" ] && ALLOWMACS="-m $5"
|
||||
ID="$1-e$2.$3"
|
||||
if [ ! -d "/var/run/$prog" ]; then
|
||||
mkdir /var/run/$prog
|
||||
fi
|
||||
PID_FILE=/var/run/$prog/${ID}.pid
|
||||
$prog $ALLOWMACS $2 $3 $1 $4 >> /var/log/$prog.log 2>&1 &
|
||||
pid=$!
|
||||
RETVAL=$?
|
||||
echo $pid > $PID_FILE
|
||||
echo -n $"$4 (e$2.$3@$1) [pid $pid]"
|
||||
[ "$RETVAL" = 0 ] && echo "success" || echo "failure"
|
||||
echo
|
||||
}
|
||||
|
||||
start() {
|
||||
local ret
|
||||
|
||||
echo $"Starting up $prog: "
|
||||
|
||||
#/var/lock/subsys/$prog exists?
|
||||
status $prog 2>&1 > /dev/null
|
||||
ret=$?
|
||||
|
||||
if [ "$ret" = "2" ]; then
|
||||
echo "$prog dead but subsys locked"
|
||||
echo
|
||||
return 2
|
||||
else
|
||||
if [ "$ret" = "0" ]; then
|
||||
#is running
|
||||
echo "already running"
|
||||
return 0
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ 0 -ne `grep -vc '^#\|^$' /etc/$prog.conf` ]
|
||||
then
|
||||
grep -v '^#' /etc/$prog.conf | sed -e 's/ / /g' -e 's/ / /g' | while read line
|
||||
do
|
||||
spawn_vblade $line
|
||||
done
|
||||
touch /var/lock/subsys/$prog
|
||||
else
|
||||
echo -n "empty $prog.conf?"
|
||||
echo " passed"
|
||||
echo
|
||||
fi
|
||||
}
|
||||
|
||||
stop() {
|
||||
echo -n $"Shutting down $prog: "
|
||||
for pidfile in `ls /var/run/$prog/*.pid 2>/dev/null`
|
||||
do
|
||||
kill -TERM `cat $pidfile`
|
||||
rm -f $pidfile
|
||||
done
|
||||
echo "success"
|
||||
echo
|
||||
rm -f /var/lock/subsys/$prog
|
||||
}
|
||||
|
||||
__pids_var_run() {
|
||||
local base=${1##*/}
|
||||
local pid_file=${2:-/var/run/$base.pid}
|
||||
|
||||
pid=
|
||||
if [ -f "$pid_file" ] ; then
|
||||
local line p
|
||||
|
||||
while : ; do
|
||||
read line
|
||||
[ -z "$line" ] && break
|
||||
for p in $line ; do
|
||||
[ -z "${p//[0-9]/}" -a -d "/proc/$p" ] && pid="$pid $p"
|
||||
done
|
||||
done < "$pid_file"
|
||||
|
||||
if [ -n "$pid" ]; then
|
||||
return 0
|
||||
fi
|
||||
return 1 # "Program is dead and /var/run pid file exists"
|
||||
fi
|
||||
return 3 # "Program is not running"
|
||||
}
|
||||
|
||||
__pids_pidof() {
|
||||
pidof "$1" || pidof "${1##*/}"
|
||||
}
|
||||
|
||||
status() {
|
||||
local base pid lock_file= pid_file=
|
||||
|
||||
# Test syntax.
|
||||
if [ "$#" = 0 ] ; then
|
||||
echo $"Usage: status [-p pidfile] {program}"
|
||||
return 1
|
||||
fi
|
||||
if [ "$1" = "-p" ]; then
|
||||
pid_file=$2
|
||||
shift 2
|
||||
fi
|
||||
if [ "$1" = "-l" ]; then
|
||||
lock_file=$2
|
||||
shift 2
|
||||
fi
|
||||
base=${1##*/}
|
||||
|
||||
# First try "pidof"
|
||||
__pids_var_run "$1" "$pid_file"
|
||||
RC=$?
|
||||
if [ -z "$pid_file" -a -z "$pid" ]; then
|
||||
pid="$(__pids_pidof "$1")"
|
||||
fi
|
||||
if [ -n "$pid" ]; then
|
||||
echo $"${base} (pid $pid) is running..."
|
||||
return 0
|
||||
fi
|
||||
|
||||
case "$RC" in
|
||||
0)
|
||||
echo $"${base} (pid $pid) is running..."
|
||||
return 0
|
||||
;;
|
||||
1)
|
||||
echo $"${base} dead but pid file exists"
|
||||
return 1
|
||||
;;
|
||||
esac
|
||||
if [ -z "${lock_file}" ]; then
|
||||
lock_file=${base}
|
||||
fi
|
||||
# See if /var/lock/subsys/${lock_file} exists
|
||||
if [ -f /var/lock/subsys/${lock_file} ]; then
|
||||
echo $"${base} dead but subsys locked"
|
||||
return 2
|
||||
fi
|
||||
echo $"${base} is stopped"
|
||||
return 3
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
start
|
||||
;;
|
||||
stop)
|
||||
stop
|
||||
;;
|
||||
restart)
|
||||
stop
|
||||
start
|
||||
;;
|
||||
reload)
|
||||
# yes, this sucks, but the vblade processes die on SIGHUP
|
||||
stop
|
||||
start
|
||||
;;
|
||||
condrestart)
|
||||
if [ -f /var/lock/subsys/$prog ]; then
|
||||
stop
|
||||
# avoid race
|
||||
sleep 3
|
||||
start
|
||||
fi
|
||||
;;
|
||||
status)
|
||||
status $prog
|
||||
RETVAL=$?
|
||||
;;
|
||||
*)
|
||||
echo $"Usage: $0 {start|stop|restart|reload|condrestart|status}"
|
||||
RETVAL=1
|
||||
esac
|
||||
exit $RETVAL
|
||||
11
meta-networking/recipes-daemons/vblade/files/vblade.service
Normal file
11
meta-networking/recipes-daemons/vblade/files/vblade.service
Normal file
@ -0,0 +1,11 @@
|
||||
[Unit]
|
||||
Description=Virtual EtherDrive blade AoE target
|
||||
After=syslog.target network.target
|
||||
|
||||
[Service]
|
||||
Type=forking
|
||||
ExecStart=@BINDIR@/vblade.init start
|
||||
ExecStop=@BINDIR@/vblade.init stop
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@ -0,0 +1 @@
|
||||
d root root 0755 /var/run/vblade none
|
||||
@ -1,22 +0,0 @@
|
||||
SUMMARY = "Virtual EtherDrive blade AoE target"
|
||||
SECTION = "admin"
|
||||
|
||||
LICENSE = "GPLv2"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
|
||||
|
||||
SRC_URI = "${SOURCEFORGE_MIRROR}/aoetools/${BPN}-${PV}.tgz \
|
||||
file://cross.patch \
|
||||
file://makefile-add-ldflags.patch \
|
||||
"
|
||||
|
||||
SRC_URI[md5sum] = "3c80e4a6bc7d66ae0c235b88cb44bd59"
|
||||
SRC_URI[sha256sum] = "c8fe2fc4f2fba8e07e5cfdf17335982584eef2cd5c78bf8b1db93f2b56e7121d"
|
||||
|
||||
inherit autotools-brokensep
|
||||
|
||||
do_install() {
|
||||
install -D -m 0755 ${S}/vblade ${D}/${sbindir}/vblade
|
||||
install -D -m 0755 ${S}/vbladed ${D}/${sbindir}/vbladed
|
||||
install -D -m 0644 ${S}/vblade.8 ${D}/${mandir}/man8/vblade.8
|
||||
}
|
||||
|
||||
51
meta-networking/recipes-daemons/vblade/vblade_22.bb
Normal file
51
meta-networking/recipes-daemons/vblade/vblade_22.bb
Normal file
@ -0,0 +1,51 @@
|
||||
SUMMARY = "Virtual EtherDrive blade AoE target"
|
||||
SECTION = "admin"
|
||||
|
||||
LICENSE = "GPLv2"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
|
||||
|
||||
SRC_URI = "${SOURCEFORGE_MIRROR}/aoetools/${BP}.tar.gz \
|
||||
file://cross.patch \
|
||||
file://makefile-add-ldflags.patch \
|
||||
file://${BPN}.conf \
|
||||
file://${BPN}.init \
|
||||
file://${BPN}.service \
|
||||
file://volatiles.99_vblade \
|
||||
"
|
||||
|
||||
SRC_URI[md5sum] = "510d98ba0f231284a5fbe2da11cb2d6e"
|
||||
SRC_URI[sha256sum] = "a990378f273f10eb431e42954a871aed52714035bbab28c54cef600c458356bb"
|
||||
|
||||
inherit autotools-brokensep update-rc.d systemd
|
||||
|
||||
do_install() {
|
||||
install -D -m 0755 ${S}/vblade ${D}/${sbindir}/vblade
|
||||
install -D -m 0755 ${S}/vbladed ${D}/${sbindir}/vbladed
|
||||
install -D -m 0644 ${S}/vblade.8 ${D}/${mandir}/man8/vblade.8
|
||||
|
||||
install -D -m 0644 ${WORKDIR}/${BPN}.conf ${D}/${sysconfdir}/${BPN}.conf
|
||||
install -D -m 0755 ${WORKDIR}/${BPN}.init ${D}/${sysconfdir}/init.d/${BPN}
|
||||
|
||||
if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
|
||||
install -d ${D}/${sysconfdir}/default/volatiles
|
||||
install -m 0755 ${WORKDIR}/volatiles.99_vblade ${D}/${sysconfdir}/default/volatiles/99_vblade
|
||||
fi
|
||||
|
||||
if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
|
||||
install -d ${D}/${bindir}
|
||||
install -m 0755 ${WORKDIR}/${BPN}.init ${D}/${bindir}/
|
||||
install -d ${D}${sysconfdir}/tmpfiles.d
|
||||
echo "d /var/run/${BPN} 0755 root root -" > ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf
|
||||
|
||||
install -d ${D}${systemd_system_unitdir}
|
||||
install -m 0644 ${WORKDIR}/vblade.service ${D}${systemd_system_unitdir}
|
||||
sed -e 's,@BINDIR@,${bindir},g' -i ${D}${systemd_system_unitdir}/*.service
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
INITSCRIPT_NAME = "vblade"
|
||||
INITSCRIPT_PARAMS = "start 30 . stop 70 0 1 2 3 4 5 6 ."
|
||||
|
||||
SYSTEMD_SERVICE_${PN} = "vblade.service"
|
||||
SYSTEMD_AUTO_ENABLE = "disable"
|
||||
Loading…
x
Reference in New Issue
Block a user