[MIR] cairomm1.16

Bug #2020273 reported by Jeremy Bícha
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
cairomm1.16 (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

[Availability]
The package cairomm1.16 is already in Ubuntu universe.
The package cairomm1.16 is built for all Ubuntu architectures except i386 (where it is not needed)
Link to package https://launchpad.net/ubuntu/+source/cairomm1.16

[Rationale]
- The package cairomm1.16 is a new runtime dependency of package transmission that we already support. (Transmission has been included in Ubuntu Desktop for many years. Transmission previously used C for the desktop app but C++ for much of the rest of the codebase. With the latest version, Transmission has standardized on C++ for all its codebase.)

- cairomm1.16 is part of the GTK4 stack for C++. A different source package, cairomm, is part of the GTK3 C++ stack and is currently in main. For more rationale about promoting the GTK4 stack for C++ to main, see the gtkmm4.0 MIR bug LP: #2020472

- The package cairomm1.16 is required in Ubuntu main no later than August 17, Ubuntu 23.10 Feature Freeze, because it is a dependency of transmission and perhaps gnome-system-monitor 45.

[Security]
- No CVEs/security issues in this software in the past
+ https://ubuntu.com/security/cve?package=cairomm
+ https://security-tracker.debian.org/tracker/source-package/cairomm
+ https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=cairomm

- no `suid` or `sgid` binaries
- no executables in `/sbin` and `/usr/sbin`
- Package does not install services, timers or recurring jobs
- Package does not open privileged ports (ports < 1024)
- Package does not contain extensions to security-sensitive software (filters, scanners, plugins, UI skins, ...)

[Quality assurance - function/usage]
- The package works well right after install

[Quality assurance - maintenance]
- The package is maintained well in Debian/Ubuntu/Upstream and does not have too many, long-term & critical, open bugs
+ Ubuntu https://bugs.launchpad.net/ubuntu/+source/cairomm
  https://bugs.launchpad.net/ubuntu/+source/cairomm1.16
+ Debian https://bugs.debian.org/cgi-bin/pkgreport.cgi?src=cairomm
  https://bugs.debian.org/cgi-bin/pkgreport.cgi?src=cairomm1.16
+ Upstream https://gitlab.freedesktop.org/cairo/cairomm/-/issues

- The package does not deal with exotic hardware we cannot support

[Quality assurance - testing]
- The package runs a test suite on build time, if it fails it makes the build fail, link to build log https://launchpad.net/ubuntu/+source/cairomm1.16/1.16.2-3/+latestbuild/amd64

 - The package runs an autopkgtest, and is currently passing on all architectures (except for i386 where it is not built)

https://autopkgtest.ubuntu.com/packages/cairomm1.16

- The package does have not failing autopkgtests right now

[Quality assurance - packaging]
- debian/watch is present and works
- debian/control defines a correct Maintainer field (package is maintained in Debian)

- This package does not yield massive lintian Warnings, Errors
- Please link to a recent build log of the package
https://launchpad.net/ubuntu/+source/cairomm1.16/1.14.4-2/+latestbuild/amd64
- Please attach the full output you have got from `lintian --pedantic` as an extra post to this bug.
- Lintian overrides are not present

- This package does not rely on obsolete or about to be demoted packages.
- This package has no python2 or GTK2 dependencies

- The package will be installed by default, but does not ask debconf questions

- Packaging and build is easy
https://salsa.debian.org/gnome-team/cairomm1.16/-/blob/debian/master/debian/rules

[UI standards]
- Application is not end-user facing (does not need translation)
- Application is not end-user facing (does not need .desktop file)

[Dependencies]
- There is a dependency that is not yet in main, MIR for libsigc++-3.0 is LP: #2020272

[Standards compliance]
- This package correctly follows FHS and Debian Policy

[Maintenance/Owner]
- Owning Team will be Desktop Packages
- Team is not yet, but will subscribe to the package before promotion

- This does not use static builds
- This does not use vendored code
- This package is not rust based
- The package successfully built during the most recent test rebuild

[Background information]
The Package description explains the package well
Upstream Name is cairomm
Link to upstream project https://cairographics.org/cairomm/
https://gitlab.freedesktop.org/cairo/cairomm

Tags: mantic
Revision history for this message
Jeremy Bícha (jbicha) wrote :

W: libcairomm-1.16-1: changelog-distribution-does-not-match-changes-file unstable != mantic-proposed [usr/share/doc/libcairomm-1.16-1/changelog.Debian.gz:1]
W: libcairomm-1.16-doc: changelog-distribution-does-not-match-changes-file unstable != mantic-proposed [usr/share/doc/libcairomm-1.16-doc/changelog.Debian.gz:1]
W: cairomm1.16 changes: distribution-and-changes-mismatch mantic-proposed unstable
I: libcairomm-1.16-1: no-symbols-control-file usr/lib/x86_64-linux-gnu/libcairomm-1.16.so.1.4.0
I: cairomm1.16 source: repackaged-source-not-advertised [debian/copyright]

I: Lintian run was successful.

description: updated
Jeremy Bícha (jbicha)
description: updated
Changed in cairomm1.16 (Ubuntu):
status: Incomplete → Confirmed
Changed in cairomm1.16 (Ubuntu):
assignee: nobody → Lukas Märdian (slyon)
Revision history for this message
Lukas Märdian (slyon) wrote (last edit ):
Download full text (7.2 KiB)

Review for Source Package: cairomm1.16

[Summary]
This is just a continued development of src:cairomm (i.e. v1.14) but introducing a new ABI series 1.16 (vs 1.0 as used by src:cairomm), so it can be co-installed with src:cairomm.

MIR team ACK under the constraint to resolve the below listed
required TODOs and as much as possible having a look at the
recommended TODOs.

This does not need a security review

List of specific binary packages to be promoted to main: libcairomm-1.16-1 (& -dev & -doc)
Specific binary packages built, but NOT to be promoted to main: None

Notes:
I couldn't find any previous MIR for src:cairomm (which has been in main for a long time), so this is a full MIR review.

#0: I wonder if there is any plan to demote src:cairomm from "main", in order to avoid the GTK3/GTK4 duplication?

Required TODOs:
#1: depends on MIR for libsigc++-3.0 is LP: #2020272 (resolved as of 2023-06-22)
#2: symbols tracking is not in place (due to being a C++ library, this can be downgraded to a recommendation if proper reasoning is given of why this isn't feasible for this library or how it was tried to fix ABI checker tooling)

Recommended TODOs:
#3: The package should get a team bug subscriber before being promoted
#4: Lintian warnings of interest, might be fixed together with Debian:
I: libcairomm-1.16-1: no-symbols-control-file usr/lib/x86_64-linux-gnu/libcairomm-1.16.so.1.4.0
I: cairomm1.16 source: repackaged-source-not-advertised [debian/copyright]
#5: important open bugs, might be fixed together with Debian:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1032457 (nocheck FTBFS)
#6: Build-time warnings, might be fixed together with upstream:
dh_translations: warning: could not determine domain
../meson.build:236: WARNING: Consider using the built-in warning_level option instead of using "-Wall".
../meson.build:236: WARNING: Consider using the built-in warning_level option instead of using "-Wextra".
warning: Tag 'LATEX_SOURCE_CODE' at line 226 of file 'reference/Doxyfile' has become obsolete.
         To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u"
warning: Tag 'RTF_SOURCE_CODE' at line 238 of file 'reference/Doxyfile' has become obsolete.
         To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u"
warning: Tag 'DOCBOOK_PROGRAMLISTING' at line 258 of file 'reference/Doxyfile' has become obsolete.
         To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u"
warning: Tag 'CLASS_DIAGRAMS' at line 310 of file 'reference/Doxyfile' has become obsolete.
         To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u"

[Duplication]
There is another package in main providing the same functionality.
The same package but different version is in main.
However we need the newer version of cairomm because it is part of GTK4 stack
and it is now used for considerable amount of default Ubuntu Desktop apps.
src:cairomm and src:cairomm-1.16 are different ABI series and co-intallable as stated by the upstream project and visible thro...

Read more...

Changed in cairomm1.16 (Ubuntu):
status: Confirmed → Incomplete
assignee: Lukas Märdian (slyon) → Jeremy Bícha (jbicha)
Revision history for this message
Jeremy Bícha (jbicha) wrote (last edit ):

I have added a symbols file and need to make a minor adjustment on Wednesday (after my holiday on Tuesday) for riscv64. strict symbols checking is done on all architectures.

https://launchpad.net/ubuntu/+source/cairomm1.16/1.16.2-6

Revision history for this message
Jeremy Bícha (jbicha) wrote :

I fixed the bug mentioned in point #5.
I don't believe the info tag "repackaged source not advertised" is worth fixing: it would add complexity to the package for negligible benefit.

Revision history for this message
Jeremy Bícha (jbicha) wrote :

Strict symbols checking is now working for all architectures. Package is in mantic-proposed waiting for the autopkgtest queues.

https://launchpad.net/ubuntu/+source/cairomm1.16/1.16.2-7

Changed in cairomm1.16 (Ubuntu):
status: Incomplete → Confirmed
assignee: Jeremy Bícha (jbicha) → nobody
Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Thank you so much, I checked the set of gtkmm4.0, cairomm1.16 and glibmm2.68 together.
They have been good from the start, on each the required todo's have been resolved (mostly symbols).

Before promotion you'll still need to subscribe as right now I only see those sources subscribed by desktop-packages:
cairomm
glibmm2.4
gtkmm2.4
gtkmm3.0
But I'm sure seb will sort that out on promotion itself where it is a requirement to be present.

We might not yet be able to let GTK3 go [1], but GTK4 can go in, thanks for your efforts on all of this!
This is already in component mismatches, setting to fix-committed.

The full set of packages seem to be ready, so I'm also subscribing ubuntu-archive-admins, but would leave it to (probably Seb) others to promote in a way coordinated with other Desktop uploads.

[1]: https://bugs.launchpad.net/ubuntu/+source/glibmm2.68/+bug/2020270/comments/6

Changed in cairomm1.16 (Ubuntu):
status: Confirmed → Fix Committed
Revision history for this message
Steve Langasek (vorlon) wrote :

Override component to main
cairomm1.16 1.16.2-7 in mantic: universe/misc -> main
libcairomm-1.16-1 1.16.2-7 in mantic amd64: universe/libs/optional/100% -> main
libcairomm-1.16-1 1.16.2-7 in mantic arm64: universe/libs/optional/100% -> main
libcairomm-1.16-1 1.16.2-7 in mantic armhf: universe/libs/optional/100% -> main
libcairomm-1.16-1 1.16.2-7 in mantic ppc64el: universe/libs/optional/100% -> main
libcairomm-1.16-1 1.16.2-7 in mantic riscv64: universe/libs/optional/100% -> main
libcairomm-1.16-1 1.16.2-7 in mantic s390x: universe/libs/optional/100% -> main
libcairomm-1.16-dev 1.16.2-7 in mantic amd64: universe/libdevel/optional/100% -> main
libcairomm-1.16-dev 1.16.2-7 in mantic arm64: universe/libdevel/optional/100% -> main
libcairomm-1.16-dev 1.16.2-7 in mantic armhf: universe/libdevel/optional/100% -> main
libcairomm-1.16-dev 1.16.2-7 in mantic ppc64el: universe/libdevel/optional/100% -> main
libcairomm-1.16-dev 1.16.2-7 in mantic riscv64: universe/libdevel/optional/100% -> main
libcairomm-1.16-dev 1.16.2-7 in mantic s390x: universe/libdevel/optional/100% -> main
libcairomm-1.16-doc 1.16.2-7 in mantic amd64: universe/doc/optional/100% -> main
libcairomm-1.16-doc 1.16.2-7 in mantic arm64: universe/doc/optional/100% -> main
libcairomm-1.16-doc 1.16.2-7 in mantic armhf: universe/doc/optional/100% -> main
libcairomm-1.16-doc 1.16.2-7 in mantic i386: universe/doc/optional/100% -> main
libcairomm-1.16-doc 1.16.2-7 in mantic ppc64el: universe/doc/optional/100% -> main
libcairomm-1.16-doc 1.16.2-7 in mantic riscv64: universe/doc/optional/100% -> main
libcairomm-1.16-doc 1.16.2-7 in mantic s390x: universe/doc/optional/100% -> main
20 publications overridden.

Changed in cairomm1.16 (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.