Dear VDR folks,
looking around for systemd service files I found three examples. One from OpenBricks [1],
[Unit] Description=Video Disk Recorder After=lircd.service pvr.service ConditionPathExists=/run/geexbox/pvr/vdr
[Service] ExecStart=/usr/bin/runvdr Restart=always
[Install] WantedBy=multi-user.target
one from a VDR-Portal forum post [2]
[Unit] Description=Video Disk Recorder After=lircd.service
[Service] ExecStart=/usr/local/src/VDR/vdr --lirc=/run/lirc/lircd -s /usr/local/bin/vdr-shutdown.sh -v /var/lib/vdr/video -w 90 -Plive -Pstreamdev-server -P 'epgsearch --config=/etc/vdr/plugins/epgsearch' -P 'xineliboutput --local=none --remote=37890' ExecStartPost=/usr/local/bin/svdrpsend.pl remo off Restart=on-failure
[Install] WantedBy=multi-user.target
and the one shipped by openSUSE [2].
[Unit] Descritpion=VDR After=lirc.service
[Service] Type=once ExecStart=/usr/local/bin/runvdr TimeoutSec=0
[Install] WantedBy=multi-user.target
As the comments in the VDR-Portal thread [2] suggest, it would be great to do without any shell/Bash script and more or less execute plain VDR and let systemd do everything else.
heise open published an article about Upstart and as an example converted the VDR init.d script to an Upstart script [3].
Looking at that example I disagree with only starting VDR when an USB DVB device medium is plugged in, since there are use cases like IPTV or a VDR client.
So how could such a generic set up look like. Do output plugins need to ship there own service files? Like xineliboutput which can also be run as a local frontend and for example sxfe needs a X server running. The current init.d script (in Debian) does not handle that either I think.
So I guess it will not be possible to find a generic solution but let all plugins ship their own service files as needed or document what is needed.
For the core VDR I guess we can assume it is run as a daemon and the above sample service files can be adapted and be included.
Any thoughts?
Thanks,
Paul
[1] http://hg.openbricks.org/openbricks/file/tip/packages/vdr/unit/vdr.service [2] http://www.vdr-portal.de/board16-video-disk-recorder/board8-vdr-grundlagen/1... [3] http://www.heise.de/open/artikel/Init-Skripte-migrieren-844830.html