Your message dated Tue, 21 Mar 2023 21:35:13 +0000
with message-id <e1pejdr-004yvl...@respighi.debian.org>
and subject line unblock gnome-initial-setup
has caused the Debian Bug report #1033249,
regarding unblock: gnome-initial-setup/43.2-6
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 ow...@bugs.debian.org
immediately.)


-- 
1033249: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1033249
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
User: release.debian....@packages.debian.org
Usertags: unblock
X-Debbugs-Cc: gnome-initial-se...@packages.debian.org
Control: affects -1 + src:gnome-initial-setup
Control: block -1 by 1029206

Please unblock package gnome-initial-setup. Note that this unblock
request is entangled with #1029206: in their current state, either they
will both migrate, or neither will.

[ Reason ]
* Fix the Privacy Policy link when asking whether to enable Mozilla
  Location Services (#1033228)
* Compatibility with a longer-term-supported WebKitGTK (see #1029206)

[ Impact ]
A minor code change in 43.2-5 is a blocker for #1029206.

Additionally, if not unblocked, the "privacy policy" hyperlink in
the Privacy tab will not do anything when gnome-initial-setup is run
automatically on a system that has no user accounts yet. This doesn't
normally happen on Debian systems, because d-i creates a user account,
but it can happen if d-i was not used or if the d-i-created user account
was deleted. (#1033228)

The "privacy policy" link not working seems like something that would
make us look bad.

[ Tests ]
Tested manually with the steps in #1033228. Briefly: deleted the user
account created by d-i, then rebooted and went through initial setup as
if for the first time, then re-ran initial setup as the logged-in user
to simulate what would normally happen after a d-i installation.

The upstream change for #1033228 includes a corresponding change for a
UI toggle for whether to enable automatic crash reporting (Fedora's abrt).
In practice this widget is not visible in Debian, because we don't have
abrt, so that part is untested - but it's very similar to the UI toggle
for location services.

[ Risks ]
The upstream changes to fix #1033228 are mostly declarative and I would
say they are low risk.

The upstream changes to fix FTBFS with the new WebKitGTK from #1029206 are
very simple.

If #1029206 can't happen for some reason, then this version will be unable
to migrate. A contingency plan is to revert the build-dependency change.
The patch applied for #1029206 is unnecessary but harmless if we revert to
the old WebKitGTK.

[ Checklist ]
  [x] all changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in testing

unblock gnome-initial-setup/43.2-6
diffstat for gnome-initial-setup-43.2 gnome-initial-setup-43.2

 debian/changelog                                                 |   28 ++
 debian/control                                                   |    2 
 debian/control.in                                                |    2 
 debian/patches/Update-for-removal-of-WebKitGTK-sandbox-API.patch |   26 ++
 debian/patches/privacy-Move-subtitles-to-separate-labels.patch   |  121 ++++++++++
 debian/patches/series                                            |    2 
 gnome-initial-setup/gis-driver.c                                 |    2 
 gnome-initial-setup/pages/privacy/gis-privacy-page.c             |    6 
 gnome-initial-setup/pages/privacy/gis-privacy-page.ui            |   31 ++
 9 files changed, 214 insertions(+), 6 deletions(-)

diff -Nru gnome-initial-setup-43.2/debian/changelog gnome-initial-setup-43.2/debian/changelog
--- gnome-initial-setup-43.2/debian/changelog	2023-03-06 23:46:19.000000000 +0000
+++ gnome-initial-setup-43.2/debian/changelog	2023-03-20 15:27:27.000000000 +0000
@@ -1,3 +1,31 @@
+gnome-initial-setup (43.2-6) unstable; urgency=medium
+
+  * Team upload
+  * d/p/privacy-Move-subtitles-to-separate-labels.patch:
+    Fix Mozilla Location Services privacy policy link in kiosk mode.
+    The privacy policy links on the Privacy page are meant to be overridden
+    to open in an embedded (WebKitGTK-based) web browser widget instead of
+    an external web browser, but a regression in the port to GTK 4 between
+    GNOME 42 and 43 caused this behaviour to break.
+    In existing-user mode (run on the first GNOME login for a new user
+    account), the link would previously have opened in the default web
+    browser (normally Firefox), which is harmless but was not the
+    intended UX.
+    In new-user mode (when no user accounts exist), Initial Setup runs in a
+    captive "kiosk mode" to create the first user account. In this mode, the
+    link would previously not do anything. A mitigation is that this failure
+    mode is rarely seen in Debian, because the installer normally creates a
+    user account. (Closes: #1033228)
+
+ -- Simon McVittie <s...@debian.org>  Mon, 20 Mar 2023 15:27:27 +0000
+
+gnome-initial-setup (43.2-5) unstable; urgency=medium
+
+  * Build against webkitgtk 6.0 instead of 5.0
+  * Cherry-pick a build fix for latest webkitgtk
+
+ -- Jeremy Bicha <jbi...@ubuntu.com>  Wed, 15 Mar 2023 20:18:52 -0400
+
 gnome-initial-setup (43.2-4) unstable; urgency=medium
 
   * Team upload
diff -Nru gnome-initial-setup-43.2/debian/control gnome-initial-setup-43.2/debian/control
--- gnome-initial-setup-43.2/debian/control	2023-03-06 23:46:19.000000000 +0000
+++ gnome-initial-setup-43.2/debian/control	2023-03-20 15:27:27.000000000 +0000
@@ -36,7 +36,7 @@
                librest-dev (>= 0.9.1),
                libsecret-1-dev (>= 0.18.8),
                libsystemd-dev [linux-any],
-               libwebkit2gtk-5.0-dev,
+               libwebkitgtk-6.0-dev,
                libxml2-utils,
                meson (>= 0.50.0),
                systemd ( >= 242),
diff -Nru gnome-initial-setup-43.2/debian/control.in gnome-initial-setup-43.2/debian/control.in
--- gnome-initial-setup-43.2/debian/control.in	2023-03-06 23:46:19.000000000 +0000
+++ gnome-initial-setup-43.2/debian/control.in	2023-03-20 15:27:27.000000000 +0000
@@ -32,7 +32,7 @@
                librest-dev (>= 0.9.1),
                libsecret-1-dev (>= 0.18.8),
                libsystemd-dev [linux-any],
-               libwebkit2gtk-5.0-dev,
+               libwebkitgtk-6.0-dev,
                libxml2-utils,
                meson (>= 0.50.0),
                systemd ( >= 242),
diff -Nru gnome-initial-setup-43.2/debian/patches/privacy-Move-subtitles-to-separate-labels.patch gnome-initial-setup-43.2/debian/patches/privacy-Move-subtitles-to-separate-labels.patch
--- gnome-initial-setup-43.2/debian/patches/privacy-Move-subtitles-to-separate-labels.patch	1970-01-01 01:00:00.000000000 +0100
+++ gnome-initial-setup-43.2/debian/patches/privacy-Move-subtitles-to-separate-labels.patch	2023-03-20 15:27:27.000000000 +0000
@@ -0,0 +1,121 @@
+From: Georges Basile Stavracas Neto <georges.stavra...@gmail.com>
+Date: Tue, 14 Mar 2023 15:29:45 -0300
+Subject: privacy: Move subtitles to separate labels
+
+Prior to 71e3e2b4, the subtitles were contained into separate
+GtkLabels connected to the the 'activate-link' signal. That commit
+moved these labels to inside the corresponding AdwActionRows, but
+did not account for the 'activate-link' signal.
+
+To the best of my knowledgethere is currently no way to properly
+support this with libadwaita rows. In addition to that, the latest
+mockup [1] suggest placing these labels beneath the listbox anyway.
+
+Move the subtitle labels to outside the action row, into a separate
+labels beneath the listbox. Connect to the 'activate-link' signal
+again.
+
+[1] https://gitlab.gnome.org/Teams/Design/os-mockups/-/raw/master/initial-setup/initial-setup.png
+
+(cherry picked from commit d230f18dc50bc40977b613845c8d50d1327cacf4)
+
+Bug: https://gitlab.gnome.org/GNOME/gnome-initial-setup/-/issues/181
+Bug-Debian: https://bugs.debian.org/1033228
+Forwarded: https://gitlab.gnome.org/GNOME/gnome-initial-setup/-/merge_requests/196
+---
+ .../pages/privacy/gis-privacy-page.c               |  6 ++---
+ .../pages/privacy/gis-privacy-page.ui              | 31 +++++++++++++++++++++-
+ 2 files changed, 33 insertions(+), 4 deletions(-)
+
+diff --git a/gnome-initial-setup/pages/privacy/gis-privacy-page.c b/gnome-initial-setup/pages/privacy/gis-privacy-page.c
+index 3632142..21e5d48 100644
+--- a/gnome-initial-setup/pages/privacy/gis-privacy-page.c
++++ b/gnome-initial-setup/pages/privacy/gis-privacy-page.c
+@@ -42,7 +42,7 @@ struct _GisPrivacyPagePrivate
+ {
+   GtkWidget *location_switch;
+   GtkWidget *reporting_group;
+-  GtkWidget *reporting_row;
++  GtkWidget *reporting_label;
+   GtkWidget *reporting_switch;
+   GSettings *location_settings;
+   GSettings *privacy_settings;
+@@ -82,7 +82,7 @@ update_os_data (GisPrivacyPage *page)
+       subtitle = g_strdup_printf (_("Sends technical reports that have personal information automatically "
+                                     "removed. Data is collected by %s."), name);
+     }
+-  adw_action_row_set_subtitle (ADW_ACTION_ROW (priv->reporting_row), subtitle);
++  gtk_label_set_markup (GTK_LABEL (priv->reporting_label), subtitle);
+ }
+ 
+ static void
+@@ -244,7 +244,7 @@ gis_privacy_page_class_init (GisPrivacyPageClass *klass)
+   gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (klass), "/org/gnome/initial-setup/gis-privacy-page.ui");
+   gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (klass), GisPrivacyPage, location_switch);
+   gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (klass), GisPrivacyPage, reporting_group);
+-  gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (klass), GisPrivacyPage, reporting_row);
++  gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (klass), GisPrivacyPage, reporting_label);
+   gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (klass), GisPrivacyPage, reporting_switch);
+   gtk_widget_class_bind_template_callback (GTK_WIDGET_CLASS (klass), activate_link);
+ 
+diff --git a/gnome-initial-setup/pages/privacy/gis-privacy-page.ui b/gnome-initial-setup/pages/privacy/gis-privacy-page.ui
+index 84ea8e3..6c48d5f 100644
+--- a/gnome-initial-setup/pages/privacy/gis-privacy-page.ui
++++ b/gnome-initial-setup/pages/privacy/gis-privacy-page.ui
+@@ -25,7 +25,6 @@
+               <object class="AdwActionRow">
+                 <property name="use-markup">True</property>
+                 <property name="title" translatable="yes">Location Services</property>
+-                <property name="subtitle" translatable="yes">Allows applications to determine your geographical location. Uses the Mozilla Location Service (&lt;a href='https://location.services.mozilla.com/privacy'&gt;privacy policy&lt;/a&gt;).</property>
+                 <property name="activatable-widget">location_switch</property>
+                 <child>
+                   <object class="GtkSwitch" id="location_switch">
+@@ -34,11 +33,27 @@
+                 </child>
+               </object>
+             </child>
++            <child>
++              <object class="GtkLabel">
++                <property name="margin-top">12</property>
++                <property name="wrap">True</property>
++                <property name="wrap-mode">word-char</property>
++                <property name="use-markup">True</property>
++                <property name="ellipsize">none</property>
++                <property name="xalign">0.0</property>
++                <property name="label" translatable="yes">Allows applications to determine your geographical location. Uses the Mozilla Location Service (&lt;a href='https://location.services.mozilla.com/privacy'&gt;privacy policy&lt;/a&gt;).</property>
++                <signal name="activate-link" handler="activate_link" object="GisPrivacyPage" swapped="no" />
++                <style>
++                  <class name="caption" />
++                </style>
++              </object>
++            </child>
+           </object>
+         </child>
+ 
+         <child>
+           <object class="AdwPreferencesGroup" id="reporting_group">
++            <property name="margin-top">12</property>
+             <child>
+               <object class="AdwActionRow" id="reporting_row">
+                 <property name="title" translatable="yes">Automatic Problem Reporting</property>
+@@ -50,6 +65,20 @@
+                 </child>
+               </object>
+             </child>
++            <child>
++              <object class="GtkLabel" id="reporting_label">
++                <property name="margin-top">12</property>
++                <property name="wrap">True</property>
++                <property name="wrap-mode">word-char</property>
++                <property name="use-markup">True</property>
++                <property name="ellipsize">none</property>
++                <property name="xalign">0.0</property>
++                <signal name="activate-link" handler="activate_link" object="GisPrivacyPage" swapped="no" />
++                <style>
++                  <class name="caption" />
++                </style>
++              </object>
++            </child>
+           </object>
+         </child>
+ 
diff -Nru gnome-initial-setup-43.2/debian/patches/series gnome-initial-setup-43.2/debian/patches/series
--- gnome-initial-setup-43.2/debian/patches/series	2023-03-06 23:46:19.000000000 +0000
+++ gnome-initial-setup-43.2/debian/patches/series	2023-03-20 15:27:27.000000000 +0000
@@ -4,3 +4,5 @@
 keyboard-Update-filter-and-sort-when-the-display-name-cha.patch
 driver-Set-a-non-trivial-window-title.patch
 reenable-existing-user-mode.patch
