summaryrefslogtreecommitdiff
path: root/contrib/flatPlus_MV_Update.sh
blob: 080251a5faf137584bd6658597dd457c00e5d10c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
#!/bin/bash

# flatPlus_MV_Update.sh
# Skript zum Updaten der MV-Themen

#set -x

# Ordner und Dateien
ICONS="icons" ; THEMES="themes" ; DECORS="decors"
INFO=MV_Themes.INFO ; HIST=MV_Themes.HISTORY

# Ordner für Direktupdate (Im aktuellem Filesystem); Beispiel für Gen2VDR
THEMEDIR="/etc/vdr/themes"
ICONDIR="/etc/vdr/plugins/skinflatplus/icons"
DECORDIR="/etc/vdr/plugins/skinflatplus/decors"

timedout_read() {
  timeout=$1 ; varname=$2 ; old_tty_settings=`stty -g`
  stty -icanon min 0 time ${timeout}0
  read $varname
  stty "$old_tty_settings"           # See man page for "stty."
}

_help() {
  echo "-------------------------------"
  echo "Falscher Parameter: $1"
  echo "Aufruf mit $(basename $0)"
  echo "Parameter -Silent    Keine Abfragen (Silent Update)."
  echo "Parameter -Direct    Direktes Update der Daten im Filesysten (/etc/vdr)."
  echo "                     !!! Speziell für Gen2VDR angepasst !!!"
  exit
}
### Start
# In Skriptordner wechseln (contrib)
cd $(dirname $0)  # Skript im contrib-Ordner

if [ ! -d "../$ICONS" -o ! -d "../$THEMES" -o ! -d "../$DECORS" ] ; then
  echo "Falsches Verzeichnis! Skript muss im ./contrib-Ordner ausgeführt werden"
  exit 1
fi


if [ -n "$1" ] ; then         # Parameter wurde übergeben
  case $1 in
    -Silent) SILENTUPDATE=1 ; echo "Silent Update! ($1)" ;;
    -Direct) DIRECTUPDATE=1 ; echo "Direct Update! ($1)" ; unset SILENTUPDATE ;;
    *)       _help
  esac
fi

# MV_Themes Löschen!
if [ -z "$SILENTUPDATE" ] ; then
  echo "-------------------------------"
  echo "MV_Themen löschen? (J/n)"
  [ -n "$DIRECTUPDATE" ] && echo "ACHTUNG: Dateien in /etc werden gelöscht!"
  timedout_read 5 TASTE
  if [ "$TASTE" = "n" -o "$TASTE" = "N" ] ; then
    echo "Skript abgebrochen. Es wurde nichts gelöscht!"
    exit
  fi
fi

if [ -n "$DIRECTUPDATE" ] ; then # Löschen im Dateisystem (/etc)
  rm -rf $ICONDIR/MV*
  rm -f $THEMEDIR/flatPlus-MV*
  rm -f $DECORDIR/*MV*
else                             # Löschen im Source-Dir von skinflatPlus
  rm -rf ../$ICONS/MV*
  rm -f ../$THEMES/flatPlus-MV*
  rm -f ../$DECORS/*MV*
  rm -f ../$INFO
  rm -f ../$HIST
fi

echo "MV-Themen wurden entfernt."

# MV_Themes neu laden
if [ -z "$SILENTUPDATE" ] ; then
  echo "-------------------------------"
  echo "MV_Themes neu herunterladen und entpacken? (J/n)"
  timedout_read 5 TASTE
  [ "$TASTE" = "n" -o "$TASTE" = "N" ] && exit
fi

cd ..
# Download
if [ -n "$DIRECTUPDATE" ] ; then
  cd /tmp
fi
wget https://dl.dropboxusercontent.com/u/1490505/VDR/skinflatplus/MV_Themes.tar.xz
tar -xJf MV_Themes.tar.xz    # Entpacken
rm -rf MV_Themes.tar.xz      # Archiv entfernen

if [ -n "$DIRECTUPDATE" ] ; then
  cp -f themes/flatPlus-MV* $THEMEDIR
  cp -f decors/*MV* $DECORDIR
  cp -rf icons/MV* $ICONDIR
fi

echo "-------------------------------"
echo "MV-Themen wurden aktualisiert."

[ -n "$DIRECTUPDATE" ] && exit

if [ -z "$SILENTUPDATE" ] ; then
  echo "-------------------------------"
  echo "MV_Themen installieren (make install)? (j/N)"
  timedout_read 5 TASTE
  if [ "$TASTE" = "j" -o "$TASTE" = "J" ] ; then
    #cd ..
    make install
    echo "-------------------------------"
    echo "MV-Themen wurden installiert."
  fi
else     # Silentupdate - Themen instalieren
  make install
fi

echo "-------------------------------"

exit