build and use debian packages

This commit is contained in:
erebion 2024-07-20 02:39:08 +02:00
parent 75fb8b4299
commit cc69607f53

View file

@ -10,6 +10,7 @@
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
mode: '0440'
retries: 20
- name: "Remove alsa ucm configs"
ansible.builtin.file:
@ -25,9 +26,28 @@
args:
chdir: /usr/share/alsa
### 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 gcc, git, libdbus-1-dev, libdbus-cpp-dev and make"
- name: "Install dependencies"
ansible.builtin.apt:
pkg:
- gcc
@ -35,67 +55,55 @@
- libdbus-1-dev
- libdbus-cpp-dev
- make
- devscripts
- doxygen
state: present
update_cache: true
- name: "Create directory for the repos (first delete it to make it empty)"
ansible.builtin.file:
path: "/opt/repos/"
state: "{{ item }}"
owner: nobody
group: nogroup
loop:
- "absent"
- "directory"
- name: "Clone tinyalsa repo"
ansible.builtin.git:
repo: 'https://github.com/tinyalsa/tinyalsa.git'
dest: /opt/tinyalsa
version: master
- name: "Compile tinyalsa"
community.general.make:
chdir: /opt/tinyalsa
- name: "Install tinyalsa"
community.general.make:
chdir: /opt/tinyalsa
target: install
- name: "Run ldconfig"
ansible.builtin.command: /sbin/ldconfig
args:
chdir: /opt/tinyalsa
repo: 'https://salsa.debian.org/erebion/tinyalsa.git'
dest: /opt/repos/tinyalsa
version: mobian-git20240129
retries: 20
- name: "Clone q6voiced repo"
ansible.builtin.git:
repo: 'https://gitlab.com/postmarketOS/q6voiced'
dest: /opt/q6voiced
version: master
repo: 'https://salsa.debian.org/erebion/q6voiced.git'
dest: /opt/repos/q6voiced
version: mobian-git20240607
retries: 20
- name: "Compile q6voiced"
- name: "chown repo directories to nobody:nogroup"
ansible.builtin.file:
path: "/opt/repos/"
recurse: true
owner: nobody
group: nogroup
- name: "Build Debian packages for tinyalsa and q6voiced"
ansible.builtin.shell:
cmd: "gcc $(pkg-config --cflags dbus-1) q6voiced.c -o q6voiced -ltinyalsa -ldbus-1 -ldl"
args:
chdir: /opt/q6voiced
creates: /opt/q6voiced/q6voiced
cmd: debuild -i -us -uc -b
chdir: "{{ item }}"
become_user: nobody
loop:
- "/opt/repos/tinyalsa/"
- "/opt/repos/q6voiced/"
- name: "Create /etc/q6voiced.conf"
ansible.builtin.copy:
src: q6voiced.conf
dest: /etc/q6voiced.conf
owner: root
group: root
mode: u+rwx
force: false
- name: "Create q6voiced-temp.service"
ansible.builtin.copy:
src: q6voiced-temp.service
dest: /etc/systemd/system/q6voiced-temp.service
owner: root
group: root
mode: u+rwx
force: true
register: unit
- name: Reload systemd units
ansible.builtin.systemd:
daemon_reload: yes
when: unit.changed
- name: "Enable custom service unit for q6voiced"
ansible.builtin.service:
enabled: true
name: "q6voiced-temp.service"
- name: "Install tinyalsa and q6voiced"
ansible.builtin.apt:
deb: "/opt/repos/{{ item }}"
loop:
- "libtinyalsa_2.0.0+git20240621-7f06b2f-1_arm64.deb"
- "tinyalsa_2.0.0+git20240621-7f06b2f-1_arm64.deb"
- "q6voiced_0~0+git20240607-75ae4079-1_arm64.deb"