+Update-for-removal-of-WebKitGTK-sandbox-API.patch
+privacy-Move-subtitles-to-separate-labels.patch
diff -Nru gnome-initial-setup-43.2/debian/patches/Update-for-removal-of-WebKitGTK-sandbox-API.patch gnome-initial-setup-43.2/debian/patches/Update-for-removal-of-WebKitGTK-sandbox-API.patch
--- gnome-initial-setup-43.2/debian/patches/Update-for-removal-of-WebKitGTK-sandbox-API.patch	1970-01-01 01:00:00.000000000 +0100
+++ gnome-initial-setup-43.2/debian/patches/Update-for-removal-of-WebKitGTK-sandbox-API.patch	2023-03-20 15:27:27.000000000 +0000
@@ -0,0 +1,26 @@
+From: Michael Catanzaro <mcatanz...@redhat.com>
+Date: Thu, 19 Jan 2023 20:07:40 -0600
+Subject: Update for removal of WebKitGTK sandbox API
+
+WebKitGTK 2.39.5 contains an ABI break. The sandbox is now mandatory, so
+the API to enable/disable it is gone.
+
+(cherry picked from commit 1a8f9ecfceb2e3106910b7bf7987f0fc75886670)
+---
+ gnome-initial-setup/gis-driver.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/gnome-initial-setup/gis-driver.c b/gnome-initial-setup/gis-driver.c
+index 8459efa..574887c 100644
+--- a/gnome-initial-setup/gis-driver.c
++++ b/gnome-initial-setup/gis-driver.c
+@@ -788,7 +788,9 @@ gis_driver_startup (GApplication *app)
+ 
+   G_APPLICATION_CLASS (gis_driver_parent_class)->startup (app);
+ 
++#if !WEBKIT_CHECK_VERSION(2, 39, 5)
+   webkit_web_context_set_sandbox_enabled (context, TRUE);
++#endif
+ 
+   if (driver->mode == GIS_DRIVER_MODE_NEW_USER)
+     connect_to_gdm (driver);
diff -Nru gnome-initial-setup-43.2/gnome-initial-setup/gis-driver.c gnome-initial-setup-43.2/gnome-initial-setup/gis-driver.c
--- gnome-initial-setup-43.2/gnome-initial-setup/gis-driver.c	2023-03-20 16:33:29.000000000 +0000
+++ gnome-initial-setup-43.2/gnome-initial-setup/gis-driver.c	2023-03-20 16:33:29.000000000 +0000
@@ -788,7 +788,9 @@
 
   G_APPLICATION_CLASS (gis_driver_parent_class)->startup (app);
 
