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.
 
 
 
 
 
 

68 lines
1.7 KiB

# --- SDE-COPYRIGHT-NOTE-BEGIN ---
# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
#
# Filename: 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.
# --- SDE-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/
}