guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#54379] [PATCH] gnu: linux: update PipeWire & WirePlumber


From: Brendan Tildesley
Subject: [bug#54379] [PATCH] gnu: linux: update PipeWire & WirePlumber
Date: Thu, 31 Mar 2022 16:40:44 +1100


On 30/3/22 14:23, fesoj000 wrote:
On 3/30/22 3:01 AM, Brendan Tildesley wrote:
1. Add "-Dsysconfdir=/etc" to configure-flags so /etc/pipewire is used instead of the output store path.
How do you use pipewire? The store output configuration is the package default. If you need some special settings you can use "~/.config/pipewire/" to overwrite the settings you want to change.

I set PIPEWIRE_CONFIG_DIR=/etc/pipewire in /etc/environment and made etc services to symink all the config
files there. but I think i will get rid of that in favour of sysconfdir.
So far it was perfect to have the immutable default config in the store and reference it for your own settings. Especially after a breaking change in pipewire, this immutable config in the store path can be
very valuable to get a working setup again.

I do not care what the default config directory is, but i would like to keep the default config as part
of the package.

BR
You don't need to worry about that because the default config is in share/ not etc/. There is nothing in the etc/ besides ld.so.cache

This is how pipewire accesses config without sysconfigdir set:

b@jiu ~/code/guix [env]$ strace /gnu/store/kvyhx5i5a6i63iihp20wj3yikhvf4si7-pipewire-0.3.48/bin/pipewire 2>&1|rg '^access' access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory) access("/home/b/.config/pipewire/pipewire.conf", R_OK) = -1 ENOENT (No such file or directory) access("/home/b/.config/pipewire/pipewire.conf", R_OK) = -1 ENOENT (No such file or directory) access("/gnu/store/kvyhx5i5a6i63iihp20wj3yikhvf4si7-pipewire-0.3.48/etc/pipewire/pipewire.conf", R_OK) = -1 ENOENT (No such file or directory) access("/gnu/store/kvyhx5i5a6i63iihp20wj3yikhvf4si7-pipewire-0.3.48/share/pipewire/pipewire.conf", R_OK) = 0 access("/gnu/store/kvyhx5i5a6i63iihp20wj3yikhvf4si7-pipewire-0.3.48/share/pipewire/pipewire.conf.d", R_OK) = -1 ENOENT (No such file or directory) access("/gnu/store/kvyhx5i5a6i63iihp20wj3yikhvf4si7-pipewire-0.3.48/etc/pipewire/pipewire.conf.d", R_OK) = -1 ENOENT (No such file or directory) access("/home/b/.config/pipewire/pipewire.conf.d", R_OK) = -1 ENOENT (No such file or directory) access("/home/b/.config/pipewire/pipewire.conf.d", R_OK) = -1 ENOENT (No such file or directory)

setting it just makes it do this:

b@jiu ~ [env]$ strace pipewire 2>&1|grep '^access'
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory) access("/home/b/.config/pipewire/pipewire.conf", R_OK) = -1 ENOENT (No such file or directory) access("/home/b/.config/pipewire/pipewire.conf", R_OK) = -1 ENOENT (No such file or directory) access("/etc/pipewire/pipewire.conf", R_OK) = -1 ENOENT (No such file or directory) access("/gnu/store/p7wpq9axacrzk43whbvg6r4f3v0bkyvz-pipewire-0.3.48/share/pipewire/pipewire.conf", R_OK) = 0 access("/gnu/store/p7wpq9axacrzk43whbvg6r4f3v0bkyvz-pipewire-0.3.48/share/pipewire/pipewire.conf.d", R_OK) = -1 ENOENT (No such file or directory) access("/etc/pipewire/pipewire.conf.d", R_OK) = -1 ENOENT (No such file or directory) access("/home/b/.config/pipewire/pipewire.conf.d", R_OK) = -1 ENOENT (No such file or directory) access("/home/b/.config/pipewire/pipewire.conf.d", R_OK) = -1 ENOENT (No such file or directory)

So it allows for global config to be set in /etc without PIPEWIRE_CONFIG_DIR. Note that PIPEWIRE_CONFIG_DIR isn't practical as a default

because it sets the /only/ config dir and prevents any lookup in home .config.






reply via email to

[Prev in Thread] Current Thread [Next in Thread]