sargo-temp/ansible/audio.yml

154 lines
4.3 KiB
YAML

---
- hosts: all
tasks:
### ALSA Config ###
- name: "Remove previously downloaded version of alsa ucm configs"
ansible.builtin.file:
path: "/root/alsa-ucm-conf-master.tar.gz"
state: absent
- name: "Download https://gitlab.com/sdm670-mainline/alsa-ucm-conf/-/archive/master/alsa-ucm-conf-master.tar.gz"
ansible.builtin.get_url:
url: "https://gitlab.com/sdm670-mainline/alsa-ucm-conf/-/archive/master/alsa-ucm-conf-master.tar.gz"
dest: /root/alsa-ucm-conf-master.tar.gz
force: true # overwrite if the already have a previous version
mode: '0440'
delay: 2
retries: 20
- name: "Remove alsa ucm configs"
ansible.builtin.file:
path: "/usr/share/alsa/{{ item }}"
state: absent
loop:
- ucm
- ucm2
- name: "Unpack alsa-ucm-conf-master.tar.gz to /usr/share/alsa"
ansible.builtin.shell: |
tar xvzf /root/alsa-ucm-conf-master.tar.gz -C /usr/share/alsa --strip-components=1 --wildcards "*/ucm" "*/ucm2"
args:
chdir: /usr/share/alsa
### Wireplumber Config ###
- name: "Copy Wireplumber Config"
ansible.builtin.copy:
src: 51-qcom-sdm845.conf
dest: "/usr/share/wireplumber/wireplumber.conf.d/51-qcom-sdm845.conf"
owner: root
group: root
mode: u+rw
force: true
register: wireplumber_config
- name: "Restart Wireplumber on config change"
ansible.builtin.systemd_service:
name: wireplumber.service
state: restarted
scope: user
become_user: "{{ ansible_env.SUDO_USER }}"
when: wireplumber_config.changed
### Remove Remnants Of Previous Playbook Versions ###
- name: "Deactivate systemd unit if it exists, ignore errors if it does not"
ansible.builtin.systemd_service:
name: q6voiced-temp.service
state: stopped
enabled: false
masked: true
ignore_errors: true
- name: "Remove remnants of previous versions of this playbook"
ansible.builtin.file:
path: "{{ item }}"
state: absent
loop:
- "/opt/tinyalsa"
- "/opt/q6voiced"
- "/etc/systemd/system/q6voiced-temp.service"
### Call Audio ###
- name: "Install dependencies"
ansible.builtin.apt:
pkg:
- gcc
- git
- libdbus-1-dev
- libdbus-cpp-dev
- make
- devscripts
- doxygen
state: present
update_cache: true
- name: "Remove repos that already exist"
ansible.builtin.file:
path: "/opt/repos"
state: "present"
owner: nobody
group: nogroup
- name: "chown repo directories to nobody:nogroup"
ansible.builtin.file:
path: "/opt/repos/"
recurse: true
owner: nobody
group: nogroup
- name: "Remove repos that already exist"
ansible.builtin.file:
path: "/opt/repos/{{ item }}"
state: "absent"
owner: nobody
group: nogroup
loop:
- "tinyalsa"
- "q6voiced"
- name: "Clone tinyalsa repo"
ansible.builtin.git:
repo: 'https://salsa.debian.org/erebion/tinyalsa.git'
dest: /opt/repos/tinyalsa
version: mobian-git20240621
become_user: nobody
delay: 2
retries: 20
- name: "Clone q6voiced repo"
ansible.builtin.git:
repo: 'https://salsa.debian.org/erebion/q6voiced.git'
dest: /opt/repos/q6voiced
version: mobian-git20240607
become_user: nobody
delay: 2
retries: 20
- name: "Build Debian packages for tinyalsa"
ansible.builtin.shell:
cmd: debuild -i -us -uc -b
chdir: "/opt/repos/tinyalsa/"
become_user: nobody
- name: "Install tinyalsa"
ansible.builtin.apt:
deb: "/opt/repos/{{ item }}"
loop:
- "libtinyalsa_2.0.0+git20240621-7f06b2f-3_arm64.deb"
- "libtinyalsa-dev_2.0.0+git20240621-7f06b2f-3_arm64.deb"
- "tinyalsa_2.0.0+git20240621-7f06b2f-3_arm64.deb"
- name: "Build Debian package for q6voiced"
ansible.builtin.shell:
cmd: debuild -i -us -uc -b
chdir: "/opt/repos/q6voiced/"
become_user: nobody
- name: "Install tinyalsa and q6voiced"
ansible.builtin.apt:
deb: "/opt/repos/q6voiced_0~0+git20240607-75ae4079-1_arm64.deb"