|
@@ -1,70 +0,0 @@
|
|
|
-#!/bin/sh
|
|
|
-#
|
|
|
-# Maximilian Wilhelm <max@rfc2324.org>
|
|
|
-# -- Thu 07 Jul 2016 03:28:44 PM CEST
|
|
|
-#
|
|
|
-# Make sure that the correct B.A.T.M.A.N version is installed on this machine,
|
|
|
-# reconfigure batman interfaces and restart services depending on batman (alfred
|
|
|
-# and fastd). Beware that this restarts ALL fastd instances. As we are only using
|
|
|
-# fastd for batman'ish things currently, that's fine.
|
|
|
-#
|
|
|
-
|
|
|
-batman_version_wanted="2013.4.0"
|
|
|
-
|
|
|
-# Bail on error
|
|
|
-set -e
|
|
|
-
|
|
|
-only_fix_module=false
|
|
|
-if [ "$1" = "--only-fix-module" ]; then
|
|
|
- only_fix_module=true
|
|
|
-fi
|
|
|
-export only_fix_module
|
|
|
-
|
|
|
-batman_version_installed=$(modinfo batman-adv | awk -F: '/^version:/ { print $2 }' | tr -d '[:space:]')
|
|
|
-my_name="ff_fix_batman"
|
|
|
-logfile="/var/log/ff_fix_batman-$(date +%Y.%m.%d-%H:%M).log"
|
|
|
-
|
|
|
-if [ "${batman_version_wanted}" = "${batman_version_installed}" ]; then
|
|
|
- msg="Version ${batman_version_wanted} of batman-adv already installed."
|
|
|
- echo ${msg}
|
|
|
- logger -t "${my_name}" "${msg}"
|
|
|
- exit 0
|
|
|
-fi
|
|
|
-
|
|
|
-msg="Version ${batman_version_wanted} of batman-adv wanted, but ${batman_version_installed} found. Fixing, see ${logfile} for details."
|
|
|
-echo "${msg}"
|
|
|
-logger -t "${my_name}" "${msg}"
|
|
|
-
|
|
|
-(
|
|
|
-
|
|
|
-# Be safe and shutdown all batman interfaces before removing the module
|
|
|
-for iface in $(ip l | awk -F: '/^[0-9]/ { print $2 }' | tr -d ' ' | grep ^bat); do
|
|
|
- ifdown "${iface}" || true
|
|
|
-done
|
|
|
-
|
|
|
-if lsmod | grep batman-adv; then
|
|
|
- rmmod batman-adv
|
|
|
-fi
|
|
|
-
|
|
|
-dkms remove "batman-adv/${batman_version_wanted}" --all || true
|
|
|
-dkms install "batman-adv/${batman_version_wanted}" --force
|
|
|
-
|
|
|
-# Load the newly compiled B.A.T.M.A.N. module
|
|
|
-modprobe batman-adv
|
|
|
-
|
|
|
-if [ ! "${only_fix_module}" ]; then
|
|
|
- # Configure all B.A.T.M.A.N. broken before
|
|
|
- ifup -a
|
|
|
-
|
|
|
- # Restart fastd, if installed
|
|
|
- if dpkg -l fastd >/dev/null 2>/dev/null; then
|
|
|
- service fastd restart
|
|
|
- fi
|
|
|
-
|
|
|
- # Restart alfred, if installed
|
|
|
- if dpkg -l alfred >/dev/null 2>/dev/null; then
|
|
|
- service alfred restart
|
|
|
- fi
|
|
|
-fi
|
|
|
-
|
|
|
-) >>"${logfile}" 2>>"${logfile}"
|