Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] [RFC] create pipewire-session-manager alternative group
@ 2023-10-29 19:11 classabbyamp
  2023-10-29 20:07 ` ahesford
                   ` (14 more replies)
  0 siblings, 15 replies; 16+ messages in thread
From: classabbyamp @ 2023-10-29 19:11 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1101 bytes --]

There is a new pull request by classabbyamp against master on the void-packages repository

https://github.com/classabbyamp/void-packages session-manager-alts
https://github.com/void-linux/void-packages/pull/46960

[RFC] create pipewire-session-manager alternative group
also moves pipewire/wireplumber configs to `/usr/share/pipewire/pipewire.conf.avail`, which seems like the upstream-compatible place.

#### Pros
- this will make any future session managers easier to add and switch between
- this removes one step in configuring pipewire (no more symlinking wireplumber conf)

#### Cons
- no way to disable this, short of `noextract=/usr/share/pipewire/pipewire.conf.avail/10-wireplumber.conf`
- causes 2 wireplumbers to run, which does not seem to cause issues aside from having 1 that spews errors forever (is this worth an INSTALL.msg?)

#### Testing the changes
- I tested the changes in this PR: **YES**

**needs associated documentation adjustment**

cc: @cinerea0 @ahesford @paper42 

A patch file from https://github.com/void-linux/void-packages/pull/46960.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-session-manager-alts-46960.patch --]
[-- Type: text/x-diff, Size: 3437 bytes --]

From 46a04b0a64f90bf7cd8ee2f8874f898d97794f11 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sun, 29 Oct 2023 14:58:45 -0400
Subject: [PATCH 1/2] pipewire: move 20-pipewire-pulse.conf to
 pipewire.conf.avail

this is a more proper place for it. still includes a symlink to
/usr/share/examples/... so users don't get bitten by this change
---
 srcpkgs/pipewire/template | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/pipewire/template b/srcpkgs/pipewire/template
index f21d9321f60c9..459dfb73c9d84 100644
--- a/srcpkgs/pipewire/template
+++ b/srcpkgs/pipewire/template
@@ -1,7 +1,7 @@
 # Template file for 'pipewire'
 pkgname=pipewire
 version=0.3.82
-revision=1
+revision=2
 build_style=meson
 configure_args="
  --auto-features=enabled
