Project

General

Profile

Bug #1123

Modules not found when installed via GNU stow or graft

Added by Thomas Zajic over 3 years ago. Updated over 3 years ago.

Status:
Rejected
Priority:
Minor
Assignee:
-
Category:
libaudcore
Target version:
-
Start date:
August 16, 2021
Due date:
% Done:

0%

Estimated time:
Affects version:

Description

When Audacious is installed via GNU stow (or the similar graft utility), it refuses to start because it can't find its modules (which are typically installed in a different stow directory when using these utilities). The attached trivial patch fixes this issue by falling back to set_default_paths() in static void set_install_paths() (src/libaudcore/runtime.cc, lines 205ff) if the detected get_path_to_self() contains "/stow/" or "/graft/".

[zlatko@disclosure:~]$ which audacious 
/usr/local/bin/audacious

[zlatko@disclosure:~]$ realpath /usr/local/bin/audacious
/usr/local/stow/audacious-4.1/bin/audacious

[zlatko@disclosure:~]$ ls -la /usr/local/bin/audacious
lrwxrwxrwx 1 root root 35 Jul  7 17:17 /usr/local/bin/audacious -> ../stow/audacious-4.1/bin/audacious

[zlatko@disclosure:~]$ ls -l /usr/local/lib/audacious/Transport/
total 84
-rwxr-xr-x 1 root root 23808 Jul  9 05:56 gio.so
-rwxr-xr-x 1 root root 13604 Jul  9 05:56 mms.so
-rwxr-xr-x 1 root root 43416 Jul  9 05:56 neon.so

[zlatko@disclosure:~]$ realpath /usr/local/lib/audacious/Transport
/usr/local/stow/audacious-plugins-4.1/lib/audacious/Transport

[zlatko@disclosure:~]$ ls -l /usr/local/lib/audacious/Transport
lrwxrwxrwx 1 root root 56 Jul  8 05:56 /usr/local/lib/audacious/Transport -> ../../stow/audacious-plugins-4.1/lib/audacious/Transport
audacious-4.1-stow.diff (530 Bytes) audacious-4.1-stow.diff Thomas Zajic, August 16, 2021 16:06

History

#1 Updated by John Lindgren over 3 years ago

  • Status changed from New to Rejected

Not a bug. Audacious and Audacious Plugins need to be installed under the same prefix.

We don't support stow specifically (I had never heard of it until now), but perhaps it would be best to make a single stow package containing both Audacious and Audacious Plugins?

#2 Updated by Thomas Zajic over 3 years ago

John Lindgren wrote:

Not a bug. Audacious and Audacious Plugins need to be installed under the same prefix.
We don't support stow specifically (I had never heard of it until now), but perhaps it would be best to make a single stow package containing both Audacious and Audacious Plugins?

Nevermind, no problem. I'll keep it around as a local patch for personal use, then. :-)

Using one common stow dir would work as well, yes, as long as the two packages always come in matched pairs. If/when they start diverging (ie. audacious-plugins-4.1.1 gets released because of a bug fix, while audcaious-4.1 stays the same), then sorting stuff out manually becomes cumbersome. And this is exactly where tools like stow or graft shine.

Would you reconsider accepting the patch if I made it more elaborate, like adding an --enable-stow-hack option to the autotools/configure and meson/ninja setup (which would default to "no", of course), and then wrapping the actual patch in a corresponding #ifdef/#else/#endif in the source code? I'm not sure whether that would actually be worth the effort (as opposed to keeping a local one-liner diff around), but it could be a fun little mini-side-project if time permits. But if you say no either way, that would be okay as well. ;-)

Also available in: Atom PDF