diff --git a/.gitignore b/.gitignore index a1d7b3d..6407bc6 100644 --- a/.gitignore +++ b/.gitignore @@ -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 diff --git a/0001-Fix-default-keyboard-layout-input-source-choice-prio.patch b/0001-Fix-default-keyboard-layout-input-source-choice-prio.patch deleted file mode 100644 index b6406bd..0000000 --- a/0001-Fix-default-keyboard-layout-input-source-choice-prio.patch +++ /dev/null @@ -1,91 +0,0 @@ -From 9e0483079845da8d998e4fc58dab409d540817f6 Mon Sep 17 00:00:00 2001 -From: Adam Williamson -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 ---- - .../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 - diff --git a/0001-timezone-Don-t-set-timezone-if-tz-page-is-skipped.patch b/0001-timezone-Don-t-set-timezone-if-tz-page-is-skipped.patch deleted file mode 100644 index 635aae4..0000000 --- a/0001-timezone-Don-t-set-timezone-if-tz-page-is-skipped.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 599be8a1b9795b951807e62ff11d033bef6ea666 Mon Sep 17 00:00:00 2001 -From: Ray Strode -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 - diff --git a/gnome-initial-setup.spec b/gnome-initial-setup.spec index fa8f99c..6549a9c 100644 --- a/gnome-initial-setup.spec +++ b/gnome-initial-setup.spec @@ -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 - 3.37.3-1 +- Update to 3.37.3 + * Tue Jun 23 2020 Adam Williamson - 3.37.1-3 - Backport MR #89 to fix 'disabled' timezone page setting timezone diff --git a/honor-firstboot-disabled.patch b/honor-firstboot-disabled.patch index 9b36297..aff3038 100644 --- a/honor-firstboot-disabled.patch +++ b/honor-firstboot-disabled.patch @@ -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 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 diff --git a/sources b/sources index d71e4c7..c21c610 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (gnome-initial-setup-3.37.1.tar.xz) = f0e776d842015533bd975c1328ee67c7f7d80e04ea7b328e3deff9a4c4aae03b18866d2d44c34da58971026b72c190d518221e3821ec3adc1742fbe68b9d3a1f +SHA512 (gnome-initial-setup-3.37.3.tar.xz) = f04e1e24ea416cfd81dac9f545a25fdf13c85bad1600d61660a55e7cb7572bf8c8d397ffb0c6a92d90365b7224e16a115908b1ae13a74ec27740d7b2632235ab