@@ -60,7 +60,11 @@ post_install() {
 	vcopy ${FILESDIR}/pipewire usr/share/examples/sv/
 	vinstall "${FILESDIR}/pipewire.desktop" 644 usr/share/applications
 	vinstall "${FILESDIR}/pipewire-pulse.desktop" 644 usr/share/applications
-	vsconf "${FILESDIR}/20-pipewire-pulse.conf"
+	vinstall "${FILESDIR}/20-pipewire-pulse.conf" 644 usr/share/pipewire/pipewire.conf.avail
+	# preserve compatibility with previously-shipped path for users who symlinked to it
+	vmkdir usr/share/examples/pipewire
+	ln -s /usr/share/pipewire/pipewire.conf.avail/20-pipewire-pulse.conf \
+		"${DESTDIR}"/usr/share/examples/pipewire/20-pipewire-pulse.conf
 }
 
 libpipewire_package() {

From ef8d77820064a009a81c9d7dbab085bf5209ed52 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sun, 29 Oct 2023 15:00:08 -0400
Subject: [PATCH 2/2] wireplumber: provide 10-session-manager.conf alternative

also move wireplumber config to pipewire.conf.avail, as it seems to be
the proper place. /usr/share/examples/... remains as a symlink for backcompat
---
 srcpkgs/wireplumber/template | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/wireplumber/template b/srcpkgs/wireplumber/template
index fe8e739dbe47b..9407a5dd1ec13 100644
--- a/srcpkgs/wireplumber/template
+++ b/srcpkgs/wireplumber/template
@@ -1,7 +1,7 @@
 # Template file for 'wireplumber'
 pkgname=wireplumber
 version=0.4.15
-revision=1
+revision=2
 build_style=meson
 build_helper=gir
 configure_args="-Dintrospection=enabled -Dsystem-lua=true"
@@ -15,12 +15,17 @@ homepage="https://pipewire.pages.freedesktop.org/wireplumber"
 changelog="https://gitlab.freedesktop.org/pipewire/wireplumber/-/raw/master/NEWS.rst"
 distfiles="https://gitlab.freedesktop.org/pipewire/wireplumber/-/archive/$version/wireplumber-$version.tar.gz"
 checksum=389f5ebce1193419900f5dbc6647df8e3176731a0514ab33ae2afab1cdd8a415
+alternatives="pipewire-session-manager:/usr/share/pipewire/pipewire.conf.d/10-session-manager.conf:/usr/share/pipewire/pipewire.conf.avail/10-wireplumber.conf"
 provides="pipewire-session-manager-0_1"
 
 post_install() {
 	vlicense LICENSE
 	vinstall "${FILESDIR}/wireplumber.desktop" 644 usr/share/applications
-	vsconf "${FILESDIR}/10-wireplumber.conf"
+	vinstall "${FILESDIR}/10-wireplumber.conf" 644 usr/share/pipewire/pipewire.conf.avail
+	# preserve compatibility with previously-shipped path for users who symlinked to it
+	vmkdir usr/share/examples/wireplumber
+	ln -s /usr/share/pipewire/pipewire.conf.avail/10-wireplumber.conf \
+		"${DESTDIR}"/usr/share/examples/wireplumber/10-wireplumber.conf
 }
 
 wireplumber-devel_package() {

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [RFC] create pipewire-session-manager alternative group
  2023-10-29 19:11 [PR PATCH] [RFC] create pipewire-session-manager alternative group classabbyamp
@ 2023-10-29 20:07 ` ahesford
  2023-10-29 20:08 ` classabbyamp
                   ` (13 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: ahesford @ 2023-10-29 20:07 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 909 bytes --]

New comment by ahesford on void-packages repository

https://github.com/void-linux/void-packages/pull/46960#issuecomment-1784212483

Comment:
This won't cause two WirePlumber instances to run if people followed the instructions as they exist now... the move will instead just break the symlink. We should confirm that PipeWire will operate with the configured alternative in place *and* a dead link.

It will cause double WirePlumber instances if somebody manually copied or otherwise created the file.

I guess that either situation merits an `INSTALL.msg` for a few cycles.

The alternative is a good idea in general, although `noextract` will cause a broken alternative symlink. XBPS behavior around alternatives could definitely be improved here. Hopefully, masking with a null `/etc/pipewire/pipewire.conf.d/10-session-manager.conf` will work instead. This seems preferable to skipping extraction.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [RFC] create pipewire-session-manager alternative group
  2023-10-29 19:11 [PR PATCH] [RFC] create pipewire-session-manager alternative group classabbyamp
  2023-10-29 20:07 ` ahesford
@ 2023-10-29 20:08 ` classabbyamp
  2023-10-29 20:09 ` [PR PATCH] [Updated] " classabbyamp
                   ` (12 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: classabbyamp @ 2023-10-29 20:08 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 273 bytes --]

New comment by classabbyamp on void-packages repository

https://github.com/void-linux/void-packages/pull/46960#issuecomment-1784212639

Comment:
> the move will instead just break the symlink

no it won't, as I added a symlink from the old location to the new location.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PR PATCH] [Updated] [RFC] create pipewire-session-manager alternative group
  2023-10-29 19:11 [PR PATCH] [RFC] create pipewire-session-manager alternative group classabbyamp
  2023-10-29 20:07 ` ahesford
  2023-10-29 20:08 ` classabbyamp
@ 2023-10-29 20:09 ` classabbyamp
  2023-10-29 20:35 ` ahesford
                   ` (11 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: classabbyamp @ 2023-10-29 20:09 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1268 bytes --]

There is an updated pull request by classabbyamp against master on the void-packages repository

https://github.com/classabbyamp/void-packages session-manager-alts
https://github.com/void-linux/void-packages/pull/46960

[RFC] create pipewire-session-manager alternative group
also moves pipewire/wireplumber configs to `/usr/share/pipewire/pipewire.conf.avail`, which seems like the upstream-compatible place.

#### Pros
- this will make any future session managers easier to add and switch between
- this removes one step in configuring pipewire (no more symlinking wireplumber conf)

#### Cons
- no way to disable this, short of `noextract=/usr/share/pipewire/pipewire.conf.avail/10-wireplumber.conf` (maybe masking the config with an empty `10-session-manager.conf` in a higher priority config location would work?)
- causes 2 wireplumbers to run if already symlinked as `10-wireplumber.conf`, which does not seem to cause issues aside from having 1 that spews errors forever (is this worth an INSTALL.msg?)

#### Testing the changes
- I tested the changes in this PR: **YES**

**needs associated documentation adjustment**

cc: @cinerea0 @ahesford @paper42 

A patch file from https://github.com/void-linux/void-packages/pull/46960.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-session-manager-alts-46960.patch --]
[-- Type: text/x-diff, Size: 3437 bytes --]

From 94f989a4fa122aff1f255f8353fb6995bc4ccc46 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sun, 29 Oct 2023 14:58:45 -0400
Subject: [PATCH 1/2] pipewire: move 20-pipewire-pulse.conf to
 pipewire.conf.avail

this is a more proper place for it. still includes a symlink to
/usr/share/examples/... so users don't get bitten by this change
---
 srcpkgs/pipewire/template | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/pipewire/template b/srcpkgs/pipewire/template
index d6736fe4925bb..c4fe2f326adba 100644
--- a/srcpkgs/pipewire/template
+++ b/srcpkgs/pipewire/template
@@ -1,7 +1,7 @@
 # Template file for 'pipewire'
 pkgname=pipewire
 version=0.3.83
-revision=1
+revision=2
 build_style=meson
 configure_args="
  --auto-features=enabled
@@ -60,7 +60,11 @@ post_install() {
 	vcopy ${FILESDIR}/pipewire usr/share/examples/sv/
 	vinstall "${FILESDIR}/pipewire.desktop" 644 usr/share/applications
 	vinstall "${FILESDIR}/pipewire-pulse.desktop" 644 usr/share/applications
-	vsconf "${FILESDIR}/20-pipewire-pulse.conf"
+	vinstall "${FILESDIR}/20-pipewire-pulse.conf" 644 usr/share/pipewire/pipewire.conf.avail
+	# preserve compatibility with previously-shipped path for users who symlinked to it
+	vmkdir usr/share/examples/pipewire
+	ln -s /usr/share/pipewire/pipewire.conf.avail/20-pipewire-pulse.conf \
+		"${DESTDIR}"/usr/share/examples/pipewire/20-pipewire-pulse.conf
 }
 
 libpipewire_package() {

From cc4cc7f0c7e70048148b07d4119f084029c8d1e9 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sun, 29 Oct 2023 15:00:08 -0400
Subject: [PATCH 2/2] wireplumber: provide 10-session-manager.conf alternative

also move wireplumber config to pipewire.conf.avail, as it seems to be
the proper place. /usr/share/examples/... remains as a symlink for backcompat
---
 srcpkgs/wireplumber/template | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/wireplumber/template b/srcpkgs/wireplumber/template
index fe8e739dbe47b..9407a5dd1ec13 100644
--- a/srcpkgs/wireplumber/template
+++ b/srcpkgs/wireplumber/template
@@ -1,7 +1,7 @@
 # Template file for 'wireplumber'
 pkgname=wireplumber
 version=0.4.15
-revision=1
+revision=2
 build_style=meson
 build_helper=gir
 configure_args="-Dintrospection=enabled -Dsystem-lua=true"
@@ -15,12 +15,17 @@ homepage="https://pipewire.pages.freedesktop.org/wireplumber"
 changelog="https://gitlab.freedesktop.org/pipewire/wireplumber/-/raw/master/NEWS.rst"
 distfiles="https://gitlab.freedesktop.org/pipewire/wireplumber/-/archive/$version/wireplumber-$version.tar.gz"
 checksum=389f5ebce1193419900f5dbc6647df8e3176731a0514ab33ae2afab1cdd8a415
+alternatives="pipewire-session-manager:/usr/share/pipewire/pipewire.conf.d/10-session-manager.conf:/usr/share/pipewire/pipewire.conf.avail/10-wireplumber.conf"
 provides="pipewire-session-manager-0_1"
 
 post_install() {
 	vlicense LICENSE
 	vinstall "${FILESDIR}/wireplumber.desktop" 644 usr/share/applications
-	vsconf "${FILESDIR}/10-wireplumber.conf"
+	vinstall "${FILESDIR}/10-wireplumber.conf" 644 usr/share/pipewire/pipewire.conf.avail
+	# preserve compatibility with previously-shipped path for users who symlinked to it
+	vmkdir usr/share/examples/wireplumber
+	ln -s /usr/share/pipewire/pipewire.conf.avail/10-wireplumber.conf \
+		"${DESTDIR}"/usr/share/examples/wireplumber/10-wireplumber.conf
 }
 
 wireplumber-devel_package() {

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [RFC] create pipewire-session-manager alternative group
  2023-10-29 19:11 [PR PATCH] [RFC] create pipewire-session-manager alternative group classabbyamp
                   ` (2 preceding siblings ...)
  2023-10-29 20:09 ` [PR PATCH] [Updated] " classabbyamp
@ 2023-10-29 20:35 ` ahesford
  2023-10-30 20:02 ` oreo639
                   ` (10 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: ahesford @ 2023-10-29 20:35 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 277 bytes --]

New comment by ahesford on void-packages repository

https://github.com/void-linux/void-packages/pull/46960#issuecomment-1784218347

Comment:
I overlooked that... If PipeWire survives the broken symlink, it might be better to just break it and let the alternative take effect.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [RFC] create pipewire-session-manager alternative group
  2023-10-29 19:11 [PR PATCH] [RFC] create pipewire-session-manager alternative group classabbyamp
                   ` (3 preceding siblings ...)
  2023-10-29 20:35 ` ahesford
@ 2023-10-30 20:02 ` oreo639
  2023-10-30 20:03 ` oreo639
                   ` (9 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: oreo639 @ 2023-10-30 20:02 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 347 bytes --]

New comment by oreo639 on void-packages repository

https://github.com/void-linux/void-packages/pull/46960#issuecomment-1785948352

Comment:
Btw, exec condition statements are also a thing (you can use them to check if wireplumber/pipewire-pulse is already loaded or you can allow people to disable wireplumber/pipewire-pulse through it as well).

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [RFC] create pipewire-session-manager alternative group
  2023-10-29 19:11 [PR PATCH] [RFC] create pipewire-session-manager alternative group classabbyamp
                   ` (4 preceding siblings ...)
  2023-10-30 20:02 ` oreo639
@ 2023-10-30 20:03 ` oreo639
  2023-10-30 20:05 ` oreo639
                   ` (8 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: oreo639 @ 2023-10-30 20:03 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 424 bytes --]

New comment by oreo639 on void-packages repository

https://github.com/void-linux/void-packages/pull/46960#issuecomment-1785948352

Comment:
Btw, exec condition statements are also a thing (you can use them to check if wireplumber/pipewire-pulse is already loaded or you can allow people to disable wireplumber/pipewire-pulse through it as well).
https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3160#note_1870376

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [RFC] create pipewire-session-manager alternative group
  2023-10-29 19:11 [PR PATCH] [RFC] create pipewire-session-manager alternative group classabbyamp
                   ` (5 preceding siblings ...)
  2023-10-30 20:03 ` oreo639
@ 2023-10-30 20:05 ` oreo639
  2023-10-30 20:06 ` oreo639
                   ` (7 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: oreo639 @ 2023-10-30 20:05 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 353 bytes --]

New comment by oreo639 on void-packages repository

https://github.com/void-linux/void-packages/pull/46960#issuecomment-1785948352

Comment:
Btw, exec condition statements are also a thing.
You can allow people to disable pipewire-pulse and wireplumber as demonstrated here:
https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3160#note_1870376

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [RFC] create pipewire-session-manager alternative group
  2023-10-29 19:11 [PR PATCH] [RFC] create pipewire-session-manager alternative group classabbyamp
                   ` (6 preceding siblings ...)
  2023-10-30 20:05 ` oreo639
@ 2023-10-30 20:06 ` oreo639
  2023-10-30 20:28 ` oreo639
                   ` (6 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: oreo639 @ 2023-10-30 20:06 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 521 bytes --]

New comment by oreo639 on void-packages repository

https://github.com/void-linux/void-packages/pull/46960#issuecomment-1785948352

Comment:
Btw, exec condition statements are also a thing.
You can allow people to disable pipewire-pulse and wireplumber as demonstrated here:
https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3160#note_1870376
`condition = [ { exec.session-manager = null } { exec.session-manager = true } ] }`
`condition = [ { exec.pipewire-pulse = null } { exec.pipewire-pulse = true } ] }`

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [RFC] create pipewire-session-manager alternative group
  2023-10-29 19:11 [PR PATCH] [RFC] create pipewire-session-manager alternative group classabbyamp
                   ` (7 preceding siblings ...)
  2023-10-30 20:06 ` oreo639
@ 2023-10-30 20:28 ` oreo639
  2023-10-30 20:30 ` oreo639
                   ` (5 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: oreo639 @ 2023-10-30 20:28 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 634 bytes --]

New comment by oreo639 on void-packages repository

https://github.com/void-linux/void-packages/pull/46960#issuecomment-1785948352

Comment:
Btw, exec condition statements are also a thing.
You can allow people to disable pipewire-pulse and wireplumber as demonstrated here:
https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3160#note_1870376
`condition = [ { exec.session-manager = null } { exec.session-manager = true } ] }`
`condition = [ { exec.pipewire-pulse = null } { exec.pipewire-pulse = true } ] }`

In this case it should also be possible to prevent multiple execs if the files were symlinked multiple times.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [RFC] create pipewire-session-manager alternative group
  2023-10-29 19:11 [PR PATCH] [RFC] create pipewire-session-manager alternative group classabbyamp
                   ` (8 preceding siblings ...)
  2023-10-30 20:28 ` oreo639
@ 2023-10-30 20:30 ` oreo639
  2023-10-31  2:26 ` cinerea0
                   ` (4 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: oreo639 @ 2023-10-30 20:30 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 660 bytes --]

New comment by oreo639 on void-packages repository

https://github.com/void-linux/void-packages/pull/46960#issuecomment-1785948352

Comment:
Btw, exec condition statements are also a thing.
You can allow people to disable pipewire-pulse and wireplumber as demonstrated here:
https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3160#note_1870376
`condition = [ { exec.session-manager = null } { exec.session-manager = true } ] }`
`condition = [ { exec.pipewire-pulse = null } { exec.pipewire-pulse = true } ] }`

Idk if it is also possible to use this to prevent the file from getting exec'd multiple times if the file was symlinked multiple times.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [RFC] create pipewire-session-manager alternative group
  2023-10-29 19:11 [PR PATCH] [RFC] create pipewire-session-manager alternative group classabbyamp
                   ` (9 preceding siblings ...)
  2023-10-30 20:30 ` oreo639
@ 2023-10-31  2:26 ` cinerea0
  2023-10-31  2:46 ` oreo639
                   ` (3 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: cinerea0 @ 2023-10-31  2:26 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 804 bytes --]

