65 lines
1.6 KiB
Plaintext
65 lines
1.6 KiB
Plaintext
dune_base='/opt/lsts/dune'
|
|
|
|
if [ -z "$cfg_dune" ]; then
|
|
cfg_dune="$(hostname)"
|
|
fi
|
|
|
|
maybe_upgrade()
|
|
{
|
|
if ! [ -f $dune_base/dune-*.tar.bz2 ]; then
|
|
return 1
|
|
fi
|
|
|
|
echo -n "* Starting DUNE upgrade... "
|
|
rm -rf $dune_base/.dune-upgrade &&
|
|
mkdir $dune_base/.dune-upgrade &&
|
|
tar -x -C $dune_base/.dune-upgrade -f $dune_base/dune-*.tar.bz2 &&
|
|
if [ -f $dune_base/etc/*-saved.ini ]; then
|
|
cp "$dune_base/etc/"*-saved.ini "$dune_base/.dune-upgrade/"dune-*/etc 2> /dev/null
|
|
fi &&
|
|
rm $dune_base/dune-*.tar.bz2 &&
|
|
for dir in $dune_base/.dune-upgrade/dune-*/*; do
|
|
d="$(basename "$dir")"
|
|
rm -rf "$dune_base/$d"
|
|
mv "$dir" $dune_base
|
|
done
|
|
|
|
rm -rf $dune_base/.dune-upgrade
|
|
echo "done"
|
|
}
|
|
|
|
start()
|
|
{
|
|
echo "$dune_base/log/core.%t" > /proc/sys/kernel/core_pattern
|
|
maybe_upgrade
|
|
if [ -n "$cfg_dune_i18n" ]; then
|
|
export LC_MESSAGES="$cfg_dune_i18n"
|
|
fi
|
|
|
|
$dune_base/bin/dune-launcher -m -p Hardware -c "$cfg_dune" < /dev/null > /dev/null 2>&1 &
|
|
}
|
|
|
|
stop()
|
|
{
|
|
while [ 1 ]; do
|
|
echo "* Stopping process..."
|
|
killall dune-launcher > /dev/null 2>&1
|
|
killall dune > /dev/null 2>&1
|
|
|
|
for r in 0 1 2 3 4 5 6 7 8 9; do
|
|
if [ -n "$(pidof dune)" ]; then
|
|
echo "* Waiting for process to exit ($r)..."
|
|
sleep 1
|
|
else
|
|
echo "* Process not running."
|
|
return 1
|
|
fi
|
|
done
|
|
|
|
echo "* Forcing exit..."
|
|
killall -9 dune-launcher > /dev/null 2>&1
|
|
killall -9 dune > /dev/null 2>&1
|
|
sleep 1
|
|
done
|
|
}
|