Fix ansible-lint violations: FQCN, formatting, bugs, role renames
- Auto-fix FQCN, YAML formatting, jinja spacing, and free-form module syntax via ansible-lint --fix - Fix comments misplaced inside module args by the auto-fixer (bluetooth-monitor, pi_standard_setup, pi_musicmouse) - Fix notify: references left stale (lowercase) after handler names were re-cased, which would have silently broken reboot/restart handlers (pi_disable_onboard_bluetooth, pi_hifiberry_amp, pi_squeezelite, pi_standard_setup) - Fix a task in pis/debmatic-install.yml missing its module name (apt_repository), which caused a real syntax-check failure - Add missing play names, fix comment spacing, literal-compare idiom, and no-changed-when annotations - Delete unused/broken roles/better-shell-env (unreferenced, invalid YAML) - Rename all hyphenated role directories to underscore form to satisfy ansible-lint's role-name rule, updating every playbook/meta reference Remaining lint findings (var-naming, package-latest, risky-file-permissions, no-handler) intentionally left for follow-up per user decision.
This commit is contained in:
6
roles/pi_shairport/README.md
Normal file
6
roles/pi_shairport/README.md
Normal file
@@ -0,0 +1,6 @@
|
||||
# pi_shairport
|
||||
|
||||
Builds and installs shairport-sync (AirPlay receiver) from source, copies
|
||||
its config, and patches the systemd service to run as root.
|
||||
|
||||
**Key vars:** `shairport_sync_version`, `shairport_name`
|
||||
3
roles/pi_shairport/defaults/main.yml
Normal file
3
roles/pi_shairport/defaults/main.yml
Normal file
@@ -0,0 +1,3 @@
|
||||
---
|
||||
shairport_sync_version: "3.3.5"
|
||||
shairport_name: Unnamed Raspberry with shairport
|
||||
21
roles/pi_shairport/files/build-shairport-sync.sh
Normal file
21
roles/pi_shairport/files/build-shairport-sync.sh
Normal file
@@ -0,0 +1,21 @@
|
||||
#!/bin/bash
|
||||
|
||||
ARG1=$1
|
||||
VERSION=${ARG1:="3.3.6"}
|
||||
|
||||
# Make a new temporary directory and go there
|
||||
tmp_dir=$(mktemp -d)
|
||||
cd $tmp_dir
|
||||
|
||||
# Clone, build and install
|
||||
git clone https://github.com/mikebrady/shairport-sync.git
|
||||
git reset --hard origin/$VERSION
|
||||
cd shairport-sync
|
||||
autoreconf -fi
|
||||
./configure --sysconfdir=/etc --with-alsa --with-soxr --with-avahi --with-ssl=openssl --with-systemd
|
||||
make
|
||||
make install
|
||||
|
||||
# Clean up
|
||||
cd ~
|
||||
rm -rf $tmp_dir
|
||||
3
roles/pi_shairport/meta/main.yml
Normal file
3
roles/pi_shairport/meta/main.yml
Normal file
@@ -0,0 +1,3 @@
|
||||
---
|
||||
dependencies:
|
||||
- role: pi_alsasetup
|
||||
43
roles/pi_shairport/tasks/main.yml
Normal file
43
roles/pi_shairport/tasks/main.yml
Normal file
@@ -0,0 +1,43 @@
|
||||
---
|
||||
- name: Apt install dependencies
|
||||
ansible.builtin.apt:
|
||||
cache_valid_time: 7200
|
||||
state: present
|
||||
name:
|
||||
- build-essential
|
||||
- git
|
||||
- xmltoman
|
||||
- autoconf
|
||||
- automake
|
||||
- libtool
|
||||
- libpopt-dev
|
||||
- libconfig-dev
|
||||
- libasound2-dev
|
||||
- avahi-daemon
|
||||
- libavahi-client-dev
|
||||
- libssl-dev
|
||||
- libsoxr-dev
|
||||
- name: Build and Install Shairport sync (may take a while)
|
||||
ansible.builtin.script: "build-shairport-sync.sh ${shairport_sync_version}"
|
||||
args:
|
||||
creates: /usr/local/bin/shairport-sync
|
||||
- name: Copy config
|
||||
ansible.builtin.template:
|
||||
src: shairport-sync.conf
|
||||
dest: /etc/shairport-sync.conf
|
||||
- name: Modify service file to run as root
|
||||
ansible.builtin.lineinfile:
|
||||
path: /lib/systemd/system/shairport-sync.service
|
||||
regexp: "^#?User="
|
||||
line: "User=root"
|
||||
- name: Restart shairport-sync
|
||||
ansible.builtin.systemd:
|
||||
name: shairport-sync
|
||||
state: restarted
|
||||
enabled: "yes"
|
||||
daemon_reload: "yes"
|
||||
- name: Add to sysdweb
|
||||
ansible.builtin.include_role:
|
||||
name: pi_sysdweb
|
||||
vars:
|
||||
sysdweb_name: shairport-sync
|
||||
9
roles/pi_shairport/templates/shairport-sync.conf
Normal file
9
roles/pi_shairport/templates/shairport-sync.conf
Normal file
@@ -0,0 +1,9 @@
|
||||
general =
|
||||
{
|
||||
name = "{{shairport_name}}";
|
||||
};
|
||||
|
||||
alsa =
|
||||
{
|
||||
output_device = "softvol_shairport";
|
||||
};
|
||||
Reference in New Issue
Block a user