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:
2026-09-08 17:13:00 +02:00
parent f79c106437
commit ab9763ec49
158 changed files with 775 additions and 660 deletions

View 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`

View File

@@ -0,0 +1,3 @@
---
shairport_sync_version: "3.3.5"
shairport_name: Unnamed Raspberry with shairport

View 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

View File

@@ -0,0 +1,3 @@
---
dependencies:
- role: pi_alsasetup

View 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

View File

@@ -0,0 +1,9 @@
general =
{
name = "{{shairport_name}}";
};
alsa =
{
output_device = "softvol_shairport";
};