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

View File

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