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

2024-01-03 Thread Simon McVittie
On Wed, 03 Jan 2024 at 20:52:48 +0100, Fabio Fantoni wrote:
> 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=amd64=1.74.0-3=1674166945=0)
> provides are present and the jammy version 
> (https://buildd.debian.org/status/fetch.php?pkg=gobject-introspection=amd64=1.72.0-1=1647611197=0)
> also, so will be ok also for upstream, right?

I would expect so. According to the gobject-introspection changelog, I
added Provides: gir1.2-girepository-2.0 in version 1.54.1-3 (2017).

smcv



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

2024-01-03 Thread Fabio Fantoni

Il 03/01/2024 20:04, Simon McVittie ha scritto:

On Sat, 30 Dec 2023 at 00:02:51 +, 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=amd64=1.74.0-3=1674166945=0) 
provides are present and the jammy version 
(https://buildd.debian.org/status/fetch.php?pkg=gobject-introspection=amd64=1.72.0-1=1647611197=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


OpenPGP_signature.asc
Description: OpenPGP digital signature


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

2024-01-03 Thread Simon McVittie
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 +, 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 
Date: Fri, 29 Dec 2023 23:43:06 +
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 
Date: Fri, 29 Dec 2023 23:44:40 +
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



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

2023-12-29 Thread Simon McVittie
Source: libcjs0
Version: 6.0.0-1
Severity: normal
Tags: patch trixie sid
User: pkg-gnome-maintain...@lists.alioth.debian.org
Usertags: girepository-2.0

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

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.

smcv