Update Manual.org and Manual.html

This commit is contained in:
Alexander Grothe 2019-03-10 20:35:58 +01:00
parent c0ad4c9c49
commit c706146eac
3 changed files with 984 additions and 603 deletions

File diff suppressed because it is too large Load Diff

View File

@ -727,6 +727,7 @@ yavdr-common executes the following tasks:
- debconf-utils
- linux-firmware
- psmisc
- python-jmespath
- python-kmodpy
- python-requests
- python-usb
@ -5365,16 +5366,22 @@ It would be nice to be able to detect if it is suitable to install those drivers
:PROPERTIES:
:ID: 8b66ce8d-0095-4fbd-8868-8bc5c43d19fc
:END:
For now we have the role ~install-sundtek~, in the future we could do a little better:
We should be able to detect local devices by USB-ID:
Vendor-IDs:
- eb1a:5[1b2] (alte Generation)
- 2659:* (neuere Sticks)
**** planned packages
:PROPERTIES:
:ID: f5970635-da3e-4929-a17c-3226b69497c5
:END:
- yavdr-hardware-sundtek
- python3-sundtek
- yavdr-backend-sundtek
- yavdr-hardware-sundtek (basic configuration files and scripts, sundtek-avahi-mounter)
- python3-sundtek (Python C-extension for sundtek API)
- yavdr-backend-sundtek (WFE)
*** TODO drivers for TT S2-6400 FF
:PROPERTIES:
:ID: 257ce3b7-ecfc-4e13-b394-f3b0707be30a
@ -6052,7 +6059,7 @@ This role installs the vdr-epg-daemon
#+include: roles/epgd/tasks/main.yml src yml
*** templates
#+include: roles/epgd/templates/etc_mysql_mardiadb.conf.d_99-epgd.cnf.j2 src jinja2
#+include: roles/epgd/templates/etc_mysql_mariadb.conf.d_99-epgd.cnf.j2 src jinja2
#+include: roles/epgd/templates/root_.ssh_mysqlpasswd.j2 src jinja2
#+include: roles/epgd/templates/etc_epgd_epgd.conf.j2 src jinja2
@ -6086,15 +6093,33 @@ sundtek:
---
# file roles/install-sundtek/tasks/main.yml
- name: apt | install yavdr-hardware-sundtek
apt:
name: yavdr-hardware-sundtek
# TODO: include LD_PRELOAD and other dependencies in yavdr-hardware-sundtek package
#- name: apt | install yavdr-hardware-sundtek
# apt:
# name: yavdr-hardware-sundtek
- name: expand template for custom sundtek.service
template:
src: templates/systemd/sundtek.service.j2
dest: /etc/systemd/systemd/sundtek.service
when: sundtek.install
- name: apt | install sundtek dvb driver
apt:
name: dvb-driver-sundtek
state: present
when: sundtek.install
# TODO: state should depend on sundtek.install:
# '{{ "present" if sundtek.install else "absent" }}'
- name: apt | install vdr-plugins for dynamic sundtek configuration else uninstall
apt:
name:
- vdr-plugin-dynamite
- vdr-plugin-sundtek
state: '{{ "absent" if sundtek.wait_for_devices else "present" }}'
when: sundtek.install
# TODO: include LD_PRELOAD in yavdr-hardware-sundtek!
#- name: set LD_PRELOAD for sundtek driver to VDR's environment
# file:
# src: files/sundtek_LD_PRELOAD.conf
# dest: /etc/systemd/system/vdr.service.d/sundtek_LD_PRELOAD.conf
- name: systemd | start sundtek.service
systemd:
@ -6103,47 +6128,67 @@ sundtek:
enabled: yes
masked: no
daemon-reload: yes
when: sundtek.install
- name: detect local and remote sundtek devices
command: scansundtek
register: sundtek_scan
# TODO: Scan for local and remote sundtek sticks and create
# /etc/sundtek.conf - needs yavdr-hardware-sundtek
#- name: detect local and remote sundtek devices
# command: scansundtek
# register: sundtek_scan
#
# - name: set variable sundtek_scan
# set_fact:
# sundtek_devices: "{{ sundtek_scan.stdout | from_json }}"
#
#- name: create /etc/sundtek.conf
# template:
# src: templates/sundtek.conf.j2
# dest: /etc/sundtek.conf
# notify: Restart sundtek.service
- name: set variable sundtek_scan
set_fact:
sundtek_devices: "{{ sundtek_scan.stdout | from_json }}"
- name: create /etc/sundtek.conf
- name: set LD_PRELOAD for sundtek driver to VDR's environment
template:
src: templates/sundtek.conf.j2
dest: /etc/sundtek.conf
notify: Restart sundtek.service
src: templates/systemd/vdr.service.d/sundtek.conf.j2
dest: /etc/systemd/system/vdr.service.d/sundtek_LD_PRELOAD.conf
notify: ['Restart VDR']
- name: systemd | start sundtek-avahi-mounter.service
systemd:
name: sundtek-avahi-mounter.service
state: started
masked: no
enabled: yes
daemon-reload: yes
# TODO: enable sundtek-avahi-mounter (needs to be ported to python3 and
# work indenpendently of yavdrhw.db files)
#- name: systemd | start sundtek-avahi-mounter.service
# systemd:
# name: sundtek-avahi-mounter.service
# state: started
# masked: no
# enabled: yes
# daemon-reload: yes
#+END_SRC
*** templates
:PROPERTIES:
:ID: 30011bae-7869-4928-b8ea-b66034badf9e
:END:
**** Overrides for systemd unit sundtek.service
- [ ] wait for network
- [X] wait for local devices (see sundtek.service)
**** LD_PRELOAD for vdr.service
#+BEGIN_SRC systemd :tangle roles/install-sundtek/templates/systemd/vdr.service.d/sundtek.conf.j2
{{ ansible_managed | comment }}
{% if sundtek.install %}
[Service]
Environment=LD_PRELOAD=/opt/lib/libmediaclient.so
{% endif %}
#+END_SRC
**** /etc/systemd/system/sundtek.service
#+BEGIN_SRC systemd :tangle roles/sundtek/systemd/sundtek.service.j2
#+BEGIN_SRC systemd :tangle roles/install-sundtek/templates/systemd/sundtek.service.j2
{{ ansible_managed | comment }}
[Unit]
Description=Sundtek mediasrv
{% if sundtek.wait_for_network %}
After=network-online.target
{% endif %}
Before=vdr.service
[Service]
Type=forking
ExecStart=/opt/bin/mediasrv -d --pluginpath=/opt/bin --wait-for-devices
ExecStart=/opt/bin/mediasrv -d --pluginpath=/opt/bin {% if sundtek.wait_for_devices %}--wait-for-devices{% endif%}
ExecStop=/opt/bin/mediaclient --shutdown
Restart=on-failure
[Install]
@ -6217,6 +6262,7 @@ device_attach=/usr/bin/sundtek_attach
device_detach=/usr/bin/sundtek_detach
{% if sundtek_devices is definded %}
{% for device in sundtek_devices.local %}
{% if device.serial is defined %}
[{{ device.serial }}]
@ -6253,6 +6299,7 @@ disable_analogtv=1 #disable initialization
{% endif %}
{% endfor %}
{% endif %}
#+END_SRC
** template-test
:PROPERTIES:

View File

@ -40,6 +40,7 @@
- debconf-utils
- linux-firmware
- psmisc
- python-jmespath
- python-kmodpy
- python-requests
- python-usb