+#if !WEBKIT_CHECK_VERSION(2, 39, 5)
   webkit_web_context_set_sandbox_enabled (context, TRUE);
+#endif
 
   if (driver->mode == GIS_DRIVER_MODE_NEW_USER)
     connect_to_gdm (driver);
diff -Nru gnome-initial-setup-43.2/gnome-initial-setup/pages/privacy/gis-privacy-page.c gnome-initial-setup-43.2/gnome-initial-setup/pages/privacy/gis-privacy-page.c
--- gnome-initial-setup-43.2/gnome-initial-setup/pages/privacy/gis-privacy-page.c	2022-12-02 15:11:34.000000000 +0000
+++ gnome-initial-setup-43.2/gnome-initial-setup/pages/privacy/gis-privacy-page.c	2023-03-20 16:33:29.000000000 +0000
@@ -42,7 +42,7 @@
 {
   GtkWidget *location_switch;
   GtkWidget *reporting_group;
-  GtkWidget *reporting_row;
+  GtkWidget *reporting_label;
   GtkWidget *reporting_switch;
   GSettings *location_settings;
   GSettings *privacy_settings;
@@ -82,7 +82,7 @@
       subtitle = g_strdup_printf (_("Sends technical reports that have personal information automatically "
                                     "removed. Data is collected by %s."), name);
     }
