Bug#1065316: libatspi2.0-dev 2.51.90-1 no longer multi-arch installable due to dependencies

2024-03-02 Thread Samuel Thibault
Hello,

Simon McVittie, le dim. 03 mars 2024 00:43:12 +, a ecrit:
> This was an unintended regression caused by changes made in
> gobject-introspection, ironically to make multiarch co-installability and
> cross-compilation of GObject-Introspection data possible.

Heh :)

> I am sorry to have inconvenienced you

No problem, thanks for the quick feedback!

> Samuel or other AT-SPI maintainers, if you want to avoid this unwanted
> dependency while also bringing libatspi2.0-dev one step closer to being
> cross-compilable itself, please consider replacing the build-dependency on
> libgirepository1.0-dev with the canonicalized package names corresponding
> to the GIR modules required by the upstream source, which according to
> the build log means this:

Oh, indeed. This does look right and produces correct binaries, I'll
upload that, thanks!

Samuel



Bug#1065316: libatspi2.0-dev 2.51.90-1 no longer multi-arch installable due to dependencies

2024-03-02 Thread Simon McVittie
Control: clone -1 -2
Control: reassign -2 gobject-introspection 1.78.1-15
Control: retitle -2 dh_girepository: generates unwanted dependency on 
libgirepository1.0-dev if that package is installed
Control: severity -2 important

On Sun, 03 Mar 2024 at 00:40:52 +0100, Samuel Thibault wrote:
> Christian Klein, le sam. 02 mars 2024 16:33:15 +0100, a ecrit:
> > libatspi2.0-dev is no longer muti-arch installable.
> > It now has a dependency on libgirepository1.0-dev, which isn't multi-arch.
> > 2.50.0-1 didn't have that dependency
> > 
> > Looking at the changelog, I don't see why the additional dependency is
> > necessary.
> 
> This is coming from gir:Depends:
> 
> ./debian/libatspi2.0-dev.substvars:gir:Depends=gir1.2-atspi-2.0 (= 
> 2.51.90-1), gir1.2-dbus-1.0-dev, gir1.2-gobject-2.0-dev, 
> libgirepository1.0-dev
> 
> I don't know the ins and outs why this comes like this, thus asking for
> help on this.

This was an unintended regression caused by changes made in
gobject-introspection, ironically to make multiarch co-installability and
cross-compilation of GObject-Introspection data possible. I am sorry to
have inconvenienced you and will try to fix the bug in dh_girepository
soon. I know that regressions are unacceptable, but this week there have
been several unrelated time-sensitive issues for which I have been made
a single point of failure, so I hope you will forgive me for not putting
this right at the top of my queue.

The bug is that if libgirepository1.0-dev is installed, dh_girepository
will wrongly generate dependencies on that package in preference to
gir1.2-glib-2.0-dev. This is because, for backwards compatibility
with packages that have not yet been updated to look for GIR XML
in a multiarch-friendly location, libgirepository1.0-dev provides a
symbolic link to the architecture-specific GIR XML for GLib-2.0 in a
non-multiarch-friendly location. This backwards compatibility glue is also
the reason why libgirepository1.0-dev cannot be Multi-Arch: same.

Samuel or other AT-SPI maintainers, if you want to avoid this unwanted
dependency while also bringing libatspi2.0-dev one step closer to being
cross-compilable itself, please consider replacing the build-dependency on
libgirepository1.0-dev with the canonicalized package names corresponding
to the GIR modules required by the upstream source, which according to
the build log means this:

diff --git a/debian/control b/debian/control
index 5408552..1dd2830 100644
--- a/debian/control
+++ b/debian/control
@@ -11,8 +11,10 @@ Build-Depends: dpkg-dev (>= 1.22.5), debhelper-compat (= 13),
libx11-dev, libxtst-dev,
meson (>= 0.63.0),
pkgconf,
-   libgirepository1.0-dev,
gtk-doc-tools, gi-docgen, python3-sphinx,
+   gir1.2-dbus-1.0-dev,
+   gir1.2-glib-2.0-dev,
+   gir1.2-gobject-2.0-dev,
gobject-introspection | dh-sequence-gir,
xauth ,
xvfb ,

(Compile-tested only, I have not attempted to verify that the resulting
binaries are perfect; at the moment I'm only looking at this while I wait
for an urgent glib2.0 bug fix to finish running automated tests, and I
will have to re-prioritize back to glib2.0 as soon as it is ready. I
apologise for not providing an exhaustively-tested, production-ready
solution right now.)

smcv



Bug#1065316: libatspi2.0-dev 2.51.90-1 no longer multi-arch installable due to dependencies

2024-03-02 Thread Samuel Thibault
Hello,

Christian Klein, le sam. 02 mars 2024 16:33:15 +0100, a ecrit:
> libatspi2.0-dev is no longer muti-arch installable.
> It now has a dependency on libgirepository1.0-dev, which isn't multi-arch.
> 2.50.0-1 didn't have that dependency
> 
> Looking at the changelog, I don't see why the additional dependency is
> necessary.

This is coming from gir:Depends:

./debian/libatspi2.0-dev.substvars:gir:Depends=gir1.2-atspi-2.0 (= 2.51.90-1), 
gir1.2-dbus-1.0-dev, gir1.2-gobject-2.0-dev, libgirepository1.0-dev

I don't know the ins and outs why this comes like this, thus asking for
help on this.

> This breaks libgtk-3-dev multiarch install, since libgtk-3-dev depends on
> libatspi2.0-dev via libatk-bridge2.0-dev.
> 
> Even worse, for i386, this now pulls in ~250MB additional packages, because
> libgirepository1.0-dev needs gobject-introspection:i386, which pulls in
> gcc-i686-linux-gnu.

Samuel



Bug#1065316: libatspi2.0-dev 2.51.90-1 no longer multi-arch installable due to dependencies

2024-03-02 Thread Christian Klein
Package: libatspi2.0-dev
Version: 2.51.90-1
Severity: important
X-Debbugs-Cc: dvl...@gmail.com

libatspi2.0-dev is no longer muti-arch installable.
It now has a dependency on libgirepository1.0-dev, which isn't multi-arch.
2.50.0-1 didn't have that dependency

This breaks libgtk-3-dev multiarch install, since libgtk-3-dev depends on
libatspi2.0-dev via libatk-bridge2.0-dev.

Looking at the changelog, I don't see why the additional dependency is
necessary.
Even worse, for i386, this now pulls in ~250MB additional packages, because
libgirepository1.0-dev needs gobject-introspection:i386, which pulls in
gcc-i686-linux-gnu.


-- System Information:
Debian Release: trixie/sid
  APT prefers unstable
  APT policy: (999, 'unstable'), (998, 'testing'), (990, 'stable'), (500, 
'unstable-debug'), (500, 'testing-debug'), (500, 'proposed-updates'), (350, 
'experimental'), (1, 'experimental-debug')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.7-amd64 (SMP w/4 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 libatspi2.0-dev depends on:
ii  gir1.2-atspi-2.0  2.50.0-1+b1
pn  libatspi2.0-0 
ii  libdbus-1-dev 1.14.10-4
ii  libglib2.0-dev2.78.4-2.1
ii  libxtst-dev   2:1.2.3-1.1

libatspi2.0-dev recommends no packages.

libatspi2.0-dev suggests no packages.

-- no debconf information