This commit is contained in:
Kroese 2023-04-17 15:56:17 +02:00 committed by GitHub
parent a039eb859d
commit bffced2a47

View File

@ -1,9 +1,18 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -u set -u
# Functions VERSION="4"
HEADER="VirtualDSM Agent:" HEADER="VirtualDSM Agent:"
# Functions
finish() {
echo "$HEADER Shutting down.."
exit
}
function checkNMI { function checkNMI {
local nmi local nmi
@ -14,54 +23,12 @@ function checkNMI {
echo "$HEADER Received shutdown request through NMI.." echo "$HEADER Received shutdown request through NMI.."
/usr/syno/sbin/synoshutdown -s > /dev/null /usr/syno/sbin/synoshutdown -s > /dev/null
exit finish
fi fi
} }
finish() { function downloadUpdate {
echo "$HEADER Shutting down.."
exit
}
trap finish SIGINT SIGTERM
ts=$(date +%s%N)
checkNMI
VERSION="4"
echo "$HEADER starting v$VERSION.."
# Install packages
first_run=false
for filename in /usr/local/packages/*.spk; do
if [ -f "$filename" ]; then
first_run=true
fi
done
if [ "$first_run" = true ]; then
for filename in /usr/local/packages/*.spk; do
if [ -f "$filename" ]; then
BASE=$(basename "$filename" .spk)
BASE="${BASE%%-*}"
echo "$HEADER Installing package ${BASE}.."
/usr/syno/bin/synopkg install "$filename" > /dev/null
/usr/syno/bin/synopkg start "$BASE" > /dev/null &
rm "$filename"
fi
done
else
TMP="/tmp/agent.sh" TMP="/tmp/agent.sh"
rm -f "${TMP}" rm -f "${TMP}"
@ -89,6 +56,51 @@ else
else else
echo "$HEADER update error, curl error: $?" echo "$HEADER update error, curl error: $?"
fi fi
}
function installPackages {
for filename in /usr/local/packages/*.spk; do
if [ -f "$filename" ]; then
BASE=$(basename "$filename" .spk)
BASE="${BASE%%-*}"
echo "$HEADER Installing package ${BASE}.."
/usr/syno/bin/synopkg install "$filename" > /dev/null
/usr/syno/bin/synopkg start "$BASE" > /dev/null &
rm "$filename"
fi
done
}
trap finish SIGINT SIGTERM
ts=$(date +%s%N)
checkNMI
echo "$HEADER started v$VERSION.."
# Install packages
first_run=false
for filename in /usr/local/packages/*.spk; do
if [ -f "$filename" ]; then
first_run=true
fi
done
if [ "$first_run" = true ]; then
installPackages
else
downloadUpdate
fi fi