summaryrefslogtreecommitdiff
path: root/plugins.sh
blob: 6bdc9501a8f7b1735ee5f875d4153a922cf6e405 (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
#!/bin/sh

# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis)
# von Marc Wernecke - www.zulu-entertainment.de
# 11.09.2008

# x-vdr/plugins.sh

[ -r ./x-vdr.conf ] || exit 1
source ./x-vdr.conf
source ./setup.conf
source ./functions
PDIR="$(pwd)/plugins"

# make plugins
function make_plugins() {
  if [ ! -x $SOURCEDIR/VDR/vdr ]; then
    log "****************************************"
    log "Plugins Fehler - Kann VDR nicht finden! "
    log "****************************************"
    return 1
  fi
  log "****************************************"
  log "Vorbereitungen fuer Plugins ..."
  log "****************************************"
  plugins=`ls $PDIR`
  if [ -n "$plugins" ]; then
    for i in $plugins; do
      if [ -x $PDIR/$i/plugin.sh ]; then
        cd $PDIR/$i
        status=`./plugin.sh --status`
        if [ "${!i}" = "on" ] && [ "$status" = "0" ]; then
          ./plugin.sh
        elif [ "${!i}" = "on" ] && [ "$status" = "2" ]; then
          ./plugin.sh --clean
          ./plugin.sh
        elif [ "${!i}" = "off" ] && [ "$status" != "0" ]; then
          ./plugin.sh --clean
        fi
      fi
    done
  fi
  log "****************************************"
  log "Erstellen der Plugins ..."
  log "****************************************"
  cd $SOURCEDIR/VDR
  make plugins || return 1

  # burn (install burn-buffer)
  if [ "$burn" = "on" ] && [ -f $SOURCEDIR/VDR/PLUGINS/src/burn/burn-buffers ] && [ ! -f $VDRBINDIR/burn-buffers ]; then
    cp -f $SOURCEDIR/VDR/PLUGINS/src/burn/burn-buffers $VDRBINDIR
  fi
  # pin (install fskcheck)
  if [ "$pin" = "on" ] && [ -f $SOURCEDIR/VDR/PLUGINS/src/pin/fskcheck ] && [ ! -f $VDRBINDIR/fskcheck ]; then
    cp -f $SOURCEDIR/VDR/PLUGINS/src/pin/fskcheck $VDRBINDIR
    chmod 0755 $VDRBINDIR/fskcheck
  fi
  # softdevice (install ShmClient)
  if [ "$softdevice" = "on" ] && [ -f $SOURCEDIR/VDR/PLUGINS/src/softdevice/ShmClient ] && [ ! -f $VDRBINDIR/ShmClient ]; then
    cp -f $SOURCEDIR/VDR/PLUGINS/src/softdevice/ShmClient $VDRBINDIR
    chmod 0755 $VDRBINDIR/ShmClient
  fi
  # xineliboutput (install frontends and xine plugins)
  if [ "$xineliboutput" = "on" ]; then
    XINEPLUGINDIR=`xine-config --plugindir`
    if [ ! -f $VDRBINDIR/vdr-fbfe ] || [ ! -f $VDRBINDIR/vdr-sxfe ] || [ -f $XINEPLUGINDIR/xineplug_inp_xvdr.so ]; then
      cd $SOURCEDIR/VDR/PLUGINS/src/xineliboutput
      make install
    fi
  fi

  # copy locale
  if [ -d $SOURCEDIR/VDR/locale ]; then
    [ ! -d $VDRLOCDIR ] && mkdir -p $VDRLOCDIR && log "Erstelle $VDRLOCDIR"
    cp -fR $SOURCEDIR/VDR/locale/* $VDRLOCDIR
  fi

  log "****************************************"
  log "Erstellen der Plugins ist abgeschlossen."
  log "****************************************"
}

make_plugins || exit 1
exit 0