Update to 3.37.3

This commit is contained in:
Kalev Lember 2020-07-20 19:33:46 +02:00
parent 5c282c346b
commit 8e5b62f4aa
6 changed files with 15 additions and 178 deletions

1
.gitignore vendored
View File

@ -75,3 +75,4 @@
/gnome-initial-setup-3.36.1.tar.xz
/gnome-initial-setup-3.36.2.tar.xz
/gnome-initial-setup-3.37.1.tar.xz
/gnome-initial-setup-3.37.3.tar.xz

View File

@ -1,91 +0,0 @@
From 9e0483079845da8d998e4fc58dab409d540817f6 Mon Sep 17 00:00:00 2001
From: Adam Williamson <awilliam@redhat.com>
Date: Mon, 4 May 2020 13:59:04 -0700
Subject: [PATCH] Fix default keyboard layout / input source choice priority
(#104)
This attempts to fix the problem I identified in #104 while also
not breaking for the case where there is no system source and
gnome_get_input_source_from_locale returns nothing. It should
implement the intended logic fully:
* If gnome-desktop gives us an input source, always preselect that
* If gnome-desktop gives us a keyboard layout and there's no
system sources, preselect the layout gnome-desktop gave us
* If there is a system source and we didn't get an input source
from gnome-desktop, preselect the system source
Signed-off-by: Adam Williamson <awilliam@redhat.com>
---
.../pages/keyboard/gis-keyboard-page.c | 43 +++++++++++++------
1 file changed, 29 insertions(+), 14 deletions(-)
diff --git a/gnome-initial-setup/pages/keyboard/gis-keyboard-page.c b/gnome-initial-setup/pages/keyboard/gis-keyboard-page.c
index fc139ee..a0c3d27 100644
--- a/gnome-initial-setup/pages/keyboard/gis-keyboard-page.c
+++ b/gnome-initial-setup/pages/keyboard/gis-keyboard-page.c
@@ -354,6 +354,8 @@ preselect_input_source (GisKeyboardPage *self)
const gchar *type;
const gchar *id;
gchar *language;
+ gboolean desktop_got_something;
+ gboolean desktop_got_input_method;
GisKeyboardPagePrivate *priv = gis_keyboard_page_get_instance_private (self);
GSList *sources = get_localed_input (priv->localed);
@@ -363,25 +365,38 @@ preselect_input_source (GisKeyboardPage *self)
g_slist_free_full (priv->system_sources, g_free);
priv->system_sources = g_slist_reverse (sources);
- /* For languages that use an input method, we will add both
- * system keyboard layout and the ibus input method. For
- * languages that use keyboard layout only, we will add only
- * system keyboard layout. Because the keyboard layout
- * information from gnome-desktop is not as accurate as system
- * keyboard layout, if gnome-desktop returns keyboard layout,
- * we ignore it and use system keyboard layout instead. If
- * gnome-desktop instead returns an ibus input method, we will
- * add both system keyboard layout and the ibus input method. */
+ /* We have two potential sources of information as to which
+ * source to pre-select here: the keyboard layout that is
+ * configured system-wide (read from priv->system_sources),
+ * and a gnome-desktop function that lets us look up a default
+ * input source for a given language. An important limitation
+ * here is that there is no system-wide configuration for
+ * input methods, so if the best choice for the language is an
+ * input method, we will only find it from the gnome-desktop
+ * lookup. But if both sources give us keyboard layouts, we
+ * want to prefer the one that's configured system-wide over
+ * the one from gnome-desktop. So we first do the gnome-desktop
+ * lookup, and keep track of what we got. If we got an input
+ * method, we preselect that, and we're done. If we got a
+ * keyboard layout, and there's no system-wide keyboard layout
+ * set, we preselect the layout we got from gnome-desktop. If
+ * we didn't get an input method from gnome-desktop and there
+ * is a system-wide keyboard layout set, we preselect that. If
+ * we got nothing from gnome-desktop and there's no system-wide
+ * keyboard layout set, we don't preselect anything. See:
+ * https://bugzilla.gnome.org/show_bug.cgi?id=776189 */
language = cc_common_language_get_current_language ();
- if (priv->system_sources) {
+ desktop_got_something = gnome_get_input_source_from_locale (language, &type, &id);
+ desktop_got_input_method = (desktop_got_something && g_strcmp0 (type, "xkb") != 0);
+
+ if (desktop_got_input_method || (!priv->system_sources && desktop_got_something)) {
+ cc_input_chooser_set_input (CC_INPUT_CHOOSER (priv->input_chooser),
+ id, type);
+ } else if (priv->system_sources) {
cc_input_chooser_set_input (CC_INPUT_CHOOSER (priv->input_chooser),
(const gchar *) priv->system_sources->data,
"xkb");
- } else if (gnome_get_input_source_from_locale (language, &type, &id) &&
- g_strcmp0 (type, "xkb") != 0) {
- cc_input_chooser_set_input (CC_INPUT_CHOOSER (priv->input_chooser),
- id, type);
}
g_free (language);
--
2.26.2

View File

@ -1,61 +0,0 @@
From 599be8a1b9795b951807e62ff11d033bef6ea666 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Tue, 23 Jun 2020 14:54:49 -0400
Subject: [PATCH] timezone: Don't set timezone if tz page is skipped
At the moment we still set the timezone from geoclue
even if the page is supposed to be skipped.
This commit defers setting up the geoclue proxy until the
page is added to the stack.
Fixes https://gitlab.gnome.org/GNOME/gnome-initial-setup/-/issues/106
---
.../pages/timezone/gis-timezone-page.c | 16 +++++++++++++---
1 file changed, 13 insertions(+), 3 deletions(-)
diff --git a/gnome-initial-setup/pages/timezone/gis-timezone-page.c b/gnome-initial-setup/pages/timezone/gis-timezone-page.c
index ca1088e..9c964c7 100644
--- a/gnome-initial-setup/pages/timezone/gis-timezone-page.c
+++ b/gnome-initial-setup/pages/timezone/gis-timezone-page.c
@@ -387,6 +387,17 @@ stop_geolocation (GisTimezonePage *page)
g_clear_object (&priv->geoclue_simple);
}
+static void
+page_added (GisTimezonePage *page)
+{
+ GisTimezonePagePrivate *priv = gis_timezone_page_get_instance_private (page);
+
+ if (priv->geoclue_cancellable == NULL) {
+ priv->geoclue_cancellable = g_cancellable_new ();
+ get_location_from_geoclue_async (page);
+ }
+}
+
static void
gis_timezone_page_constructed (GObject *object)
{
@@ -418,10 +429,7 @@ gis_timezone_page_constructed (GObject *object)
priv->clock_format = g_settings_get_enum (settings, CLOCK_FORMAT_KEY);
g_object_unref (settings);
- priv->geoclue_cancellable = g_cancellable_new ();
-
set_location (page, NULL);
- get_location_from_geoclue_async (page);
priv->search_entry_text_changed_id =
g_signal_connect (priv->search_entry, "changed",
@@ -432,6 +440,8 @@ gis_timezone_page_constructed (GObject *object)
G_CALLBACK (entry_mapped), page);
g_signal_connect (priv->map, "location-changed",
G_CALLBACK (map_location_changed), page);
+ g_signal_connect (GTK_WIDGET (page), "parent-set",
+ G_CALLBACK (page_added), NULL);
gtk_widget_show (GTK_WIDGET (page));
}
--
2.27.0

View File

@ -5,8 +5,8 @@
%global geoclue_version 2.3.1
Name: gnome-initial-setup
Version: 3.37.1
Release: 3%{?dist}
Version: 3.37.3
Release: 1%{?dist}
Summary: Bootstrapping your OS
License: GPLv2+
@ -14,13 +14,6 @@ URL: https://wiki.gnome.org/Design/OS/InitialSetup
Source0: https://download.gnome.org/sources/%{name}/3.37/%{name}-%{version}.tar.xz
Source1: vendor.conf
Patch0: honor-firstboot-disabled.patch
# Fix preselection of input methods
# https://gitlab.gnome.org/GNOME/gnome-initial-setup/-/merge_requests/83
Patch1: 0001-Fix-default-keyboard-layout-input-source-choice-prio.patch
# Fix supposedly-disabled timezone page trying to set timezone
# https://gitlab.gnome.org/GNOME/gnome-initial-setup/-/issues/106
# https://gitlab.gnome.org/GNOME/gnome-initial-setup/-/merge_requests/89
Patch2: 0001-timezone-Don-t-set-timezone-if-tz-page-is-skipped.patch
BuildRequires: meson
BuildRequires: gcc
@ -97,7 +90,7 @@ useradd -rM -d /run/gnome-initial-setup/ -s /sbin/nologin %{name} &>/dev/null ||
%files -f %{name}.lang
%license COPYING
%doc README
%doc README.md
%{_libexecdir}/gnome-initial-setup
%{_libexecdir}/gnome-initial-setup-copy-worker
%{_libexecdir}/gnome-welcome-tour
@ -115,6 +108,9 @@ useradd -rM -d /run/gnome-initial-setup/ -s /sbin/nologin %{name} &>/dev/null ||
%{_datadir}/gnome-initial-setup/vendor.conf
%changelog
* Mon Jul 20 2020 Kalev Lember <klember@redhat.com> - 3.37.3-1
- Update to 3.37.3
* Tue Jun 23 2020 Adam Williamson <awilliam@redhat.com> - 3.37.1-3
- Backport MR #89 to fix 'disabled' timezone page setting timezone

View File

@ -1,4 +1,4 @@
From 05246c872f8ecb88b7e00d1bc4dcfae994b54594 Mon Sep 17 00:00:00 2001
From 222ab284bb504c7d5b4160c0aa909a9dfc783dee Mon Sep 17 00:00:00 2001
From: Rui Matos <tiagomatos@gmail.com>
Date: Mon, 23 Jan 2017 19:42:44 +0100
Subject: [PATCH] Exit gracefully if we are disabled systemwide
@ -14,8 +14,8 @@ that but more might be added in the future.
https://bugzilla.gnome.org/show_bug.cgi?id=777707
---
gnome-initial-setup/gnome-initial-setup.c | 34 +++++++++++++++++++++++
meson.build | 2 ++
2 files changed, 36 insertions(+)
meson.build | 1 +
2 files changed, 35 insertions(+)
diff --git a/gnome-initial-setup/gnome-initial-setup.c b/gnome-initial-setup/gnome-initial-setup.c
index 12625b8..c770980 100644
@ -70,25 +70,17 @@ index 12625b8..c770980 100644
* dont have a normal user session and need to initialize
* the keyring manually so that we can pass the credentials
diff --git a/meson.build b/meson.build
index eba28f0..031ea1f 100644
index b83179b..4740f08 100644
--- a/meson.build
+++ b/meson.build
@@ -11,6 +11,7 @@ i18n = import('i18n')
prefix = get_option('prefix')
po_dir = join_paths(meson.source_root(), 'po')
+sysconf_dir = join_paths(prefix, get_option('sysconfdir'))
data_dir = join_paths(prefix, get_option('datadir'))
locale_dir = join_paths(prefix, get_option('localedir'))
libexec_dir = join_paths(prefix, get_option('libexecdir'))
@@ -27,6 +28,7 @@ conf.set_quoted('VENDOR_CONF_FILE', vendor_conf_file)
conf.set_quoted('GETTEXT_PACKAGE', meson.project_name())
@@ -24,6 +24,7 @@ conf.set_quoted('GETTEXT_PACKAGE', meson.project_name())
conf.set_quoted('GNOMELOCALEDIR', locale_dir)
conf.set_quoted('PKGDATADIR', pkgdata_dir)
conf.set_quoted('PKGSYSCONFDIR', pkgsysconf_dir)
+conf.set_quoted('SYSCONFDIR', sysconf_dir)
conf.set('SECRET_API_SUBJECT_TO_CHANGE', true)
conf.set_quoted('G_LOG_DOMAIN', 'InitialSetup')
conf.set('GLIB_VERSION_MIN_REQUIRED', 'GLIB_VERSION_2_64')
--
2.24.1
2.26.2

View File

@ -1 +1 @@
SHA512 (gnome-initial-setup-3.37.1.tar.xz) = f0e776d842015533bd975c1328ee67c7f7d80e04ea7b328e3deff9a4c4aae03b18866d2d44c34da58971026b72c190d518221e3821ec3adc1742fbe68b9d3a1f
SHA512 (gnome-initial-setup-3.37.3.tar.xz) = f04e1e24ea416cfd81dac9f545a25fdf13c85bad1600d61660a55e7cb7572bf8c8d397ffb0c6a92d90365b7224e16a115908b1ae13a74ec27740d7b2632235ab