-  adw_action_row_set_subtitle (ADW_ACTION_ROW (priv->reporting_row), subtitle);
+  gtk_label_set_markup (GTK_LABEL (priv->reporting_label), subtitle);
 }
 
 static void
@@ -244,7 +244,7 @@
   gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (klass), "/org/gnome/initial-setup/gis-privacy-page.ui");
   gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (klass), GisPrivacyPage, location_switch);
   gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (klass), GisPrivacyPage, reporting_group);
-  gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (klass), GisPrivacyPage, reporting_row);
+  gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (klass), GisPrivacyPage, reporting_label);
   gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (klass), GisPrivacyPage, reporting_switch);
   gtk_widget_class_bind_template_callback (GTK_WIDGET_CLASS (klass), activate_link);
 
diff -Nru gnome-initial-setup-43.2/gnome-initial-setup/pages/privacy/gis-privacy-page.ui gnome-initial-setup-43.2/gnome-initial-setup/pages/privacy/gis-privacy-page.ui
--- gnome-initial-setup-43.2/gnome-initial-setup/pages/privacy/gis-privacy-page.ui	2022-12-02 15:11:34.000000000 +0000
+++ gnome-initial-setup-43.2/gnome-initial-setup/pages/privacy/gis-privacy-page.ui	2023-03-20 16:33:29.000000000 +0000
@@ -25,7 +25,6 @@
               <object class="AdwActionRow">
                 <property name="use-markup">True</property>
                 <property name="title" translatable="yes">Location Services</property>
