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

Bug#1059341: marked as done (gir1.2-cscreensaver-1.0: contains 900K of GIR XML which shouldn't usually be necessary on end user systems)



Your message dated Fri, 16 Aug 2024 11:48:58 +0000
with message-id <E1sevRy-003lqS-M7@fasolo.debian.org>
and subject line Bug#1059341: fixed in cinnamon-screensaver 6.2.0-1
has caused the Debian Bug report #1059341,
regarding gir1.2-cscreensaver-1.0: contains 900K of GIR XML which shouldn't usually be necessary on end user systems
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
1059341: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1059341
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: gir1.2-cscreensaver-1.0
Version: 5.8.1-2
Severity: normal
X-Debbugs-Cc: gobject-introspection@packages.debian.org

In addition to the binary typelib (about 50K), gir1.2-cscreensaver-1.0
contains GIR XML (about 900K). This is not right for the conventional
way to package GObject-Introspection modules, and is probably a waste of
space on end-user systems.

Typelib files are normally used by bindings for dynamic languages like
Python (PyGI), JavaScript (gjs, cjs, seed) or Perl
(Glib::Object::Introspection), as an equivalent of a C/C++ shared library.
If I understand correctly, cinnamon-screensaver is mostly written in Python,
and uses C code from libcscreensaver0 via gir1.2-cscreensaver-1.0 and PyGI.

GIR XML is normally used by bindings for static languages like C++, Rust
or Haskell, and are closer to an equivalent of C/C++ header files. They
contain a superset of the information in the equivalent typelib file,
in a less efficient but easier-to-parse encoding. I suspect that
cinnamon-screensaver doesn't actually need this.

On #1057391, Fabio Fantoni wrote:
> user testing cinnamon 6 on sid spotted -dev package in
> gir1.2-cscreensaver-1.0 actually not present, so I suppose added from recent
> dh_girepository changes. upstream have all in libcscreensaver0, so I created
> at least gir1.2-cscreensaver-1.0 in 5.4.1-2 to solve the policy issue (I not
> tried to do a PR for upstream now) but I put also gir file in it instead
> create -dev package for only it. I must create gir1.2-cscreensaver-1.0-dev
> with gir and all needed -dev deps or is possible remove the -dev deps?

If I'm understanding the question correctly, the right answer depends
on whether this is a public or private library.

I see that the way src:cinnamon-screensaver packages its shared library
libcscreensaver0 seems to be a mixture of public and private library,
which might indicate some confusion about its role. Is this library
private to src:cinnamon-screensaver and not intended to be used by other
packages? Or is it a public library that can be used by third-party
software, like GTK or libsoup? Or is there some more complicated situation?

If it's a private library
=========================

One option is to say that it's a private library, like the libgc.so
that is part of src:gnome-characters.

If it's this, then:

- the shared library should be in a non-default library path, like maybe
  /usr/lib/${DEB_HOST_MULTIARCH}/cinnamon-screensaver/
  (gnome-characters uses /usr/lib/${DEB_HOST_MULTIARCH}/org.gnome.Characters/)
  and the main executable should use the LD_LIBRARY_PATH environment
  variable, a DT_RUNPATH ELF header (gcc -Wl,-rpath), or
  g_irepository_prepend_library_path() to load it

- the typelib should also be in a non-default location, like maybe
  /usr/lib/${DEB_HOST_MULTIARCH}/cinnamon-screensaver/
  (gnome-characters uses
  /usr/lib/${DEB_HOST_MULTIARCH}/org.gnome.Characters/girepository-1.0/),
  and the main executable should use the GI_TYPELIB_PATH environment
  variable or g_irepository_prepend_search_path() to load it

- it's correct for the C/C++ header files not to be installed

- the GIR XML should either not be installed, or be installed in a
  non-default location, like maybe /usr/share/cinnamon-screensaver/

- everything can be in one large binary package

- it's probably unnecessary to run dh_girepository, because everything
  is in one large binary package anyway - although you will want to depend
  on gir1.2-gtk-3.0, either via dh_girepository or directly

src:gnome-characters seems to be a good example of this setup.

If it's a public library
========================

Another option is to say that it's a public library, like the libcheese.so.*
and libcheese-gtk.so.* that are part of src:cheese.

If it's this, then:

- the shared library should continue to be in
  /usr/lib/${DEB_HOST_MULTIARCH}/ in a libcscreensaver0 binary package

- the typelib should continue to be in
  /usr/lib/${DEB_HOST_MULTIARCH}/girepository-1.0/ in a
  gir1.2-cscreensaver-1.0 binary package

- the C/C++ header files should be installed in a new -dev package,
  probably libcscreensaver-dev, so that other C/C++ code can link to the
  library

- the GIR XML should continue to be in /usr/share/gir-1.0/ but should be
  moved into the new -dev package, which should have Depends: ${gir:Depends}
  and Provides: ${gir:Provides}

- multiple, separate binary packages will be needed

- dh_girepository should be used

src:flatpak is a good example of this setup.

If it's something more complicated
==================================

If there's some more complicated situation, like the forks of Clutter and
Cogl in src:mutter and src:muffin, then please explain, and I or other
members of the GNOME team can try to come up with a recommendation.

Thanks,
    smcv

--- End Message ---
--- Begin Message ---
Source: cinnamon-screensaver
Source-Version: 6.2.0-1
Done: Fabio Fantoni <fantonifabio@tiscali.it>

We believe that the bug you reported is fixed in the latest version of
cinnamon-screensaver, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1059341@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Fabio Fantoni <fantonifabio@tiscali.it> (supplier of updated cinnamon-screensaver package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Fri, 16 Aug 2024 13:22:41 +0200
Source: cinnamon-screensaver
Architecture: source
Version: 6.2.0-1
Distribution: unstable
Urgency: medium
Maintainer: Debian Cinnamon Team <debian-cinnamon@lists.debian.org>
Changed-By: Fabio Fantoni <fantonifabio@tiscali.it>
Closes: 1059341
Changes:
 cinnamon-screensaver (6.2.0-1) unstable; urgency=medium
 .
   * New upstream version 6.2.0
   * Add upstream PR for make library private, as not used externally
   * Remove libcscreensaver0 and gir1.2-cscreensaver-1.0 packages,
     now private library is in cinnamon-screensaver
   * Don't install gir file as not used and not needed (Closes: #1059341)
   * Remove unused lintian overrides
   * Remove dh-sequence-gir and ${gir:Depends}
   * Change libexec dir to /usr/libexec
   * Add d/README.source with a wiki link with details about packaging
   * Update standards version to 4.7.0, no changes needed
Checksums-Sha1:
 ec74f90a3ec1933fae9331da89b5b177783becea 2435 cinnamon-screensaver_6.2.0-1.dsc
 46db0d5e6829fc6ec95b2a8178557e0461a0a9b8 152393 cinnamon-screensaver_6.2.0.orig.tar.gz
 b76e278161aadacd18ae74b97bb8d3cf86e7573e 9976 cinnamon-screensaver_6.2.0-1.debian.tar.xz
 fb1a9d58c44fc5e9bbfb6c9c578245a2cb9ed822 17948 cinnamon-screensaver_6.2.0-1_source.buildinfo
Checksums-Sha256:
 2a1bbdc1e6436bdc184e1b1addaa9fc34fce11657590415910cd17a96fa455d0 2435 cinnamon-screensaver_6.2.0-1.dsc
 9abd1885cfa4607cfb32316baca649875ae938c4797c7be901c0630834786070 152393 cinnamon-screensaver_6.2.0.orig.tar.gz
 914d75730aef38a40e74a8899406204ade0b3810e93a796df00b94c0790aa780 9976 cinnamon-screensaver_6.2.0-1.debian.tar.xz
 cb8043034a42033719dd9bd7b42201951e7c590270d8af9aad3feb35781afe51 17948 cinnamon-screensaver_6.2.0-1_source.buildinfo
Files:
 8a1a8ee842f80c84da74e8dcffc512c4 2435 x11 optional cinnamon-screensaver_6.2.0-1.dsc
 aef25e400b446e2af3001d562ea2bb70 152393 x11 optional cinnamon-screensaver_6.2.0.orig.tar.gz
 6c2316c338dd552a02039efde88a35e6 9976 x11 optional cinnamon-screensaver_6.2.0-1.debian.tar.xz
 dc1ecf763df5ae411f3e19abda9d9058 17948 x11 optional cinnamon-screensaver_6.2.0-1_source.buildinfo

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEELEHRfLe4S9D5+1GzaAZorpB/EB0FAma/NzgACgkQaAZorpB/
EB2BTQ/+O+sSkgZU3TjutZqwH8uOWFt9Hm8gx5rAW2pCawocXnUm6HlE6OIeBhLe
z6necwb0OLOpCDbytQOk3GbICo1iZyEPaNnl7rBLg7sTBUyVybO3XYGztU6SYIUh
rWfxxgIACCfxz/lU7eATkPBpvz04TYXeWWwcBNY4UH/D2WoCxFTox/sgrIQLWRSd
MFwskj5DWla2qgLhXD5N87rz+rVhQe2R8hlw5H5do8EAN/6RB/oTC3O+GE7OKhUn
sBpA/mxp99Sz/6odcQIE4cIg4NssnH+h23ZqFIWpgrkj/ZJXhi00epXWitVCgOOE
clbPjrd264DjcblGLbAQzddGRfRhF5kybEzTHCe0vNOps9RbDJ4RGyi0rmW3iSAF
invBV9o/xM4eEWwW4ZzpEiELjYcELR+WKGTTmgyBzYTERy6nmKdy0l+hFIw75IV2
boCbSRBJ3v1lQNpqzCvNzybnZ55d8utpHmdJedQ0fvuHGwwaanNsT6PTw6wueiVb
zasYd3Z3CC/Lt7Nvh8zmV/DSAZdVDusvwzIgwHJurOXqFKek2ITj4NDz1VabRTQn
3znb1/CLfu07MznWpClRRxRXCBrl8GpUb+y6gONrb/O1qV220mLLLSXKc3DlUqDM
Ui/A/Qrn1ooBukkx9mN1ZOH2e1NHgJkPJDiTYoTNN29PPfZk0Nk=
=FIAR
-----END PGP SIGNATURE-----

Attachment: pgpLdFPz_Lxup.pgp
Description: PGP signature


--- End Message ---

Reply to: