Subject: Bug#969321: transition: GNOME 3.38 (mutter, evolution-data-server, etc.)
From: Simon McVittie <[email-masked]>
To: Debian Bug Tracking System <[email-masked]>
Date: Mon, 31 Aug 2020 12:00:05 +0100
List-Id: <debian-gtk-gnome.lists.debian.org>

Package: release.debian.org
Severity: normal
Tags: moreinfo
User: [email-masked]
Usertags: transition
X-Debbugs-Cc: [email-masked]

GNOME 3.38 will be released on 2020-09-16, and beta versions of the
major packages (versioned 3.37.x) are already making their way into
experimental and Ubuntu. Based on upstream's 6 month release schedule
and the release team's proposed bullseye freeze dates, this is very
likely to be the version that will ship in bullseye.

I've tagged this bug as moreinfo because uploads of some necessary
packages are currently waiting in NEW, so this is not currently
actionable. (If someone on the ftp team can take a look at src:mutter
and src:mozjs78, that would be very useful.)

As usual, there will be a series of entangled small transitions which I
think would be best handled as a single larger transition:

* Core packages like gnome-shell, -session, -settings-daemon and gdm3 rely
  on being at reasonably well-aligned versions and will have Breaks to
  ensure they're upgraded from 3.36.x to 3.37.x/3.38.x as a batch

* gnome-shell needs a new version of mutter with ABI breaks (currently
  in experimental-NEW)
   - budgie-core will need at least binNMUs and maybe sourceful changes

* evolution-data-server has an ABI break, which has already made its way
  through NEW
  - https://release.debian.org/transitions/html/auto-evolution-data-server.html

* The new gjs version needs mozjs78 (currently in unstable-NEW).
  mozjs68 will continue to exist at least briefly, so we don't have to
  do a flag-day transition, although we should try to remove some versions
  from bullseye after this transition is over. We currently have:
  - mozjs52 (old, RC-buggy, used by Cinnamon)
  - (mozjs60 became unused and was removed)
  - mozjs68 (used by current gjs, libproxy and experimental policykit-1)
    + for libproxy we are already considering removing the mozjs plugin
      (#959805)
    + for policykit-1 as far as I know there's no intention to ship the
      version that needs mozjs in testing/unstable
  - mozjs78 (in NEW)

* gnome-shell almost certainly breaks the JavaScript API that is presented
  to Shell extensions
  - IMO, extensions that cannot be ported promptly should be removed from
    testing to avoid holding back the desktop

Tracker 3 (#964376) is also intended to release as part of GNOME 3.38, but
I don't think it's mandatory, so hopefully we can defer that part until
the desktop has gone through.

I *think* that's everything, but we don't have the full desktop in
experimental yet.

The pipewire transition (#966535, also waiting for NEW) touches some of
the same packages, and it would be good to get that done so that we can
have remote desktop support in bullseye, but they can be done in either
order. Pipewire in GNOME is currently disabled, so they wouldn't even
interfere with each other.

Ben file for the mutter part of the transition:

title = "mutter";
is_affected = .depends ~ "libmutter-7-0" | .depends ~ "libmutter-6-0";
is_good = .depends ~ "libmutter-7-0";
is_bad = .depends ~ "libmutter-6-0";

For the e-d-s part,
https://release.debian.org/transitions/html/auto-evolution-data-server.html
seems to cover it.

    smcv