Description: I have written a small rc script to run pulseaudio in system-wide mode using the following parameters (see Output). After upgrading pulseaudio a few weeks ago I noticed that pulseaudio cannot be started again in system-wide mode. I didn't have time at that time to test some things to get more information so I haven't reported it until today. Note: I know that running pulseaudio in system-wide mode is not recommended except in some cases. Output: ``` # pulseaudio -D --system --disallow-module-loading --disallow-exit N: [(null)] main.c: Running in system mode, forcibly disabling SHM mode. N: [(null)] main.c: Running in system mode, forcibly disabling exit idle time. E: [(null)] main.c: Daemon startup failed. # tail -3 /var/log/messages Sep 6 14:57:17 dtxdf-test pulseaudio[19404]: [(null)] main.c: Home directory of user 'pulse' is not '/var/local/run/pulse', ignoring. Sep 6 14:57:17 dtxdf-test pulseaudio[19404]: [(null)] caps.c: Normally all extra capabilities would be dropped now, but that's impossible because PulseAudio was built without capabilities support. Sep 6 14:57:17 dtxdf-test pulseaudio[19404]: [(null)] core-util.c: Failed to create secure directory (/var/local/lib/pulse): Permission denied ```
localstatedir may be bad. Excerpts from phase:configure Message: ---{ pulseaudio 16.1 }--- prefix: /usr/local bindir: /usr/local/bin libdir: /usr/local/lib libexecdir: /usr/local/libexec mandir: /usr/local/man datadir: /usr/local/share sysconfdir: /usr/local/etc localstatedir: /var/local modlibexecdir: /usr/local/lib/pulseaudio/modules alsadatadir: /usr/local/share/pulseaudio/alsa-mixer System Runtime Path: /var/local/run/pulse System State Path: /var/local/lib/pulse System Config Path: /var/local/lib/pulse Bash completions directory: /usr/local/share/bash-completion/completions Zsh completions directory: /usr/local/share/zsh/site-functions Compiler: clang 13.0.0 Enable pulseaudio daemon: true Enable pulseaudio client: true
Created attachment 255698 [details] Globally override --localstatedir Regressed by bug 262713 which removed explicit --localstatedir=/var obsoleted by bug 199506 but not ported to USES=meson.
Created attachment 255699 [details] Globally override --localstatedir Also cleanup explicit --localstatedir, not just -Dlocalstatedir
Created attachment 255700 [details] Globally override --localstatedir emulators/qemu* don't have USES=meson, so revert the cleanup there.
Some new failure logs: https://pkg-status.freebsd.org/gohan06/data/133amd64-default-foo/2024-12-08_22h31m54s/logs/archlinux-pacman-6.1.0.log https://pkg-status.freebsd.org/gohan06/data/133amd64-default-foo/2024-12-08_22h31m54s/logs/pacman-6.1.0.log
(In reply to Antoine Brodin from comment #5) localstatedir needs to be locally set for sysutils/pacman; the global override is incorrect.
(In reply to Charlie Li from comment #6) Consumers are able to override --localstatedir. However, -Dlocalstatedir seems to have lower priority than --localstatedir thus needs to be converted. After fixing both pacman and archlinux-keyring (its consumer) built fine here.
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=f735bc3d93c4559aef3b2c9924d3c408ff3a3191 commit f735bc3d93c4559aef3b2c9924d3c408ff3a3191 Author: Jan Beich <jbeich@FreeBSD.org> AuthorDate: 2024-12-08 08:38:09 +0000 Commit: Jan Beich <jbeich@FreeBSD.org> CommitDate: 2024-12-12 20:56:40 +0000 Mk/Uses/meson.mk: pass --localstatedir like GNU_CONFIGURE after 9f4546a03cc0 Meson defaults to --localstatedir=/var/local if --prefix=/usr/local but this is not valid for ports/ or FreeBSD hier(7). See also 68edbeeaae96 and https://github.com/mesonbuild/meson/commit/24549dbed5fe PR: 273605 Analyzed by: Tatsuki Makino Exp-run by: antoine Mk/Uses/meson.mk | 1 + devel/glib20/Makefile | 1 - devel/libvirt/Makefile | 7 ++----- graphics/colord/Makefile | 3 +-- net/netatalk3/Makefile | 1 - ports-mgmt/packagekit/Makefile | 2 +- sysutils/accountsservice/Makefile | 1 - sysutils/pacman/Makefile | 2 +- sysutils/polkit/Makefile | 1 - sysutils/upower/Makefile | 1 - x11-fonts/fontconfig/Makefile | 1 - 11 files changed, 6 insertions(+), 15 deletions(-)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=21f9cc3823d8384086ced5988d22bdf49d46c9e5 commit 21f9cc3823d8384086ced5988d22bdf49d46c9e5 Author: Jan Beich <jbeich@FreeBSD.org> AuthorDate: 2024-12-12 21:03:53 +0000 Commit: Jan Beich <jbeich@FreeBSD.org> CommitDate: 2024-12-12 21:03:56 +0000 audio/pulseaudio: rebuild after f735bc3d93c4 to unbreak system-wide PR: 273605 audio/pulseaudio/Makefile | 1 + 1 file changed, 1 insertion(+)
Similar to bug 199506 I won't mass-bump all consumers. Most affected were already overriding.