Bug#979113: libpulse-dev: lib .so files in -dev package, cause other programs to fail

2021-01-04 Thread Felipe Sateler
Control: reassign -1 xcwcp
Control: retitle -1 xcwcp: should dlopen SO-versioned libpulse-simple

On Sun, Jan 3, 2021 at 4:30 PM Christoph Berg  wrote:

> Re: To Federico Grau
> > const char *library_name = "libpulse-simple.so";
> > if (!cw_dlopen_internal(library_name, &(cw_pa.handle))) {
> >
> > Federico: do you want to do that change? (Please check if the fix is
> > only for xcwcp or also for the other binaries in the unixcw source.)
>
> Or perhaps better, change the above to library_name =
> "libpulse-simple.so.0";
>

Indeed, this is what needs to be done. Should libpulse-simple change it's
ABI, xcwcp might crash instead of giving the correct error message
(libpulse-simple not found).
-- 

Saludos,
Felipe Sateler


Bug#979113: libpulse-dev: lib .so files in -dev package, cause other programs to fail

2021-01-03 Thread Christoph Berg
Re: To Federico Grau
> const char *library_name = "libpulse-simple.so";
> if (!cw_dlopen_internal(library_name, &(cw_pa.handle))) {
> 
> Federico: do you want to do that change? (Please check if the fix is
> only for xcwcp or also for the other binaries in the unixcw source.)

Or perhaps better, change the above to library_name = "libpulse-simple.so.0";

Christoph



Bug#979113: libpulse-dev: lib .so files in -dev package, cause other programs to fail

2021-01-03 Thread Christoph Berg
Re: Andreas Metzler
> that change is in direct opposition to to Debian's way of handling
> shared libraries. https://www.debian.org/doc/debian-policy/ch-sharedlibs.html
> 
> If xcwcp requires the unversioned .so it will need a dependency on the
> development package.

xcwcp opens libpulse-simple.so using dlopen():

bool cw_is_pa_possible(const char *device)
{
const char *library_name = "libpulse-simple.so";
if (!cw_dlopen_internal(library_name, &(cw_pa.handle))) {

I don't know why it is doing that, but if that is a common pattern,
libpulse-simple should be treated as a plugin and have the .so file in
the main package.

Looking at the list of reverse-dependencies, that doesn't seem to be
the case though:

Reverse Depends:
  liballegro-acodec5-dev,libpulse-dev
  libsphinxbase-dev,libpulse-dev
  libsphinxbase-dev,libpulse-dev
  librtaudio-dev,libpulse-dev
  libpulse-ocaml-dev,libpulse-dev
  libsdl2-dev,libpulse-dev
  libsdl1.2-dev,libpulse-dev
  libefl-all-dev,libpulse-dev
  libcinnamon-desktop-dev,libpulse-dev
  liballegro-audio5-dev,libpulse-dev

i.e. this is not a common pattern, and the usage in xcwcp is likely
just weird. So guess we should indeed add libpulse-dev to the xcwcp
dependency list.

Federico: do you want to do that change? (Please check if the fix is
only for xcwcp or also for the other binaries in the unixcw source.)

Christoph DF7CB



Bug#979113: libpulse-dev: lib .so files in -dev package, cause other programs to fail

2021-01-02 Thread Andreas Metzler
On 2021-01-02 Federico Grau  wrote:
> Package: libpulse-dev
> Version: 12.2-4+deb10u1
> Severity: normal

> Dear Maintainer,

> * What led up to the situation?
> Other programs were failing, because they were unable to load
> libpulse-simple.so library file with only libpulse0 package installed.
> The xcwcp package is one such example.

> * What exactly did you do (or not do) that was effective (or ineffective)?
> A workaround is to install libpulse-dev in addition to libpulse0.
> However this also installs several additional other packages, and should
> not be required for standard library usage.

> Attached is a patch against current salsa.debian.org git, to alter the
> debian file packaging associating library .so files with the library
> package.
[...]
> diff --git a/debian/libpulse0.install b/debian/libpulse0.install
> index cf55606f..cf3d95ed 100644
> --- a/debian/libpulse0.install
> +++ b/debian/libpulse0.install
> @@ -1,4 +1,6 @@
>  etc/pulse/client.conf
> +usr/lib/*/libpulse.so
[...]

Hello,

that change is in direct opposition to to Debian's way of handling
shared libraries. https://www.debian.org/doc/debian-policy/ch-sharedlibs.html

If xcwcp requires the unversioned .so it will need a dependency on the
development package.

cu Andreas
-- 
`What a good friend you are to him, Dr. Maturin. His other friends are
so grateful to you.'
`I sew his ears on from time to time, sure'



Bug#979113: libpulse-dev: lib .so files in -dev package, cause other programs to fail

2021-01-02 Thread Federico Grau
Package: libpulse-dev
Version: 12.2-4+deb10u1
Severity: normal

Dear Maintainer,

* What led up to the situation?
Other programs were failing, because they were unable to load
libpulse-simple.so library file with only libpulse0 package installed.
The xcwcp package is one such example.

* What exactly did you do (or not do) that was effective (or ineffective)?
A workaround is to install libpulse-dev in addition to libpulse0.
However this also installs several additional other packages, and should
not be required for standard library usage.

Attached is a patch against current salsa.debian.org git, to alter the
debian file packaging associating library .so files with the library
package.


-- System Information:
Debian Release: 10.7
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 4.19.0-13-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages libpulse-dev depends on:
ii  libglib2.0-dev   2.58.3-2+deb10u2
ii  libpulse-mainloop-glib0  12.2-4+deb10u1
ii  libpulse012.2-4+deb10u1

libpulse-dev recommends no packages.

libpulse-dev suggests no packages.

-- no debconf information

Control: tag -1 +patch
diff --git a/debian/libpulse-dev.install b/debian/libpulse-dev.install
index a1bcccb8..23df19cc 100644
--- a/debian/libpulse-dev.install
+++ b/debian/libpulse-dev.install
@@ -1,7 +1,4 @@
 usr/lib/*/cmake
-usr/lib/*/libpulse.so
-usr/lib/*/libpulse-simple.so
-usr/lib/*/libpulse-mainloop-glib.so
 usr/lib/*/pkgconfig/*
 usr/include/pulse/*
 usr/share/vala/vapi
diff --git a/debian/libpulse-mainloop-glib0.install 
b/debian/libpulse-mainloop-glib0.install
index d2af2063..f0103839 100644
--- a/debian/libpulse-mainloop-glib0.install
+++ b/debian/libpulse-mainloop-glib0.install
@@ -1 +1,2 @@
+usr/lib/*/libpulse-mainloop-glib.so
 usr/lib/*/libpulse-mainloop-glib.so.*
diff --git a/debian/libpulse0.install b/debian/libpulse0.install
index cf55606f..cf3d95ed 100644
--- a/debian/libpulse0.install
+++ b/debian/libpulse0.install
@@ -1,4 +1,6 @@
 etc/pulse/client.conf
+usr/lib/*/libpulse.so
 usr/lib/*/libpulse.so.*
+usr/lib/*/libpulse-simple.so
 usr/lib/*/libpulse-simple.so.*
 usr/lib/*/pulseaudio/libpulsecommon-*.so


signature.asc
Description: PGP signature