Il 03/01/2024 20:04, Simon McVittie ha scritto:
On Sat, 30 Dec 2023 at 00:02:51 +0000, Simon McVittie wrote:
cjs contains code that explicitly loads the GIRepository-2.0 typelib
(in modules/script/package.js, which is the implementation of the
imports.package API).

GIRepository is currently part of gir1.2-glib-2.0, but it will need
to be moved to a separate binary package during the GNOME 46 cycle,
as a result of most of gir1.2-glib-2.0 moving to src:glib2.0 (which has
broken some of the API/ABI in the process, resulting in it shipping an
incompatible GIRepository-3.0 instead). A preliminary version of this
package split has been uploaded to experimental and is waiting in the NEW
queue:
https://salsa.debian.org/gnome-team/gobject-introspection/-/tree/debian/new
(In the meantime this change has passed through NEW and reached experimental)

To ensure that the imports.package API continues to work
correctly for cjs applications, please add an explicit dependency on
gir1.2-girepository-2.0, as in the attached patch 0001 (this corresponds
to the change I uploaded in gjs 1.78.1-2). In current trixie/sid,
this is a virtual package provided by gir1.2-glib-2.0, but in future,
I expect it to become a separate binary package.

For completeness, I think it would be best to add explicit dependencies
on all of the typelibs imported by the built-in modules in cjs'
modules/script/: I believe the attached patch 0002 is correct for this
(this corresponds to gjs 1.78.1-3).

I don't use Cinnamon or its applications myself, so I haven't tested
the attached patches, but to the best of my knowledge they're correct.

In practice, the only cjs application seems to be the cinnamon desktop
shell itself (Cinnamon's equivalent of GNOME Shell), and that doesn't
seem to use the imports.package API, so this missing dependency is
probably not going to break it. As a result, this is probably not RC
even with the proposed version of gobject-introspection.
Thanks for report and the patches, about apply them in debian unstable is ok for the provides.

Thinking about the next PR I would upstream so it will support the next Ubuntu LTS but it must also support the current Debian Stable and current ubuntu LTS.

From a fast look to  bookworm version (https://buildd.debian.org/status/fetch.php?pkg=gobject-introspection&arch=amd64&ver=1.74.0-3&stamp=1674166945&raw=0) provides are present and the jammy version (https://buildd.debian.org/status/fetch.php?pkg=gobject-introspection&arch=amd64&ver=1.72.0-1&stamp=1647611197&raw=0) also, so will be ok also for upstream, right?

I was also wondering about "gi.repository import" of python scripts, present in other components, it don't will be the same needs of depends? I mean for example https://github.com/linuxmint/cinnamon-session/blob/master/cinnamon-session-quit/cinnamon-session-quit.py

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

Reply via email to