New comment by cinerea0 on void-packages repository

https://github.com/void-linux/void-packages/pull/46960#issuecomment-1786336038

Comment:
Yeah, the conditional execution could work. Here's how I start the pulse server and wireplumber from my user's config directory:

```
context.exec = [
	{ path = "/usr/bin/wireplumber" args = ""
	  condition = [ { exec.session-manager = null } { exec.session-manager = true } ] }
	{ path = "/usr/bin/pipewire" args = "-c pipewire-pulse.conf"
	  condition = [ { exec.pipewire-pulse = null } { exec.pipewire-pulse = true } ] }
]
```

I'd have to test it, but based on how it's documented switching the files to this shouldn't launch wireplumber or the pulse server if they're already running, even if it's the same file getting symlinked multiple times.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [RFC] create pipewire-session-manager alternative group
  2023-10-29 19:11 [PR PATCH] [RFC] create pipewire-session-manager alternative group classabbyamp
                   ` (10 preceding siblings ...)
  2023-10-31  2:26 ` cinerea0
@ 2023-10-31  2:46 ` oreo639
  2023-10-31  2:46 ` oreo639
                   ` (2 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: oreo639 @ 2023-10-31  2:46 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 658 bytes --]

New comment by oreo639 on void-packages repository

https://github.com/void-linux/void-packages/pull/46960#issuecomment-1785948352

Comment:
Btw, exec condition statements are also a thing.
You can allow people to disable pipewire-pulse and wireplumber as demonstrated here:
https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3160#note_1870376
`condition = [ { exec.session-manager = null } { exec.session-manager = true } ] `
`condition = [ { exec.pipewire-pulse = null } { exec.pipewire-pulse = true } ] `

Idk if it is also possible to use this to prevent the file from getting exec'd multiple times if the file was symlinked multiple times.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [RFC] create pipewire-session-manager alternative group
  2023-10-29 19:11 [PR PATCH] [RFC] create pipewire-session-manager alternative group classabbyamp
                   ` (11 preceding siblings ...)
  2023-10-31  2:46 ` oreo639
@ 2023-10-31  2:46 ` oreo639
  2023-11-18 20:57 ` cinerea0
  2024-02-17  1:44 ` github-actions
  14 siblings, 0 replies; 16+ messages in thread
