falkTX / Cadence

Collection of tools useful for audio production
GNU General Public License v2.0
368 stars 80 forks source link

Pulseaudio shebangs breaking packaging for pipewire, General Pipewire differences #315

Closed waffshappen closed 3 years ago

waffshappen commented 3 years ago

With the upcoming pipewire Cadence turns out to works absolutely out of the box as expected but there's some minor problems for packagers.

Due to hard-relying on https://github.com/falkTX/Cadence/blob/c146ff90efa5d7518421fa90a86c205ff6b84a84/data/pulse2jack/play.pa#L1 in the .pa scripts it makes the package hard-depend on pulseaudio as binary, since pipewire doesn not offer that specific binary nor plans to.

However in the example of play.pa none of those are needed as pulse, jack and alsa are always available in parallel on pipewire.

For example: https://bugzilla.redhat.com/show_bug.cgi?id=1916362

I dont know what the best path is here - to document those scripts so packagers ship them only if pulse is installed or to drop them for a pipewire release or to test for and manually invoke the interpreter in the program itself or if pulse provides a library using that instead to issue the calls if built against?

And of course, not running them at all if on a pipewire based system. This probably affects more assumptions currently in all the tools since most of the "make things interact and available in parallel" can be dropped outright on pipewire now.

falkTX commented 3 years ago

Those files are not run directly but through pulseaudio as CLI tool, so intentionally only work with pulseaudio. The bridges in Cadence should just be disabled if using pipewire, it makes no sense on there.

And anyway, the shebang is just a header comment, I do not think pulseaudio will care if those are in there or not.

Does the packaging tools/scripts automatically add pulseaudio as dependency because of the shebang comment? Can you just force it to mark pulseaudio as "recommends" instead of "depends" ?

I dont really a problem here to be honest, seems like a packaging thing

waffshappen commented 3 years ago

A packaging change has been submitted to fix it by removing the files in question outright. I'll close it.

And yes, the packaging tool read the shebang and force-included it thusly.