summaryrefslogtreecommitdiffstats
path: root/meta-networking/recipes-daemons
diff options
context:
space:
mode:
authorJackie Huang <jackie.huang@windriver.com>2017-05-12 15:09:02 +0800
committerJoe MacDonald <joe_macdonald@mentor.com>2017-06-28 10:24:16 -0400
commit3d6480d5eea688fe1d05ea022eb54cc3b0baf6d7 (patch)
treebc9334b2d48d0ac523e4fc7ecde45f2e8f71d963 /meta-networking/recipes-daemons
parentafe13ecbf48eeac330eef84eabc1f83a33dd0acf (diff)
downloadmeta-openembedded-3d6480d5eea688fe1d05ea022eb54cc3b0baf6d7.tar.gz
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>
Diffstat (limited to 'meta-networking/recipes-daemons')
-rw-r--r--meta-networking/recipes-daemons/vblade/files/vblade.conf2
-rw-r--r--meta-networking/recipes-daemons/vblade/files/vblade.init193
-rw-r--r--meta-networking/recipes-daemons/vblade/files/vblade.service11
-rw-r--r--meta-networking/recipes-daemons/vblade/files/volatiles.99_vblade1
-rw-r--r--meta-networking/recipes-daemons/vblade/vblade_20.bb22
-rw-r--r--meta-networking/recipes-daemons/vblade/vblade_22.bb51
6 files changed, 258 insertions, 22 deletions
diff --git a/meta-networking/recipes-daemons/vblade/files/vblade.conf b/meta-networking/recipes-daemons/vblade/files/vblade.conf
new file mode 100644
index 000000000..e8b93ec37
--- /dev/null
+++ b/meta-networking/recipes-daemons/vblade/files/vblade.conf
@@ -0,0 +1,2 @@
1# network_device shelf slot file/disk/partition mac[,mac[,mac]]
2#eth0 0 0 /dev/sdb 00:11:22:33:44:55
diff --git a/meta-networking/recipes-daemons/vblade/files/vblade.init b/meta-networking/recipes-daemons/vblade/files/vblade.init
new file mode 100644
index 000000000..0298c8001
--- /dev/null
+++ b/meta-networking/recipes-daemons/vblade/files/vblade.init
@@ -0,0 +1,193 @@
1#!/bin/sh
2#
3# Init script for vblade (ATA over Ethernet daemon)
4#
5# chkconfig: - 30 70
6# description: vblade AoE daemon
7#
8# processname: vblade
9# config: /etc/vblade.conf
10#
11# Shamelessly hacked together from other init scripts (sshd, mostly)
12# integrate vblade.init from Fedora's vblade-14-6.fc12.src.rpm
13#
14
15RETVAL=0
16prog=vblade
17
18spawn_vblade() {
19 ALLOWMACS=""
20 [ -n "$5" ] && ALLOWMACS="-m $5"
21 ID="$1-e$2.$3"
22 if [ ! -d "/var/run/$prog" ]; then
23 mkdir /var/run/$prog
24 fi
25 PID_FILE=/var/run/$prog/${ID}.pid
26 $prog $ALLOWMACS $2 $3 $1 $4 >> /var/log/$prog.log 2>&1 &
27 pid=$!
28 RETVAL=$?
29 echo $pid > $PID_FILE
30 echo -n $"$4 (e$2.$3@$1) [pid $pid]"
31 [ "$RETVAL" = 0 ] && echo "success" || echo "failure"
32 echo
33}
34
35start() {
36 local ret
37
38 echo $"Starting up $prog: "
39
40 #/var/lock/subsys/$prog exists?
41 status $prog 2>&1 > /dev/null
42 ret=$?
43
44 if [ "$ret" = "2" ]; then
45 echo "$prog dead but subsys locked"
46 echo
47 return 2
48 else
49 if [ "$ret" = "0" ]; then
50 #is running
51 echo "already running"
52 return 0
53 fi
54 fi
55
56 if [ 0 -ne `grep -vc '^#\|^$' /etc/$prog.conf` ]
57 then
58 grep -v '^#' /etc/$prog.conf | sed -e 's/ / /g' -e 's/ / /g' | while read line
59 do
60 spawn_vblade $line
61 done
62 touch /var/lock/subsys/$prog
63 else
64 echo -n "empty $prog.conf?"
65 echo " passed"
66 echo
67 fi
68}
69
70stop() {
71 echo -n $"Shutting down $prog: "
72 for pidfile in `ls /var/run/$prog/*.pid 2>/dev/null`
73 do
74 kill -TERM `cat $pidfile`
75 rm -f $pidfile
76 done
77 echo "success"
78 echo
79 rm -f /var/lock/subsys/$prog
80}
81
82__pids_var_run() {
83 local base=${1##*/}
84 local pid_file=${2:-/var/run/$base.pid}
85
86 pid=
87 if [ -f "$pid_file" ] ; then
88 local line p
89
90 while : ; do
91 read line
92 [ -z "$line" ] && break
93 for p in $line ; do
94 [ -z "${p//[0-9]/}" -a -d "/proc/$p" ] && pid="$pid $p"
95 done
96 done < "$pid_file"
97
98 if [ -n "$pid" ]; then
99 return 0
100 fi
101 return 1 # "Program is dead and /var/run pid file exists"
102 fi
103 return 3 # "Program is not running"
104}
105
106__pids_pidof() {
107 pidof "$1" || pidof "${1##*/}"
108}
109
110status() {
111 local base pid lock_file= pid_file=
112
113 # Test syntax.
114 if [ "$#" = 0 ] ; then
115 echo $"Usage: status [-p pidfile] {program}"
116 return 1
117 fi
118 if [ "$1" = "-p" ]; then
119 pid_file=$2
120 shift 2
121 fi
122 if [ "$1" = "-l" ]; then
123 lock_file=$2
124 shift 2
125 fi
126 base=${1##*/}
127
128 # First try "pidof"
129 __pids_var_run "$1" "$pid_file"
130 RC=$?
131 if [ -z "$pid_file" -a -z "$pid" ]; then
132 pid="$(__pids_pidof "$1")"
133 fi
134 if [ -n "$pid" ]; then
135 echo $"${base} (pid $pid) is running..."
136 return 0
137 fi
138
139 case "$RC" in
140 0)
141 echo $"${base} (pid $pid) is running..."
142 return 0
143 ;;
144 1)
145 echo $"${base} dead but pid file exists"
146 return 1
147 ;;
148 esac
149 if [ -z "${lock_file}" ]; then
150 lock_file=${base}
151 fi
152 # See if /var/lock/subsys/${lock_file} exists
153 if [ -f /var/lock/subsys/${lock_file} ]; then
154 echo $"${base} dead but subsys locked"
155 return 2
156 fi
157 echo $"${base} is stopped"
158 return 3
159}
160
161case "$1" in
162 start)
163 start
164 ;;
165 stop)
166 stop
167 ;;
168 restart)
169 stop
170 start
171 ;;
172 reload)
173 # yes, this sucks, but the vblade processes die on SIGHUP
174 stop
175 start
176 ;;
177 condrestart)
178 if [ -f /var/lock/subsys/$prog ]; then
179 stop
180 # avoid race
181 sleep 3
182 start
183 fi
184 ;;
185 status)
186 status $prog
187 RETVAL=$?
188 ;;
189 *)
190 echo $"Usage: $0 {start|stop|restart|reload|condrestart|status}"
191 RETVAL=1
192esac
193exit $RETVAL
diff --git a/meta-networking/recipes-daemons/vblade/files/vblade.service b/meta-networking/recipes-daemons/vblade/files/vblade.service
new file mode 100644
index 000000000..83a4d5dcb
--- /dev/null
+++ b/meta-networking/recipes-daemons/vblade/files/vblade.service
@@ -0,0 +1,11 @@
1[Unit]
2Description=Virtual EtherDrive blade AoE target
3After=syslog.target network.target
4
5[Service]
6Type=forking
7ExecStart=@BINDIR@/vblade.init start
8ExecStop=@BINDIR@/vblade.init stop
9
10[Install]
11WantedBy=multi-user.target
diff --git a/meta-networking/recipes-daemons/vblade/files/volatiles.99_vblade b/meta-networking/recipes-daemons/vblade/files/volatiles.99_vblade
new file mode 100644
index 000000000..64a5881c0
--- /dev/null
+++ b/meta-networking/recipes-daemons/vblade/files/volatiles.99_vblade
@@ -0,0 +1 @@
d root root 0755 /var/run/vblade none
diff --git a/meta-networking/recipes-daemons/vblade/vblade_20.bb b/meta-networking/recipes-daemons/vblade/vblade_20.bb
deleted file mode 100644
index 344c7462c..000000000
--- a/meta-networking/recipes-daemons/vblade/vblade_20.bb
+++ /dev/null
@@ -1,22 +0,0 @@
1SUMMARY = "Virtual EtherDrive blade AoE target"
2SECTION = "admin"
3
4LICENSE = "GPLv2"
5LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
6
7SRC_URI = "${SOURCEFORGE_MIRROR}/aoetools/${BPN}-${PV}.tgz \
8 file://cross.patch \
9 file://makefile-add-ldflags.patch \
10 "
11
12SRC_URI[md5sum] = "3c80e4a6bc7d66ae0c235b88cb44bd59"
13SRC_URI[sha256sum] = "c8fe2fc4f2fba8e07e5cfdf17335982584eef2cd5c78bf8b1db93f2b56e7121d"
14
15inherit autotools-brokensep
16
17do_install() {
18 install -D -m 0755 ${S}/vblade ${D}/${sbindir}/vblade
19 install -D -m 0755 ${S}/vbladed ${D}/${sbindir}/vbladed
20 install -D -m 0644 ${S}/vblade.8 ${D}/${mandir}/man8/vblade.8
21}
22
diff --git a/meta-networking/recipes-daemons/vblade/vblade_22.bb b/meta-networking/recipes-daemons/vblade/vblade_22.bb
new file mode 100644
index 000000000..d7b1dfaad
--- /dev/null
+++ b/meta-networking/recipes-daemons/vblade/vblade_22.bb
@@ -0,0 +1,51 @@
1SUMMARY = "Virtual EtherDrive blade AoE target"
2SECTION = "admin"
3
4LICENSE = "GPLv2"
5LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
6
7SRC_URI = "${SOURCEFORGE_MIRROR}/aoetools/${BP}.tar.gz \
8 file://cross.patch \
9 file://makefile-add-ldflags.patch \
10 file://${BPN}.conf \
11 file://${BPN}.init \
12 file://${BPN}.service \
13 file://volatiles.99_vblade \
14 "
15
16SRC_URI[md5sum] = "510d98ba0f231284a5fbe2da11cb2d6e"
17SRC_URI[sha256sum] = "a990378f273f10eb431e42954a871aed52714035bbab28c54cef600c458356bb"
18
19inherit autotools-brokensep update-rc.d systemd
20
21do_install() {
22 install -D -m 0755 ${S}/vblade ${D}/${sbindir}/vblade
23 install -D -m 0755 ${S}/vbladed ${D}/${sbindir}/vbladed
24 install -D -m 0644 ${S}/vblade.8 ${D}/${mandir}/man8/vblade.8
25
26 install -D -m 0644 ${WORKDIR}/${BPN}.conf ${D}/${sysconfdir}/${BPN}.conf
27 install -D -m 0755 ${WORKDIR}/${BPN}.init ${D}/${sysconfdir}/init.d/${BPN}
28
29 if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
30 install -d ${D}/${sysconfdir}/default/volatiles
31 install -m 0755 ${WORKDIR}/volatiles.99_vblade ${D}/${sysconfdir}/default/volatiles/99_vblade
32 fi
33
34 if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
35 install -d ${D}/${bindir}
36 install -m 0755 ${WORKDIR}/${BPN}.init ${D}/${bindir}/
37 install -d ${D}${sysconfdir}/tmpfiles.d
38 echo "d /var/run/${BPN} 0755 root root -" > ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf
39
40 install -d ${D}${systemd_system_unitdir}
41 install -m 0644 ${WORKDIR}/vblade.service ${D}${systemd_system_unitdir}
42 sed -e 's,@BINDIR@,${bindir},g' -i ${D}${systemd_system_unitdir}/*.service
43 fi
44
45}
46
47INITSCRIPT_NAME = "vblade"
48INITSCRIPT_PARAMS = "start 30 . stop 70 0 1 2 3 4 5 6 ."
49
50SYSTEMD_SERVICE_${PN} = "vblade.service"
51SYSTEMD_AUTO_ENABLE = "disable"