From: oreo639 @ 2023-10-31  2:46 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 656 bytes --]

New comment by oreo639 on void-packages repository

https://github.com/void-linux/void-packages/pull/46960#issuecomment-1785948352

Comment:
Btw, exec condition statements are also a thing.
You can allow people to disable pipewire-pulse and wireplumber as demonstrated here:
https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3160#note_1870376
`condition = [ { exec.session-manager = null } { exec.session-manager = true } ]`
`condition = [ { exec.pipewire-pulse = null } { exec.pipewire-pulse = true } ]`

Idk if it is also possible to use this to prevent the file from getting exec'd multiple times if the file was symlinked multiple times.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [RFC] create pipewire-session-manager alternative group
  2023-10-29 19:11 [PR PATCH] [RFC] create pipewire-session-manager alternative group classabbyamp
                   ` (12 preceding siblings ...)
  2023-10-31  2:46 ` oreo639
@ 2023-11-18 20:57 ` cinerea0
  2024-02-17  1:44 ` github-actions
  14 siblings, 0 replies; 16+ messages in thread
From: cinerea0 @ 2023-11-18 20:57 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1485 bytes --]

New comment by cinerea0 on void-packages repository

https://github.com/void-linux/void-packages/pull/46960#issuecomment-1817640035

Comment:
I tested this PR on pipewire version 0.3.84 with the conditional execution statements included. Unfortunately, conditional execution does not work the way I thought it did. If wireplumber is started in a file in  `/usr/share/pipewire/pipewire.conf.d` and in another file/link in a different priority directory two instances of wireplumber will start, even with the conditional statements.

