You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
69 lines
1.7 KiB
69 lines
1.7 KiB
18 years ago
|
# --- T2-COPYRIGHT-NOTE-BEGIN ---
|
||
|
# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
|
||
|
#
|
||
|
# T2 SDE: package/.../runit/rocknet_runit.sh
|
||
|
# Copyright (C) 2004 - 2006 The T2 SDE Project
|
||
|
#
|
||
|
# More information can be found in the files COPYING and README.
|
||
|
#
|
||
|
# This program is free software; you can redistribute it and/or modify
|
||
|
# it under the terms of the GNU General Public License as published by
|
||
|
# the Free Software Foundation; version 2 of the License. A copy of the
|
||
|
# GNU General Public License can be found in the file COPYING.
|
||
|
# --- T2-COPYRIGHT-NOTE-END ---
|
||
|
export CANUSESERVICE=1
|
||
|
|
||
|
service_create() {
|
||
|
local service_name=$1 runstring="$2" finishstring="$3"
|
||
|
|
||
|
mkdir -p $rocknet_tmp_base/$service_name/log
|
||
|
|
||
|
# ./run
|
||
|
cat <<-EOT > $rocknet_tmp_base/$service_name/run
|
||
|
#!/bin/sh
|
||
|
exec 2>&1
|
||
|
|
||
|
$runstring
|
||
|
EOT
|
||
|
|
||
|
# ./log/run
|
||
|
cat <<-EOT > $rocknet_tmp_base/$service_name/log/run
|
||
|
#!/bin/sh
|
||
|
exec 2>&1
|
||
|
|
||
|
if [ ! -d /var/log/$service_name ]; then
|
||
|
mkdir -p /var/log/$service_name
|
||
|
chown log /var/log/$service_name
|
||
|
fi
|
||
|
exec chpst -ulog svlogd -tt /var/log/$service_name
|
||
|
EOT
|
||
|
|
||
|
# ./finish
|
||
|
if [ "$finishstring" ]; then
|
||
|
cat <<-EOT > $rocknet_tmp_base/$service_name/finish
|
||
|
#!/bin/sh
|
||
|
exec 2>&1
|
||
|
|
||
|
$finishstring
|
||
|
EOT
|
||
|
chmod +x $rocknet_tmp_base/$service_name/finish
|
||
|
fi
|
||
|
|
||
|
chmod +x $rocknet_tmp_base/$service_name/{,log/}run
|
||
|
ln -nfs $rocknet_tmp_base/$service_name/ /service/$service_name
|
||
|
}
|
||
|
|
||
|
service_destroy() {
|
||
|
local service_name=$1 x=
|
||
|
|
||
|
for x in . log; do
|
||
|
if [ -d /service/$service_name/$x/supervise ]; then
|
||
|
runsvctrl d /service/$service_name/$x
|
||
|
svwaitdown /service/$service_name/$x
|
||
|
fi
|
||
|
done
|
||
|
|
||
|
rm -f /service/$service_name
|
||
|
rm -rf $rocknet_tmp_base/$service_name/
|
||
|
}
|