rename err to bash-bear
[distro-setup] / filesystem / usr / local / bin / myupgrade
index 7973d670fb707d6817a950cf1996242dbff4daf2..6c4ed879a7ee4baeb24c5e201e417534b967274b 100755 (executable)
@@ -9,7 +9,7 @@
 
 if [ -z "$BASH_VERSION" ]; then echo "error: shell is not bash" >&2; exit 1; fi
 
-source /usr/local/lib/err
+source /usr/local/lib/bash-bear
 pre="${0##*/}:"
 PATH="/sbin:$PATH"
 m() { printf "$pre %s\n"  "$*"; "$@"; }
@@ -48,9 +48,16 @@ myreboot() {
 }
 
 
-case $HOSTNAME in
+case $hn in
   kd)
-    /a/bin/buildscripts/prometheus
+    /c/roles/prom/files/simple/usr/local/bin/fsf-install-prometheus
+    /c/roles/prom_export/files/simple/usr/local/bin/fsf-install-node-exporter -l 127.0.0.1
+    ;;
+  li|bk|je)
+    /c/roles/prom_export/files/simple/usr/local/bin/fsf-install-node-exporter -l 127.0.0.1
+    ;;
+  *)
+    /c/roles/prom_export/files/simple/usr/local/bin/fsf-install-node-exporter
     ;;
 esac
 
@@ -59,8 +66,30 @@ esac
 # because rebooting from the script stops the ability to send email.
 # We should figure some workaround.
 
-if ! out=$(/sbin/needrestart -p 2>&1); then
-  if [[ $HOSTNAME == "$MAIL_HOST" ]]; then
+# I originally had the idea that for MAIL_HOST, I'd just send an email
+# if something needs restarting. But atm, I have a bad habit of ignoring
+# those emails.
+
+if ! needrestart -p -k &>/dev/null; then
+  myreboot
+fi
+
+needrestart -b -l -r a |& logger -t myupgrade
+sleep 1
+
+# Restart based on library doesnt always work. If we still
+# detect outdated libraries after trying to automatically restart,
+# then do a reboot unless we are on systems we care a bit more about
+# uptime, then send us an email.
+#
+# Note: I've noticed restart based on library has tended to screw up
+# desktop related daemons because they have bugs when restarted in
+# isolation instead of as part of bring up and down the whole desktop.
+# But, I'd rather something gets messed up than things not get
+# restarted.
+if ! /sbin/needrestart -p -l &>/dev/null; then
+  if [[ $hn == "$MAIL_HOST" || $hn == kd ]]; then
+    # send us an email so we can decide what to do
     needrestart -r l
   else
     myreboot