[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#1059678: libcjs0: please depend on gir1.2-girepository-2.0 and other typelibs used by built-in modules



Control: reassign -1 libcjs0 6.0.0-1

Sorry, I mistakenly reported #1059678 against src:libcjs0 (which
doesn't exist), when I should have used the binary package libcjs0
or src:cjs. Full text quoted below in case the cjs maintainers didn't
receive it already.

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.
>From 20b22e5582beec07b0e9f5ab1b59035a1b951b6a Mon Sep 17 00:00:00 2001
From: Simon McVittie <smcv@debian.org>
Date: Fri, 29 Dec 2023 23:43:06 +0000
Subject: [PATCH 1/2] d/control: libcjs0 Depends on gir1.2-girepository-2.0

This is used internally by imports.package (modules/script/package.js),
and is likely to need to be separated from gir1.2-glib-2.0 during the
GLib 2.79/2.80 cycle. At the moment, it is a virtual package provided
by the gir1.2-glib-2.0 package.
---
 debian/control | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/debian/control b/debian/control
index 25d9c6d0..45c45102 100644
--- a/debian/control
+++ b/debian/control
@@ -86,7 +86,11 @@ Package: libcjs0
 Architecture: any
 Multi-Arch: same
 Section: libs
-Depends: ${gir:Depends}, ${misc:Depends}, ${shlibs:Depends}
+Depends:
+ ${gir:Depends},
+ ${misc:Depends},
+ ${shlibs:Depends},
+ gir1.2-girepository-2.0,
 Provides: ${cjs:Provides}
 Breaks: cinnamon (<< 5.6.8~)
 Description: Library of the javascript bindings for the Cinnamon
-- 
2.43.0

>From 5e00d9f0134ed3f955f51ddd8f935c9bf9d2d76c Mon Sep 17 00:00:00 2001
From: Simon McVittie <smcv@debian.org>
Date: Fri, 29 Dec 2023 23:44:40 +0000
Subject: [PATCH 2/2] d/control: libcjs0 Depends on typelibs imported by
 built-in modules

imports.package depends on GLib, GObject and Gio, not just GIRepository.
In practice gir1.2-girepository-2.0 (or the package that provides it)
will pull in all of those, so this is really just for completeness.
---
 debian/control | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/debian/control b/debian/control
index 45c45102..bf37ad34 100644
--- a/debian/control
+++ b/debian/control
@@ -90,7 +90,10 @@ Depends:
  ${gir:Depends},
  ${misc:Depends},
  ${shlibs:Depends},
+ gir1.2-gio-2.0,
  gir1.2-girepository-2.0,
+ gir1.2-glib-2.0,
+ gir1.2-gobject-2.0,
 Provides: ${cjs:Provides}
 Breaks: cinnamon (<< 5.6.8~)
 Description: Library of the javascript bindings for the Cinnamon
-- 
2.43.0


Reply to: