# Start VDR only when at least one dvb device is present

env RUNDIR=/var/run/dvb

start on dvb-device-add
start on device-remove

emits vdr-start vdr-stop

script
  case "$UPSTART_EVENT" in
    dvb-device-add)
      if [ -n "$UDEV_KERNEL" -a -n "UDEV_DEVPATH" ]; then
        mkdir -p $RUNDIR
        # echo ${UDEV_DEVPATH%/dvb/dvb*.dvr0} > $RUNDIR/$UDEV_KERNEL
        echo ${UDEV_DEVPATH%/dvb/${UDEV_KERNEL}} > $RUNDIR/$UDEV_KERNEL
        /sbin/initctl --quiet emit --no-wait vdr-start
      fi
      ;;
    device-remove)
      if [ -d $RUNDIR ]; then
        for d in $RUNDIR/*; do
          if [ -f $d ]; then
            read basedev < $d
            if [ -z "$basedev" -o "${UDEV_DEVPATH#${basedev}}" != "${UDEV_DEVPATH}" ]; then
              rm -f $d
            fi
          fi
        done
        rmdir --ignore-fail-on-non-empty $RUNDIR
        if [ ! -d $RUNDIR ]; then
          /sbin/initctl --quiet emit --no-wait vdr-stop
        fi
      fi
      ;;
    esac
  done
end script
