Merge remote-tracking branch 'origin/github/pr/148'
[grml-live.git] / etc / grml / fai / config / scripts / GRMLBASE / 90-update-alternatives
index 10a7e91..9c3d188 100755 (executable)
@@ -1,52 +1,82 @@
-#!/bin/sh
-# Filename:      /etc/grml/fai/config/scripts/GRMLBASE/90-update-alternatives
+#!/bin/bash
+# Filename:      ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/90-update-alternatives
 # Purpose:       set up /etc/alternatives/* according to grml preferences
 # Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
 # Bug-Reports:   see http://grml.org/bugs/
 # License:       This file is licensed under the GPL v2 or any later version.
-# Latest change: Mon Sep 29 13:58:14 CEST 2008 [mika]
 ################################################################################
 
 set -u
 set -e
 
-## Editor:
-# Too many people don't expect to get that, so use it only for grml-small:
-# avoid "debug: unbound variable"
-set +u
-if ifclass GRML_SMALL ; then
-set -u
-   if [ -r $target/usr/bin/vim.tiny ] ; then
-      $ROOTCMD update-alternatives --set editor /usr/bin/vim.tiny
-      $ROOTCMD update-alternatives --set vi     /usr/bin/vim.tiny
-   fi
+# starting with vim v2:8.1.2136-1 it uses /usr/libexec/vim for the vim.* binaries
+if $ROOTCMD update-alternatives --list editor 2>/dev/null | grep -q /usr/libexec/vim ; then
+  VIM_PATH=/usr/libexec/vim
+else # for backwards compatibility
+  VIM_PATH=/usr/bin
+fi
+
+if $ROOTCMD update-alternatives --list editor 2>/dev/null | grep -q 'vim.gtk3' ; then
+  echo "Setting vim.gtk3 as editor using update-alternatives."
+  $ROOTCMD update-alternatives --set editor "${VIM_PATH}"/vim.gtk3
+  $ROOTCMD update-alternatives --set vi     "${VIM_PATH}"/vim.gtk3
+  $ROOTCMD update-alternatives --set vim    "${VIM_PATH}"/vim.gtk3
+elif $ROOTCMD update-alternatives --list editor 2>/dev/null | grep -q 'vim.gtk$' ; then
+  echo "Setting vim.gtk as editor using update-alternatives."
+  $ROOTCMD update-alternatives --set editor "${VIM_PATH}"/vim.gtk
+  $ROOTCMD update-alternatives --set vi     "${VIM_PATH}"/vim.gtk
+  $ROOTCMD update-alternatives --set vim    "${VIM_PATH}"/vim.gtk
+elif $ROOTCMD update-alternatives --list editor 2>/dev/null | grep -q 'vim.basic' ; then
+  echo "Setting vim.basic as editor using update-alternatives."
+  $ROOTCMD update-alternatives --set editor "${VIM_PATH}"/vim.basic
+  $ROOTCMD update-alternatives --set vi     "${VIM_PATH}"/vim.basic
+  $ROOTCMD update-alternatives --set vim    "${VIM_PATH}"/vim.basic
+elif $ROOTCMD update-alternatives --list editor 2>/dev/null | grep -q 'vim.tiny' ; then
+  echo "Setting vim.tiny as editor using update-alternatives."
+  $ROOTCMD update-alternatives --set editor "${VIM_PATH}"/vim.tiny
+  $ROOTCMD update-alternatives --set vi     "${VIM_PATH}"/vim.tiny
 else
-   # avoid "debug: unbound variable" for ifclass running with 'set -u'
-   true
+  echo "Warning: No vim binary suitable for update-alternatives found."
+fi
+
+if $ROOTCMD update-alternatives --list x-terminal-emulator 2>/dev/null | grep -q '/uxterm' ; then
+  echo "Setting uxterm as x-terminal-emulator using update-alternatives."
+  $ROOTCMD update-alternatives --set x-terminal-emulator /usr/bin/uxterm
+elif $ROOTCMD update-alternatives --list x-terminal-emulator 2>/dev/null | grep -q '/xterm' ; then
+  echo "Setting xterm as x-terminal-emulator using update-alternatives."
+  $ROOTCMD update-alternatives --set x-terminal-emulator /usr/bin/xterm
+fi
+
+if $ROOTCMD update-alternatives --list x-cursor-theme 2>/dev/null | grep -q '/whiteglass.theme' ; then
+  echo "Setting whiteglass.theme as x-cursor-theme using update-alternatives."
+  $ROOTCMD update-alternatives --set x-cursor-theme /etc/X11/cursors/whiteglass.theme
 fi
 
-if [ -r $target/usr/bin/vim.basic ] ; then
-   $ROOTCMD update-alternatives --set editor /usr/bin/vim.basic
-   $ROOTCMD update-alternatives --set vi     /usr/bin/vim.basic
+if $ROOTCMD update-alternatives --list x-www-browser 2>/dev/null | grep -q '/iceweasel' ; then
+  echo "Setting iceweasel as x-www-browser using update-alternatives."
+  $ROOTCMD update-alternatives --set x-www-browser /usr/bin/iceweasel
 fi
 
-if [ -r $target/usr/bin/uxterm ] ; then
-   $ROOTCMD update-alternatives --set x-terminal-emulator /usr/bin/uxterm
-elif [ -r $target/usr/bin/xterm ] ; then
-   $ROOTCMD update-alternatives --set x-terminal-emulator /usr/bin/xterm
+if $ROOTCMD update-alternatives --list x-www-browser 2>/dev/null | grep -q '/firefox-esr' ; then
+  echo "Setting firefox-esr as x-www-browser using update-alternatives."
+  $ROOTCMD update-alternatives --set x-www-browser /usr/bin/firefox-esr
 fi
 
-if [ -r $target/etc/X11/cursors/whiteglass.theme ] ; then
-   $ROOTCMD update-alternatives --set x-cursor-theme /etc/X11/cursors/whiteglass.theme
+if $ROOTCMD update-alternatives --list www-browser 2>/dev/null | grep -q '/w3m' ; then
+  echo "Setting w3m as www-browser using update-alternatives."
+  $ROOTCMD update-alternatives --set www-browser /usr/bin/w3m
 fi
 
-if [ -r $target/usr/bin/iceweasel ] ; then
-   $ROOTCMD update-alternatives --set x-www-browser /usr/bin/iceweasel
+if $ROOTCMD update-alternatives --list x-window-manager 2>/dev/null | grep -q '/wm-ng' ; then
+  echo "Setting wm-ng as x-window-manager using update-alternatives."
+  $ROOTCMD update-alternatives --set x-window-manager /usr/bin/wm-ng
 fi
 
-if [ -r $target/usr/bin/w3m ] ; then
-   $ROOTCMD update-alternatives --set www-browser /usr/bin/w3m
+# sadly isn't available via update-alternates, anyway - use
+# ntfs-3g (if available) as default for ntfs
+if [ -r $target/sbin/mount.ntfs-3g ] || [ -L $target/sbin/mount.ntfs-3g ] ; then
+  $ROOTCMD ln -sf /sbin/mount.ntfs-3g /sbin/mount.ntfs
 fi
 
 ## END OF FILE #################################################################
-# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=3
+# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=2