#1003163 paprefs: Fix for #531251 doesn't handle current path

Package:
paprefs
Source:
paprefs
Description:
PulseAudio Preferences
Submitter:
Yves-Alexis Perez
Date:
2023-02-19 10:21:03 UTC
Severity:
important
#1003163#5
Date:
2022-01-05 13:47:17 UTC
From:
To:
Hi,

I hesitated unarchiving/reopening #531251 (which is more than ten years
old), but in the end opened a new one because maybe the bug could
actually be fixed in pulseaudio and modules here.

I've justed installed paprefs and pulseaudio-module-raop and noticed the
greyed out boxes in the Network Access tab. I looked at #531251 and done
an strace, and noticed it tried to access
`/usr/lib/pulse-15.0/modules/module-esound-protocol-tcp.so` while the
path on my system is /usr/lib/pulse-15.0+dfsg1. So it seems either the
patch in paprefs is not entirely correct, or maybe the prefix was added
later or something.

After adding a symlink from /usr/lib/pulse-15.0+dfsg1 to
/usr/lib/pulse-15.0 the boxes are available in paprefs.

Regards,

#1003163#10
Date:
2022-05-11 16:22:49 UTC
From:
To:
The root cause here seems to be that

pa_get_library_version()

in libpulse0 does not include the "+dfsg" suffix.

I'd say that either (A) it should, or (B) the pulse stuff should all
be installed in a directory without the suffix, or (C) there should be
a symbolic link from a non-suffix directory to the suffix one.

It's not clear to me why the "+dfsg" in the debian package version
should be something the innards of the package knows about, so I'd
vote for (B).

It's tempting to reassign this bug to libpulse0.

It's even more tempting to suggest that libpulse0 should have a
function that takes the name of a module and returns the path to that
module, so clients don't need to go through torturous logic to figure
out where the modules might be.

$ ls -d /usr/lib/*pulse*
/usr/lib/pulse-15.0+dfsg1

$ gdb /usr/bin/paprefs
(gdb) run
C-c
(gdb) print (char *)pa_get_library_version()
$1 = 0x7ffff74cad12 "15.0.0"

#1003163#15
Date:
2022-05-16 12:58:12 UTC
From:
To:
I've issued merge requests on salsa to the pulseaudio package that
addresses this issue. All it does is install the modules in
/usr/lib/pulse-MAJOR.MINOR/modules/. Using that small fix, paprefs is
not grayed out anymore.

#1003163#20
Date:
2023-02-19 10:16:52 UTC
From:
To:
Dear Maintainer,

I'm using Debian testing (bookworm) and the bug is still present.

Running a strace on paprefs show it try to open path which do not exist

access("/usr/lib/pulse-16.1/modules/module-zeroconf-publish.so", F_OK) = -1 ENOENT (Aucun fichier ou dossier de ce type)
newfstatat(AT_FDCWD, "/usr/lib/pulseaudio/modules", 0x7fffd436c1c0, 0) = -1 ENOENT (Aucun fichier ou dossier de ce type)

$ dpkg -S dule-zeroconf-publish.so
pulseaudio-module-zeroconf: /usr/lib/pulse-16.1+dfsg1/modules/module-zeroconf-publish.so

Also doing the following symlink fix the issue

ln -s /usr/lib/pulse-16.1+dfsg1 /usr/lib/pulseaudio


Regards,

Aymeric