Processed: Re: Bug#1013248: libseat-dev: Missing libseat-dev dependency on libsystemd-dev via pkg-config

2022-06-24 Thread Debian Bug Tracking System
Processing control commands:

> tags -1 pending
Bug #1013248 [libseat-dev] libseat-dev: Missing libseat-dev dependency on 
libsystemd-dev via pkg-config
Added tag(s) pending.
> retitle -1 libseat-dev: libseat.pc contains unnecessary Requires.private: 
> libsystemd
Bug #1013248 [libseat-dev] libseat-dev: Missing libseat-dev dependency on 
libsystemd-dev via pkg-config
Changed Bug title to 'libseat-dev: libseat.pc contains unnecessary 
Requires.private: libsystemd' from 'libseat-dev: Missing libseat-dev dependency 
on libsystemd-dev via pkg-config'.

-- 
1013248: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1013248
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems



Bug#1013248: libseat-dev: Missing libseat-dev dependency on libsystemd-dev via pkg-config

2022-06-24 Thread Mark Hindley
Control: tags -1 pending
Control: retitle -1 libseat-dev: libseat.pc contains unnecessary 
Requires.private: libsystemd

Braiam,

Thanks for this. 

On Sun, Jun 19, 2022 at 08:32:22PM -0400, Braiam Peguero wrote:
> pkgconfig/libseat.pc includes dependency on libsystemd:
> 
> $ cat /usr/lib/x86_64-linux-gnu/pkgconfig/libseat.pc
> prefix=/usr
> includedir=${prefix}/include
> libdir=${prefix}/lib/x86_64-linux-gnu
> 
> have_seatd=true
> have_logind=true
> have_builtin=true
> 
> Name: libseat
> Description: Seat management library
> Version: 0.7.0
> Requires.private: libsystemd

I think this is unecessary. I have been investigating where it comes from and
why it is there.

In short, src:seatd upstream also build libseat as a static library. If you were
to link against that you would also require libsystemd as the logind backend in
built-in in our configuration.

However, the Debian package does not include the static library and my
perception is that static libraries are, at best, optional and generally
discouraged in Debian.

The pkg-config syntax appears inadequate to cover the case where a static
version of a library has a dependency additional to the shared. There is a long
and unresolved discussion about this[1].

Meson generates libseat.pc and there is another, also unresolved, meson
discussion[2] that Requires.private should be omitted when building shared
libraries. This also contains the suggestion that is my chosen fix[2]: namely to
patch meson.build to use shared_library() rather than library().

Mark

[1]  https://bugs.freedesktop.org/105572.

[2]  https://github.com/mesonbuild/meson/issues/3970

[3]  https://github.com/mesonbuild/meson/issues/3970#issuecomment-410224556



Bug#1013248: libseat-dev: Missing libseat-dev dependency on libsystemd-dev via pkg-config

2022-06-19 Thread Braiam Peguero
Package: libseat-dev
Version: 0.7.0-4
Severity: grave
Justification: renders package unusable

Dear Maintainer,

Using pkg-config to find headers fails for libseat-dev with
the following output:

$ /usr/bin/pkg-config --cflags libseat
Package libsystemd was not found in the pkg-config search path.
Perhaps you should add the directory containing `libsystemd.pc'
to the PKG_CONFIG_PATH environment variable
Package 'libsystemd', required by 'libseat', not found

pkgconfig/libseat.pc includes dependency on libsystemd:

$ cat /usr/lib/x86_64-linux-gnu/pkgconfig/libseat.pc
prefix=/usr
includedir=${prefix}/include
libdir=${prefix}/lib/x86_64-linux-gnu

have_seatd=true
have_logind=true
have_builtin=true

Name: libseat
Description: Seat management library
Version: 0.7.0
Requires.private: libsystemd
Libs: -L${libdir} -lseat
Libs.private: -lrt
Cflags: -I${includedir}

Please include libsystemd-dev as a dependency of libseat-dev.

Also, if I'm not mistaken, seatd is trying not to have hard
dependencies on systemd, but couldn't find from where
the .pc file is generated.


-- System Information:
Debian Release: bookworm/sid
  APT prefers testing
  APT policy: (500, 'testing'), (50, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.17.0-1-amd64 (SMP w/12 CPU threads; PREEMPT)
Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages libseat-dev depends on:
ii  libseat1  0.7.0-4

libseat-dev recommends no packages.

libseat-dev suggests no packages.

-- no debconf information