NQPTP works and runs as _shairport user on OpenBSD.
Linux capabilities(7) allow starting as unprivileged user in the first
place, otherwise programs only need to start and perform privileged
actions such as bind(2)ing sockets as root, after that they can and
should! drop privileges.
Instead of updating/repeating supported systems, drop listings.
Adds a "install-config-files" Makefile target that installs the config
files and dbus policies to DESTDIR=, regardless of whether
--with{,out}-configfiles is specified.
From mandoc man(1) [-s] section:
1 General commands (tools and utilities).
[...]
7 Miscellaneous information.
From GNU man(1) DESCRIPTION:
1 Executable programs or shell commands
[...]
7 Miscellaneous (including macro packages and conventions), e.g.
man(7), groff(7)
shairport-sync is an executable, shairport-sync(1) ought to be its
documentation, not merely miscellaneous information.
OpenBSD adjusts this in its audio/shairport-sync port/package ever since.
nqptp.c listens on "localhost", but shairport-sync connectes to the wildcard
address 0/0. This apparently works on Linux and FreeBSD, but OpenBSD fails:
```
$ ktrace shairport-sync -v -u
[...]
0.000038288 "ptp-utilities.c:243" *fatal error: error sending timing_peer_list to NQPTP
0.000021868 "shairport.c:1728" emergency exit
$ kdump
[...]
2319 shairport-sync STRU struct sockaddr { AF_INET, 0.0.0.0:9000 }
2319 shairport-sync RET sendto -1 errno 51 Network is unreachable
[...]
```
Resolve and connect to "localhost" just like NQPTP does, resulting in
127.0.0.1 or ::1 as socket addresses.
This is required to run when configured `--with-airplay-2`.
Tested on OpenBSD/amd64 7.4-current with shairport-sync 2.4.3 and nqptp
1.2.5-dev cfa8315 (plus OpenBSD fixes).
I expect Linux and FreeBSD to work as before, but have not tested it.
Update to 4.3.2
**Enhancements**
* A totally new PipeWire backend featuring full synchronisation.
**Bug Fixes**
* Stability improvements for the PulseAudio backend.
* Fix a crash when the Avahi subsystem became disconnected. This is normally a rare occurrence, but Shairport Sync was not dereferencing obsolete data correctly when it happened.
* Set and reset Bonjour flags correctly when it's a Classic Airplay session in AirPlay 2 operation.
* Fix a number of FreeBSD compilation errors and warnings.
* Fix various errors when breaking into an existing session to terminate it. Thanks again to [aaronk6](https://github.com/aaronk6).
* Fix some debug message errors, sigh. Thanks to [Nathan Gray](https://github.com/n8gray).