[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.
[bug#54379] [PATCH 1/2] gnu: linux: update PipeWire & WirePlumber, Kevin Boulain, 2022/03/14
[bug#54379] [PATCH 1/2] gnu: linux: update PipeWire & WirePlumber, Kevin Boulain, 2022/03/30