fix(Arctis-Sound-Manager): declare runtime dependencies - #14469
Conversation
The package currently ships with no Requires at all, so it installs without the audio stack and Python bindings it needs at runtime. On a system where those happen to be present already everything works; elsewhere users hit failures that look like application bugs. Two of these are behind reported upstream issues: - pulseaudio-utils provides `pactl`, used at GUI startup and for EQ/Sonar routing. Missing, a clean install crashes on launch with FileNotFoundError: 'pactl' — loteran/Arctis-Sound-Manager#117 - ladspa-swh-plugins provides the reverb plugin the HeSuVi 7.1 virtual surround graph loads. Missing, Spatial Audio stays silent — loteran/Arctis-Sound-Manager#23 The Python bindings are imported at runtime rather than declared as build metadata, so they are not picked up automatically either. This list matches the upstream spec maintained alongside the source. Signed-off-by: loteran <axel.valadon@gmail.com>
Hello, I'm the one who packaged this. Thank you for the PR! I must have forgotten to PR your README with Terra install instructions (as I typically do this with my packages), I can do that soon here. To address all your comments: RPM auto generates runtime dependencies using the So you should be able to safely remove these from the
Sure! I would very much appreciate PRs when there are new runtime deps/files to manually install/etc. The way Terra is set up, we have packages auto-update, I see Arctis-Sound-Manager update a lot and successfully build each time. Typically we have python packages use the python install macros so we catch all new/dropped files but Arctis-Sound-Manager has a lot of manually installed files as well, so if there are ever changes that are needed with new releases, PRs would be great!
Noted, we generally prefer Also, could you bump the Thanks again! |
Hi — I'm the upstream author of Arctis Sound Manager. Thank you for packaging it for Terra; I only discovered it existed this week, through users.
The package currently declares no
Requires:at all, so it installs without the audio stack and Python bindings it needs at runtime. On a system where those are already present everything works, which is presumably why it went unnoticed — but elsewhere users get failures that look like application bugs and aren't.Two of these are behind reported upstream issues:
pulseaudio-utilspactl, used at GUI startup and for EQ/Sonar routing. A clean install crashes on launch withFileNotFoundError: 'pactl'— #117ladspa-swh-pluginsThe Python bindings (
pyside6,pyusb,pyudev,pulsectl,dbus-next,ruamel-yaml,pillow,babel) are imported at runtime rather than declared as build metadata, so they aren't picked up automatically either.This list matches the spec I maintain alongside the source, where each entry carries the reason it's there.
Nothing else is touched — no version bump, no changes to
%install,%filesor the packager field.Two things beyond this PR, if you're open to them:
I'd be glad to help keep this in sync. The project releases often (several times a week at the moment) and I'd rather Terra users get a package that works than have them file bugs against code that isn't the problem. Happy to send PRs when packaging-relevant things change, or to be pinged.
A heads-up on
update.rhai: it tracks PyPI, and PyPI publication happens in the same workflow as the GitHub release, so the two can be briefly out of step.Source0already points at the GitHub tag, so tracking GitHub releases directly would be marginally more reliable — entirely your call.Thanks again for the packaging work.