The mechanics of how those work aren't especially well documented. Given this section in the man page for `pipewire.conf`:

> Array of dictionaries. Each entry in the array is dictionary
> containing the path of a program to execute on startup and
> optional args.
> 
> This array used to contain an entry to start the session manager
> but this mode of operation has since been demoted to development
> aid. Avoid starting a session manager in this way in production
> environment.

I don't think this behavior would be supported by upstream. However, given the persistent confusion around pipewire I would still support automatically starting wireplumber with the alternatives line and breaking the link, since that does work.

Also, since `/usr/share/pipewire/pipewire.conf.avail` already contains `10-rates.conf` and `20-upmix.conf`, should we consider changing the number prefixes for the files this PR would move to that directory?

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [RFC] create pipewire-session-manager alternative group
  2023-10-29 19:11 [PR PATCH] [RFC] create pipewire-session-manager alternative group classabbyamp
                   ` (13 preceding siblings ...)
  2023-11-18 20:57 ` cinerea0
@ 2024-02-17  1:44 ` github-actions
  14 siblings, 0 replies; 16+ messages in thread
From: github-actions @ 2024-02-17  1:44 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 305 bytes --]

New comment by github-actions[bot] on void-packages repository

https://github.com/void-linux/void-packages/pull/46960#issuecomment-1949582620

Comment:
Pull Requests become stale 90 days after last activity and are closed 14 days after that.  If this pull request is still relevant bump it or assign it.

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2024-02-17  1:44 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-10-29 19:11 [PR PATCH] [RFC] create pipewire-session-manager alternative group classabbyamp
2023-10-29 20:07 ` ahesford
2023-10-29 20:08 ` classabbyamp
2023-10-29 20:09 ` [PR PATCH] [Updated] " classabbyamp
2023-10-29 20:35 ` ahesford
2023-10-30 20:02 ` oreo639
2023-10-30 20:03 ` oreo639
2023-10-30 20:05 ` oreo639
2023-10-30 20:06 ` oreo639
2023-10-30 20:28 ` oreo639
2023-10-30 20:30 ` oreo639
2023-10-31  2:26 ` cinerea0
2023-10-31  2:46 ` oreo639
2023-10-31  2:46 ` oreo639
2023-11-18 20:57 ` cinerea0
2024-02-17  1:44 ` github-actions

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).