Bug#935252: buster-pu: package gnome-shell/3.30.2-11~deb10u1

Simon McVittie <[email protected]>
Newsgroups gmane.linux.debian.devel.gtk-gnome
Message-ID <20190821074447.GB27675__35553.7746496097$1566373721$gmane$org@espresso.pseudorandom.co.uk>
Package: release.debian.org
Severity: normal
Tags: buster
User: [email protected]
Usertags: pu
X-Debbugs-Cc: [email protected], [email protected]

I uploaded some GNOME Shell fixes to unstable after the buster release
which I think would be worth considering for a buster update - perhaps
for 10.2 rather than 10.1 at this point.

I would appreciate further testing from people who use buster on their
desktop/laptop systems. Equivalent signed source and amd64 binaries for
testing are available here:
https://people.debian.org/~smcv/201908/gnome-shell/

I have only tried this in combination with the proposed update for mutter,
so they should probably go in the same point release, but in principle
they should be orthogonal.

>   * d/gnome-shell.bug-control: Include related packages in bug reports

Trivial metadata change to get more useful bug reports.

>   * Update to upstream gnome-3-30 branch, commit 3.30.2-22-gd41669189

We might as well benefit from upstream having a GNOME 3.30 branch...

>     - d/p/dialog-Really-set-ellipsize-mode-in-subtitle-and-body.patch:
>       Fix truncation of long messages in Shell-modal dialogs
>       (LP: #1809788)

This was reported in Ubuntu as an issue with polkit prompts, but could
in principle affect any system-modal dialog. Not *massively* important,
but since upstream have backported it to their 3.30 branch we might as well
do the same.

>     - d/p/osk-layouts-Fix-French-layout.patch:
>       Update metadata to reflect upstream backport (no functional changes)

No functional change, I just altered the patch metadata and moved it to
be adjacent to the other patches from upstream in d/p/series.

>     - d/p/boxpointer-Unset-the-sourceActor-on-destruction.patch:
>       Avoid crash on reallocation of dead actors (LP: #1831555)

Detected by automated crash-reporting in Ubuntu. gnome-shell crashes
are particularly annoying when defaulting to Wayland mode, because they
end the session, but they could also be considered to be a security
issue in X11 mode, because window content is revealed while the Shell
is restarting.

    smcv
gnome-shell_3.30.2-11~deb10u1.diff (text/x-diff, 9.2 KB)
diffstat for gnome-shell-3.30.2 gnome-shell-3.30.2

 changelog                                                           |   29 ++++
 gnome-shell.bug-control                                             |    2 
 patches/boxpointer-Unset-the-sourceActor-on-destruction.patch       |   64 ++++++++++
 patches/dialog-Really-set-ellipsize-mode-in-subtitle-and-body.patch |   36 +++++
 patches/osk-layouts-Fix-French-layout.patch                         |    7 -
 patches/series                                                      |    4 
 6 files changed, 138 insertions(+), 4 deletions(-)

diff -Nru gnome-shell-3.30.2/debian/changelog gnome-shell-3.30.2/debian/changelog
--- gnome-shell-3.30.2/debian/changelog	2019-04-28 00:13:04.000000000 +0100
+++ gnome-shell-3.30.2/debian/changelog	2019-08-18 19:50:59.000000000 +0100
@@ -1,3 +1,32 @@
+gnome-shell (3.30.2-11~deb10u1) buster; urgency=medium
+
+  * Team upload
+  * Recompile for Debian 10
+  * d/gbp.conf: Change packaging branch to debian/buster
+
+ -- Simon McVittie <[email protected]>  Sun, 18 Aug 2019 19:50:59 +0100
+
+gnome-shell (3.30.2-11) unstable; urgency=medium
+
+  * Team upload
+  * d/gnome-shell.bug-control: Include related packages in bug reports
+
+ -- Simon McVittie <[email protected]>  Sun, 18 Aug 2019 17:23:32 +0100
+
+gnome-shell (3.30.2-10) unstable; urgency=medium
+
+  * Team upload
+  * Update to upstream gnome-3-30 branch, commit 3.30.2-22-gd41669189
+    - d/p/dialog-Really-set-ellipsize-mode-in-subtitle-and-body.patch:
+      Fix truncation of long messages in Shell-modal dialogs
+      (LP: #1809788)
+    - d/p/osk-layouts-Fix-French-layout.patch:
+      Update metadata to reflect upstream backport (no functional changes)
+    - d/p/boxpointer-Unset-the-sourceActor-on-destruction.patch:
+      Avoid crash on reallocation of dead actors (LP: #1831555)
+
+ -- Simon McVittie <[email protected]>  Tue, 30 Jul 2019 09:13:11 +0100
+
 gnome-shell (3.30.2-9) unstable; urgency=medium
 
   * Team upload
diff -Nru gnome-shell-3.30.2/debian/gnome-shell.bug-control gnome-shell-3.30.2/debian/gnome-shell.bug-control
--- gnome-shell-3.30.2/debian/gnome-shell.bug-control	1970-01-01 01:00:00.000000000 +0100
+++ gnome-shell-3.30.2/debian/gnome-shell.bug-control	2019-08-18 19:50:59.000000000 +0100
@@ -0,0 +1,2 @@
+report-with: gnome-session gnome-settings-daemon libgjs0g libmutter-3-0
+package-status: libegl-vendor libglx-vendor libgl1-mesa-dri
diff -Nru gnome-shell-3.30.2/debian/patches/boxpointer-Unset-the-sourceActor-on-destruction.patch gnome-shell-3.30.2/debian/patches/boxpointer-Unset-the-sourceActor-on-destruction.patch
--- gnome-shell-3.30.2/debian/patches/boxpointer-Unset-the-sourceActor-on-destruction.patch	1970-01-01 01:00:00.000000000 +0100
+++ gnome-shell-3.30.2/debian/patches/boxpointer-Unset-the-sourceActor-on-destruction.patch	2019-08-18 19:50:59.000000000 +0100
@@ -0,0 +1,64 @@
+From: =?utf-8?b?Ik1hcmNvIFRyZXZpc2FuIChUcmV2acOxbyki?= <[email protected]>
+Date: Thu, 13 Jun 2019 16:57:38 +0000
+Subject: boxpointer: Unset the sourceActor on destruction
+
+A boxpointer sourceActor could be destroyed before the boxpointer itself.
+In such case, unset the sourceActor reference, connecting to 'destroy' signal.
+
+(cherry picked from commit 2fd120162fe49bc85d7773435ac1412c512c5af4)
+
+Bug: https://gitlab.gnome.org/GNOME/gnome-shell/issues/1295
+Forwarded: https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/576
+Origin: upstream, 3.30.3, commit:d41669189690dc8fb38e3e2e90d70917cbc84e64
+---
+ js/ui/boxpointer.js | 28 +++++++++++++++++++++++++++-
+ 1 file changed, 27 insertions(+), 1 deletion(-)
+
+diff --git a/js/ui/boxpointer.js b/js/ui/boxpointer.js
+index d51877d..9eae0b6 100644
+--- a/js/ui/boxpointer.js
++++ b/js/ui/boxpointer.js
+@@ -61,6 +61,15 @@ var BoxPointer = new Lang.Class({
+         this._sourceAlignment = 0.5;
+         this._capturedEventId = 0;
+         this._muteInput();
++
++        this.actor.connect('destroy', this._onDestroy.bind(this));
++    },
++
++    _onDestroy() {
++        if (this._sourceActorDestroyId) {
++            this._sourceActor.disconnect(this._sourceActorDestroyId);
++            delete this._sourceActorDestroyId;
++        }
+     },
+ 
+     get arrowSide() {
+@@ -424,9 +433,26 @@ var BoxPointer = new Lang.Class({
+         // so that we can query the correct size.
+         this.actor.show();
+ 
+-        this._sourceActor = sourceActor;
++        if (!this._sourceActor || sourceActor != this._sourceActor) {
++            if (this._sourceActorDestroyId) {
++                this._sourceActor.disconnect(this._sourceActorDestroyId);
++                delete this._sourceActorDestroyId;
++            }
++
++            this._sourceActor = sourceActor;
++
++            if (this._sourceActor) {
++                this._sourceActorDestroyId = this._sourceActor.connect('destroy', () => {
++                    this._sourceActor = null;
++                    delete this._sourceActorDestroyId;
++                })
++            }
++        }
+         this._arrowAlignment = alignment;
+ 
++        if (!this._sourceActor)
++            return;
++
+         this._reposition();
+         this._updateFlip();
+     },
diff -Nru gnome-shell-3.30.2/debian/patches/dialog-Really-set-ellipsize-mode-in-subtitle-and-body.patch gnome-shell-3.30.2/debian/patches/dialog-Really-set-ellipsize-mode-in-subtitle-and-body.patch
--- gnome-shell-3.30.2/debian/patches/dialog-Really-set-ellipsize-mode-in-subtitle-and-body.patch	1970-01-01 01:00:00.000000000 +0100
+++ gnome-shell-3.30.2/debian/patches/dialog-Really-set-ellipsize-mode-in-subtitle-and-body.patch	2019-08-18 19:50:59.000000000 +0100
@@ -0,0 +1,36 @@
+From: =?utf-8?b?Ik1hcmNvIFRyZXZpc2FuIChUcmV2acOxbyki?= <[email protected]>
+Date: Fri, 3 May 2019 20:27:13 +0000
+Subject: dialog: Really set ellipsize mode in subtitle and body
+
+Dialog's subtitle or body could not be properly wrapped, while it's ellipsized
+when the text's width doesn't exceed the container size.
+
+Clutter text has an `ellipsize` property, however in dialog's subtitle and body
+we have been setting the `ellipsize-mode` property to Pango.EllipsizeMode.NONE
+that is not present in the underlying GObject.
+
+Not being an error in javascript, gjs didn't warn us about this, while at the
+same time the St.Label's default Pango.EllipsizeMode.END was used.
+
+(cherry picked from commit 3121c9aa29406ad85e949b697e90092f1fa6fc2e)
+
+Bug: https://gitlab.gnome.org/GNOME/gnome-shell/issues/922
+Forwarded: https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/531
+Origin: upstream, 3.30.3, commit:a8f6f01d678936ee96dd07647305b3c74fb1480e
+---
+ js/ui/dialog.js | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/js/ui/dialog.js b/js/ui/dialog.js
+index 0dd3370..10a0aef 100644
+--- a/js/ui/dialog.js
++++ b/js/ui/dialog.js
+@@ -184,7 +184,7 @@ var MessageDialogContent = new Lang.Class({
+             this[`_${prop}`].add_style_class_name(`message-dialog-${prop}`);
+         });
+ 
+-        let textProps = { ellipsize_mode: Pango.EllipsizeMode.NONE,
++        let textProps = { ellipsize: Pango.EllipsizeMode.NONE,
+                           line_wrap: true };
+         Object.assign(this._subtitle.clutter_text, textProps);
+         Object.assign(this._body.clutter_text, textProps);
diff -Nru gnome-shell-3.30.2/debian/patches/osk-layouts-Fix-French-layout.patch gnome-shell-3.30.2/debian/patches/osk-layouts-Fix-French-layout.patch
--- gnome-shell-3.30.2/debian/patches/osk-layouts-Fix-French-layout.patch	2019-04-28 00:13:04.000000000 +0100
+++ gnome-shell-3.30.2/debian/patches/osk-layouts-Fix-French-layout.patch	2019-08-18 19:50:59.000000000 +0100
@@ -1,13 +1,14 @@
 From: =?utf-8?q?Florian_M=C3=BCllner?= <[email protected]>
-Date: Wed, 27 Feb 2019 20:11:35 +0100
+Date: Wed, 27 Feb 2019 19:11:35 +0000
 Subject: osk-layouts: Fix French layout
 
 The script to convert XML keyboard layouts to json has a small bug
 that causes the French-Canadian layout to end up as French.
 
+(cherry picked from commit 859aef78c4d2472b2545ce9ecc889c00b9893494)
+
 Bug: https://gitlab.gnome.org/GNOME/gnome-shell/issues/997
-Bug-Debian: https://bugs.debian.org/926452
-Origin: upstream, 3.31.92, commit:859aef78c4d2472b2545ce9ecc889c00b9893494
+Origin: upstream, 3.30.3, commit:7a6ed76a2096ce778107266d37e77febcbb9c04d
 ---
  data/gnome-shell-osk-layouts.gresource.xml |   1 +
  data/osk-layouts/ca.json                   | 599 +++++++++++++++++++++++++++++
diff -Nru gnome-shell-3.30.2/debian/patches/series gnome-shell-3.30.2/debian/patches/series
--- gnome-shell-3.30.2/debian/patches/series	2019-04-28 00:13:04.000000000 +0100
+++ gnome-shell-3.30.2/debian/patches/series	2019-08-18 19:50:59.000000000 +0100
@@ -17,10 +17,12 @@
 messageTray-Re-enable-unredirection-when-banner-is-destro.patch
 dnd-Only-handle-touch-events-in-wayland.patch
 windowManager-Don-t-animate-touch-touchpad-gesture-in-ove.patch
+dialog-Really-set-ellipsize-mode-in-subtitle-and-body.patch
+osk-layouts-Fix-French-layout.patch
+boxpointer-Unset-the-sourceActor-on-destruction.patch
 power-Label-the-PENDING_CHARGE-state-as-Not-Charging.patch
 popupMenu-Respect-items-can-focus-property.patch
 keyboard-Make-items-in-language-menu-unfocusable.patch
-osk-layouts-Fix-French-layout.patch
 st-widget-Add-missing-g_return_val_if_fail.patch
 ShellApp-Use-g_signal_connect_object-for-window-signals.patch
 tweener-Save-handlers-on-target-and-remove-them-on-destro.patch
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.