-                <property name="subtitle" translatable="yes">Allows applications to determine your geographical location. Uses the Mozilla Location Service (&lt;a href='https://location.services.mozilla.com/privacy'&gt;privacy policy&lt;/a&gt;).</property>
                 <property name="activatable-widget">location_switch</property>
                 <child>
                   <object class="GtkSwitch" id="location_switch">
@@ -34,11 +33,27 @@
                 </child>
               </object>
             </child>
+            <child>
+              <object class="GtkLabel">
+                <property name="margin-top">12</property>
+                <property name="wrap">True</property>
+                <property name="wrap-mode">word-char</property>
+                <property name="use-markup">True</property>
+                <property name="ellipsize">none</property>
+                <property name="xalign">0.0</property>
+                <property name="label" translatable="yes">Allows applications to determine your geographical location. Uses the Mozilla Location Service (&lt;a href='https://location.services.mozilla.com/privacy'&gt;privacy policy&lt;/a&gt;).</property>
+                <signal name="activate-link" handler="activate_link" object="GisPrivacyPage" swapped="no" />
+                <style>
+                  <class name="caption" />
+                </style>
+              </object>
+            </child>
           </object>
         </child>
 
         <child>
           <object class="AdwPreferencesGroup" id="reporting_group">
+            <property name="margin-top">12</property>
             <child>
               <object class="AdwActionRow" id="reporting_row">
                 <property name="title" translatable="yes">Automatic Problem Reporting</property>
@@ -50,6 +65,20 @@
                 </child>
               </object>
             </child>
+            <child>
+              <object class="GtkLabel" id="reporting_label">
+                <property name="margin-top">12</property>
+                <property name="wrap">True</property>
+                <property name="wrap-mode">word-char</property>
+                <property name="use-markup">True</property>
+                <property name="ellipsize">none</property>
+                <property name="xalign">0.0</property>
+                <signal name="activate-link" handler="activate_link" object="GisPrivacyPage" swapped="no" />
+                <style>
+                  <class name="caption" />
+                </style>
+              </object>
+            </child>
           </object>
         </child>
 

--- End Message ---
--- Begin Message ---
Unblocked.

--- End Message ---

Reply via email to