finally fully use gnu license recommendations
[distro-setup] / filesystem / usr / local / bin / myupgrade
index 939bb6e535fb92c63ca80153f994217b3e95ae70..664c2d2bd408e85e9952002cf1b117465650cf30 100755 (executable)
@@ -1,15 +1,33 @@
 #!/bin/bash
-# Copyright (C) 2019 Ian Kelling
-# SPDX-License-Identifier: AGPL-3.0-or-later
+# I, Ian Kelling, follow the GNU license recommendations at
+# https://www.gnu.org/licenses/license-recommendations.en.html. They
+# recommend that small programs, < 300 lines, be licensed under the
+# Apache License 2.0. This file contains or is part of one or more small
+# programs. If a small program grows beyond 300 lines, I plan to switch
+# its license to GPL.
+
+# Copyright 2024 Ian Kelling
+
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+
+#     http://www.apache.org/licenses/LICENSE-2.0
+
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
 
 # usage: set DEBUG env var to anything to output to stdout
 
 # Note: running this inside a cronjob, it wont mail any output if we end
 # up rebooting from this script.
 
-if [ -z "$BASH_VERSION" ]; then echo "error: shell is not bash" >&2; exit 1; fi
+set -e; . /usr/local/lib/bash-bear; set +e
 
-source /usr/local/lib/err
 pre="${0##*/}:"
 PATH="/sbin:$PATH"
 m() { printf "$pre %s\n"  "$*"; "$@"; }
@@ -30,6 +48,11 @@ d() {
   fi
 }
 myreboot() {
+  if [[ -e /tmp/myupgrade-noreboot ]]; then
+    e "would rebooted but /tmp/myupgrade-noreboot exists"
+    return
+  fi
+
   for x in {30..1}; do
     echo "pid $$. unattended upgrade, rebooting in $((x*10)) seconds" | wall -n 2>/dev/null
     sleep 10
@@ -87,7 +110,7 @@ sleep 1
 # 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 ! /sbin/needrestart -p &>/dev/null; then
   if [[ $hn == "$MAIL_HOST" || $hn == kd ]]; then
     # send us an email so we can decide what to do
     needrestart -r l