← Back to team overview

debcrafters-packages team mailing list archive

[Bug 2109978] Re: [SRU] Update gtk4 to 4.14.5 for Noble

 

Regarding Test Case 1 - gtk4-demo on containers (running on WSL in my
case), installing libgtk-4-1 from noble-proposed pulls out libgles2:

```
s@DESKTOP-551PQ9O:/mnt/c/Users/User$ sudo apt install libgtk-4-1/noble-proposed
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Selected version '4.14.5+ds-0ubuntu0.1' (Ubuntu:24.04/noble-proposed [amd64]) for 'libgtk-4-1'
Selected version '4.14.5+ds-0ubuntu0.1' (Ubuntu:24.04/noble-proposed [all]) for 'libgtk-4-common' because of 'libgtk-4-1'
The following package was automatically installed and is no longer required:
  fonts-cantarell
Use 'sudo apt autoremove' to remove it.
The following additional packages will be installed:
  libgles2 libgtk-4-common
Suggested packages:
  gvfs
The following packages will be REMOVED:
  gtk-4-examples
The following NEW packages will be installed:
  libgles2
The following packages will be upgraded:
  libgtk-4-1 libgtk-4-common
```

I tried running gtk4-demo before and after enabling proposed and the
behaviour matched the expectation: crash before due missing libgles2 and
success after enabling proposed and installing gtk4 packages from there
due the explicit dependency being acknowledged.

Regarding test 2, I ran the following commands on Ubuntu Desktop
(24.04.2):

```
git ubuntu clone gtk4
cd gtk4/testsuite/gtk
sudo apt install libgtk-4-dev
git checkout pkg/ubuntu/noble-proposed
gcc -o notify notify.c $(pkgconf --cflags --libs gtk4 gtk4-unix-print)
./notify
```

The notify binary succeeded when I changed my date to Jan 31. To make
sure it would fail without the patches herein requested, I checked out
the previous version of noble-proposed and it did fail:

```

...
# Checking GtkButton:can-shrink
ok 204 /Notification/GtkButton
ok 205 /Notification/GtkButtonsType
not ok /Notification/GtkCalendar - Gtk-FATAL-CRITICAL: gtk_calendar_set_month: assertion 'date != NULL' failed
Bail out!
zsh: trace trap (core dumped)  ./notify
```

Tests 3 and 4 also succeed as expected with libgtgk-4-1 from noble-
proposed.

-- 
You received this bug notification because you are a member of
Debcrafters packages, which is subscribed to gtk4 in Ubuntu.
https://bugs.launchpad.net/bugs/2109978

Title:
  [SRU] Update gtk4 to 4.14.5 for Noble

Status in gtk4 package in Ubuntu:
  Fix Released
Status in gtk4 source package in Noble:
  Fix Committed

Bug description:
  [ Impact ]

  4.14.5 is a new bugfix release from upstream:
  https://gitlab.gnome.org/GNOME/gtk/-/blob/4.14.5/NEWS?ref_type=tags

  * Some notable bugs that motivated this SRU:
    - upstream MR #7535 ci: avoid another date-dependent failure (Jeremy Bícha), allows building on 31st day of the month.
    - salsa #1077287 / LP: #2098698 debian: Depend on libgles2 (Simon McVittie)

  [ Test Plan ]

  Test Case 0 - ci
  ----------------
  gtk4 has an extensive build test suite, and failures will fail the build.
  gtk4 also has thorough autopkgtests.
  Ensure that the build succeeds and that the autopgktests pass.

  Test Case 1 - gtk4-demo on containers
  --------------------------------------
  Setup an Ubuntu 24.04 container (Ubuntu on WSL instance also works).
  Make sure it doesn't contain the libgles2 package already installed.
  Update apt cache and install gtk-4-examples and try running gtk4-demo.
  With previous versions of GTK4 it fails to launch due libgles2.so not found. With this version debian/control explicitly defines the dependency so apt installs libgles2.

  Test Case 2 - build on day 31st
  -------------------------------
  Adjust your system date to Jan 31st of the current year and try to build the binary packages. Package tests should fail with previous versions of this source package.
  Alternatively, you can test the specific part of the sources causing trouble: Set your system calendar to the 31st day of the month (for instance July 31)

  cd testsuite/gtk
  gcc -o notify notify.c $(pkgconf --cflags --libs gtk4 gtk4-unix-print)
  ./notify
  The test should complete successfully like it does if it is not the 31st day of the month.

  Test Case 3 - portal-test snap
  -------------------------------
  snap install portal-test --edge
  snap run portal-test
  Verify that the app seems to still work ok

  Test Case 4 - GNOME apps
  ------------------------
  Install and test a few other GTK/GNOME applications like nautilus and gnome-text-editor, and verify that they continue to launch and work as expected.

  [ What Could Go Wrong ]

  Many of the default Ubuntu desktop apps use GTK4. A serious enough
  regression could severely break the Ubuntu Desktop.

  Ubuntu includes xdg-desktop-portal-gnome by default which is used for
  many snap actions like providing a file chooser using GTK4. This is
  critical functionality for our snaps. The Ubuntu flavors use a
  different portal backend, most commonly xdg-desktop-portal-gtk which
  uses GTK3, so are not affected by this SRU.

  [ Other info ]

  gtk4 is included in the GNOME micro release exception since it is part
  of GNOME Core

  https://documentation.ubuntu.com/sru/en/latest/reference/package-
  specific/

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gtk4/+bug/2109978/+subscriptions