import gnome-shell-3.32.2-38.el8
This commit is contained in:
		
							parent
							
								
									8eb994b323
								
							
						
					
					
						commit
						35adc05228
					
				| @ -1,7 +1,7 @@ | ||||
| From f03c6a870820543901331d1920b7b3e423813d2c Mon Sep 17 00:00:00 2001 | ||||
| From 6e80934456f0b4cc48da6a7201700dc4386a3474 Mon Sep 17 00:00:00 2001 | ||||
| From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org> | ||||
| Date: Thu, 27 Feb 2020 13:46:44 -0800 | ||||
| Subject: [PATCH 1/6] environment: reduce calls to g_time_zone_new_local() | ||||
| Subject: [PATCH] environment: reduce calls to g_time_zone_new_local() | ||||
| 
 | ||||
| Creating a new GTimeZone for the local timezone can be quite expensive if | ||||
| done repeatedly. It requires an open(), mmap(), and parsing of | ||||
| @ -19,12 +19,12 @@ Signed-off-by: Christian Hergert <chergert@redhat.com> | ||||
|  1 file changed, 21 insertions(+), 1 deletion(-) | ||||
| 
 | ||||
| diff --git a/js/ui/environment.js b/js/ui/environment.js
 | ||||
| index e22ec7402..f3f2d17c7 100644
 | ||||
| index 9c125d3eb..809b48e45 100644
 | ||||
| --- a/js/ui/environment.js
 | ||||
| +++ b/js/ui/environment.js
 | ||||
| @@ -11,6 +11,9 @@ imports.gi.versions.TelepathyLogger = '0.2';
 | ||||
|   | ||||
|  const { Clutter, GLib, Shell, St } = imports.gi; | ||||
|  const { Clutter, Gio, GLib, Shell, St } = imports.gi; | ||||
|  const Gettext = imports.gettext; | ||||
| +const System = imports.system;
 | ||||
| +
 | ||||
| @ -32,7 +32,7 @@ index e22ec7402..f3f2d17c7 100644 | ||||
|   | ||||
|  // We can't import shell JS modules yet, because they may have | ||||
|  // variable initializations, etc, that depend on init() already having | ||||
| @@ -110,9 +113,26 @@ function init() {
 | ||||
| @@ -117,9 +120,26 @@ function init() {
 | ||||
|          } | ||||
|      }; | ||||
|   | ||||
| @ -61,5 +61,5 @@ index e22ec7402..f3f2d17c7 100644 | ||||
|   | ||||
|      let slowdownEnv = GLib.getenv('GNOME_SHELL_SLOWDOWN_FACTOR'); | ||||
| -- 
 | ||||
| 2.26.2 | ||||
| 2.31.1 | ||||
| 
 | ||||
|  | ||||
| @ -0,0 +1,36 @@ | ||||
| From 7a264550c5f3a98b1786b1a75cff01cde1d084eb Mon Sep 17 00:00:00 2001 | ||||
| From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org> | ||||
| Date: Thu, 29 Jul 2021 17:17:43 +0200 | ||||
| Subject: [PATCH 5/5] shellEntry: Only mask text in password entries | ||||
| 
 | ||||
| When "Show Text" is locked down, we not only remove the corresponding | ||||
| menu item, but also make sure the password is masked. | ||||
| 
 | ||||
| Except that the current code is too eager, and masks the text in | ||||
| any entries. | ||||
| ---
 | ||||
|  js/ui/shellEntry.js | 4 +++- | ||||
|  1 file changed, 3 insertions(+), 1 deletion(-) | ||||
| 
 | ||||
| diff --git a/js/ui/shellEntry.js b/js/ui/shellEntry.js
 | ||||
| index c45e4545a..64b389050 100644
 | ||||
| --- a/js/ui/shellEntry.js
 | ||||
| +++ b/js/ui/shellEntry.js
 | ||||
| @@ -55,11 +55,13 @@ var EntryMenu = class extends PopupMenu.PopupMenu {
 | ||||
|                  this._passwordItem.destroy(); | ||||
|                  this._passwordItem = null; | ||||
|              } | ||||
| -            this._entry.clutter_text.set_password_char('\u25cf');
 | ||||
|          } else if (this.isPassword && !passwordDisabled) { | ||||
|              if (!this._passwordItem) | ||||
|                  this._makePasswordItem(); | ||||
|          } | ||||
| +
 | ||||
| +        if (this.isPassword && passwordDisabled)
 | ||||
| +            this._entry.clutter_text.set_password_char('\u25cf');
 | ||||
|      } | ||||
|   | ||||
|      get isPassword() { | ||||
| -- 
 | ||||
| 2.31.1 | ||||
| 
 | ||||
							
								
								
									
										279
									
								
								SOURCES/warn-less.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										279
									
								
								SOURCES/warn-less.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,279 @@ | ||||
| From 37bbb9175bbd061d4ae14e86c35e4211602dbeaa Mon Sep 17 00:00:00 2001 | ||||
| From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org> | ||||
| Date: Mon, 23 Mar 2020 17:57:38 +0100 | ||||
| Subject: [PATCH 1/4] shell/util: Add touch_file_async() helper | ||||
| 
 | ||||
| Add a small helper method to asynchronously "touch" a file and return | ||||
| whether the file was created or not. | ||||
| 
 | ||||
| As g_file_make_directory_with_parents() doesn't have an async variant, | ||||
| we need a C helper to make the entire operation non-blocking. | ||||
| 
 | ||||
| https://gitlab.gnome.org/GNOME/gnome-shell/issues/2432 | ||||
| ---
 | ||||
|  src/shell-util.c | 62 ++++++++++++++++++++++++++++++++++++++++++++++++ | ||||
|  src/shell-util.h |  7 ++++++ | ||||
|  2 files changed, 69 insertions(+) | ||||
| 
 | ||||
| diff --git a/src/shell-util.c b/src/shell-util.c
 | ||||
| index fa3fc08c8..eec67f3d7 100644
 | ||||
| --- a/src/shell-util.c
 | ||||
| +++ b/src/shell-util.c
 | ||||
| @@ -323,6 +323,68 @@ shell_get_file_contents_utf8_sync (const char *path,
 | ||||
|    return contents; | ||||
|  } | ||||
|   | ||||
| +static void
 | ||||
| +touch_file (GTask        *task,
 | ||||
| +            gpointer      object,
 | ||||
| +            gpointer      task_data,
 | ||||
| +            GCancellable *cancellable)
 | ||||
| +{
 | ||||
| +  GFile *file = object;
 | ||||
| +  g_autoptr (GFile) parent = NULL;
 | ||||
| +  g_autoptr (GFileOutputStream) stream = NULL;
 | ||||
| +  GError *error = NULL;
 | ||||
| +
 | ||||
| +  parent = g_file_get_parent (file);
 | ||||
| +  g_file_make_directory_with_parents (parent, cancellable, &error);
 | ||||
| +
 | ||||
| +  if (error && !g_error_matches (error, G_IO_ERROR, G_IO_ERROR_EXISTS))
 | ||||
| +    {
 | ||||
| +      g_task_return_error (task, error);
 | ||||
| +      return;
 | ||||
| +    }
 | ||||
| +  g_clear_error (&error);
 | ||||
| +
 | ||||
| +  stream = g_file_create (file, G_FILE_CREATE_NONE, cancellable, &error);
 | ||||
| +
 | ||||
| +  if (error && !g_error_matches (error, G_IO_ERROR, G_IO_ERROR_EXISTS))
 | ||||
| +    {
 | ||||
| +      g_task_return_error (task, error);
 | ||||
| +      return;
 | ||||
| +    }
 | ||||
| +  g_clear_error (&error);
 | ||||
| +
 | ||||
| +  if (stream)
 | ||||
| +    g_output_stream_close (G_OUTPUT_STREAM (stream), NULL, NULL);
 | ||||
| +
 | ||||
| +  g_task_return_boolean (task, stream != NULL);
 | ||||
| +}
 | ||||
| +
 | ||||
| +void
 | ||||
| +shell_util_touch_file_async (GFile               *file,
 | ||||
| +                             GAsyncReadyCallback  callback,
 | ||||
| +                             gpointer             user_data)
 | ||||
| +{
 | ||||
| +  g_autoptr (GTask) task = NULL;
 | ||||
| +
 | ||||
| +  g_return_if_fail (G_IS_FILE (file));
 | ||||
| +
 | ||||
| +  task = g_task_new (file, NULL, callback, user_data);
 | ||||
| +  g_task_set_source_tag (task, shell_util_touch_file_async);
 | ||||
| +
 | ||||
| +  g_task_run_in_thread (task, touch_file);
 | ||||
| +}
 | ||||
| +
 | ||||
| +gboolean
 | ||||
| +shell_util_touch_file_finish (GFile         *file,
 | ||||
| +                              GAsyncResult  *res,
 | ||||
| +                              GError       **error)
 | ||||
| +{
 | ||||
| +  g_return_val_if_fail (G_IS_FILE (file), FALSE);
 | ||||
| +  g_return_val_if_fail (G_IS_TASK (res), FALSE);
 | ||||
| +
 | ||||
| +  return g_task_propagate_boolean (G_TASK (res), error);
 | ||||
| +}
 | ||||
| +
 | ||||
|  /** | ||||
|   * shell_util_wifexited: | ||||
|   * @status: the status returned by wait() or waitpid() | ||||
| diff --git a/src/shell-util.h b/src/shell-util.h
 | ||||
| index 02b8404e9..bedf516ba 100644
 | ||||
| --- a/src/shell-util.h
 | ||||
| +++ b/src/shell-util.h
 | ||||
| @@ -32,6 +32,13 @@ gboolean shell_write_string_to_stream          (GOutputStream    *stream,
 | ||||
|  char    *shell_get_file_contents_utf8_sync     (const char       *path, | ||||
|                                                  GError          **error); | ||||
|   | ||||
| +void     shell_util_touch_file_async           (GFile               *file,
 | ||||
| +                                                GAsyncReadyCallback  callback,
 | ||||
| +                                                gpointer             user_data);
 | ||||
| +gboolean shell_util_touch_file_finish          (GFile               *file,
 | ||||
| +                                                GAsyncResult        *res,
 | ||||
| +                                                GError             **error);
 | ||||
| +
 | ||||
|  gboolean shell_util_wifexited                  (int               status, | ||||
|                                                  int              *exit); | ||||
|   | ||||
| -- 
 | ||||
| 2.31.1 | ||||
| 
 | ||||
| 
 | ||||
| From 1f75494bea1ef7017d50d77cf5c7ad6b9668d4f5 Mon Sep 17 00:00:00 2001 | ||||
| From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org> | ||||
| Date: Mon, 23 Mar 2020 18:00:27 +0100 | ||||
| Subject: [PATCH 2/4] environment: Hook up touch_file to GFile prototype | ||||
| 
 | ||||
| We don't usually extend introspected types with our own API, but in | ||||
| this case it's too tempting to make the helper functions usable with | ||||
| Gio._promisify() ... | ||||
| 
 | ||||
| https://gitlab.gnome.org/GNOME/gnome-shell/issues/2432 | ||||
| ---
 | ||||
|  js/ui/environment.js | 9 ++++++++- | ||||
|  1 file changed, 8 insertions(+), 1 deletion(-) | ||||
| 
 | ||||
| diff --git a/js/ui/environment.js b/js/ui/environment.js
 | ||||
| index e22ec7402..9c125d3eb 100644
 | ||||
| --- a/js/ui/environment.js
 | ||||
| +++ b/js/ui/environment.js
 | ||||
| @@ -9,7 +9,7 @@ imports.gi.versions.Gtk = '3.0';
 | ||||
|  imports.gi.versions.TelepathyGLib = '0.12'; | ||||
|  imports.gi.versions.TelepathyLogger = '0.2'; | ||||
|   | ||||
| -const { Clutter, GLib, Shell, St } = imports.gi;
 | ||||
| +const { Clutter, Gio, GLib, Shell, St } = imports.gi;
 | ||||
|  const Gettext = imports.gettext; | ||||
|   | ||||
|  // We can't import shell JS modules yet, because they may have | ||||
| @@ -97,6 +97,13 @@ function init() {
 | ||||
|          return St.describe_actor(this); | ||||
|      }; | ||||
|   | ||||
| +    Gio._LocalFilePrototype.touch_async = function (callback) {
 | ||||
| +        Shell.util_touch_file_async(this, callback);
 | ||||
| +    };
 | ||||
| +    Gio._LocalFilePrototype.touch_finish = function (result) {
 | ||||
| +        return Shell.util_touch_file_finish(this, result);
 | ||||
| +    };
 | ||||
| +
 | ||||
|      let origToString = Object.prototype.toString; | ||||
|      Object.prototype.toString = function() { | ||||
|          let base = origToString.call(this); | ||||
| -- 
 | ||||
| 2.31.1 | ||||
| 
 | ||||
| 
 | ||||
| From 4bef23c7176a43f4dcf146e70bbb8aaa701b8cd2 Mon Sep 17 00:00:00 2001 | ||||
| From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org> | ||||
| Date: Fri, 20 Mar 2020 12:42:04 +0100 | ||||
| Subject: [PATCH 3/4] main: Do not warn about missing GDM on each login | ||||
| 
 | ||||
| We now warn on startup if screen locking isn't available, however for | ||||
| users who choose not to use GDM or logind, repeating the warning on | ||||
| each login is more annoying than helpful. | ||||
| 
 | ||||
| Instead, limit the warning to the first login on which the screen lock | ||||
| became unavailable. That way the notification will still serve the | ||||
| intended purpose of informing the user, but without being perceived | ||||
| as nagging. | ||||
| 
 | ||||
| https://gitlab.gnome.org/GNOME/gnome-shell/issues/2432 | ||||
| ---
 | ||||
|  js/ui/main.js | 36 +++++++++++++++++++++++++++++++----- | ||||
|  1 file changed, 31 insertions(+), 5 deletions(-) | ||||
| 
 | ||||
| diff --git a/js/ui/main.js b/js/ui/main.js
 | ||||
| index 1203b3c39..a3fad158c 100644
 | ||||
| --- a/js/ui/main.js
 | ||||
| +++ b/js/ui/main.js
 | ||||
| @@ -81,6 +81,9 @@ let _a11ySettings = null;
 | ||||
|  let _themeResource = null; | ||||
|  let _oskResource = null; | ||||
|   | ||||
| +Gio._promisify(Gio._LocalFilePrototype, 'delete_async', 'delete_finish');
 | ||||
| +Gio._promisify(Gio._LocalFilePrototype, 'touch_async', 'touch_finish');
 | ||||
| +
 | ||||
|  function _sessionUpdated() { | ||||
|      if (sessionMode.isPrimary) | ||||
|          _loadDefaultStylesheet(); | ||||
| @@ -242,11 +245,8 @@ function _initializeUI() {
 | ||||
|          } | ||||
|   | ||||
|          if (sessionMode.currentMode !== 'gdm' && | ||||
| -            sessionMode.currentMode !== 'initial-setup' &&
 | ||||
| -            screenShield === null) {
 | ||||
| -            notify(_('Screen Lock disabled'),
 | ||||
| -                   _('Screen Locking requires the GNOME display manager.'));
 | ||||
| -        }
 | ||||
| +            sessionMode.currentMode !== 'initial-setup')
 | ||||
| +            _handleLockScreenWarning();
 | ||||
|   | ||||
|          let perfModuleName = GLib.getenv("SHELL_PERF_MODULE"); | ||||
|          if (perfModuleName) { | ||||
| @@ -257,6 +257,32 @@ function _initializeUI() {
 | ||||
|      }); | ||||
|  } | ||||
|   | ||||
| +async function _handleLockScreenWarning() {
 | ||||
| +    const path = '%s/lock-warning-shown'.format(global.userdatadir);
 | ||||
| +    const file = Gio.File.new_for_path(path);
 | ||||
| +
 | ||||
| +    const hasLockScreen = screenShield !== null;
 | ||||
| +    if (hasLockScreen) {
 | ||||
| +        try {
 | ||||
| +            await file.delete_async(0, null);
 | ||||
| +        } catch (e) {
 | ||||
| +            if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.NOT_FOUND))
 | ||||
| +                logError(e);
 | ||||
| +        }
 | ||||
| +    } else {
 | ||||
| +        try {
 | ||||
| +            if (!await file.touch_async())
 | ||||
| +                return;
 | ||||
| +        } catch (e) {
 | ||||
| +            logError(e);
 | ||||
| +        }
 | ||||
| +
 | ||||
| +        notify(
 | ||||
| +            _('Screen Lock disabled'),
 | ||||
| +            _('Screen Locking requires the GNOME display manager.'));
 | ||||
| +    }
 | ||||
| +}
 | ||||
| +
 | ||||
|  function _getStylesheet(name) { | ||||
|      let stylesheet; | ||||
|   | ||||
| -- 
 | ||||
| 2.31.1 | ||||
| 
 | ||||
| 
 | ||||
| From c3f34e786826d0ed1af4150190159fed50d9fb87 Mon Sep 17 00:00:00 2001 | ||||
| From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org> | ||||
| Date: Thu, 22 Oct 2020 20:11:14 +0200 | ||||
| Subject: [PATCH 4/4] messageTray: Default to generic policy | ||||
| 
 | ||||
| How and if notifications are shown is controlled by NotificationPolicy | ||||
| objects. But ever since 098bd45, only notification daemon sources or | ||||
| notifications associated with an app are hooked up to GSettings. | ||||
| 
 | ||||
| The hardcoded default policy for built-in notifications (including | ||||
| those provided by extensions) arguably made sense back then, but | ||||
| now that the main setting has been rebranded as "Do Not Disturb" | ||||
| and is exposed prominently in the calendar drop-down, following | ||||
| GSettings is a better default. | ||||
| 
 | ||||
| https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3291 | ||||
| 
 | ||||
| Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1511> | ||||
| ---
 | ||||
|  js/ui/messageTray.js | 2 +- | ||||
|  1 file changed, 1 insertion(+), 1 deletion(-) | ||||
| 
 | ||||
| diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js
 | ||||
| index 8f8130451..f6bdae8e4 100644
 | ||||
| --- a/js/ui/messageTray.js
 | ||||
| +++ b/js/ui/messageTray.js
 | ||||
| @@ -731,7 +731,7 @@ var Source = class Source {
 | ||||
|      } | ||||
|   | ||||
|      _createPolicy() { | ||||
| -        return new NotificationPolicy();
 | ||||
| +        return new NotificationGenericPolicy();
 | ||||
|      } | ||||
|   | ||||
|      get narrowestPrivacyScope() { | ||||
| -- 
 | ||||
| 2.31.1 | ||||
| 
 | ||||
| @ -1,6 +1,6 @@ | ||||
| Name:           gnome-shell | ||||
| Version:        3.32.2 | ||||
| Release:        36%{?dist} | ||||
| Release:        38%{?dist} | ||||
| Summary:        Window management and application launching for GNOME | ||||
| 
 | ||||
| Group:          User Interface/Desktops | ||||
| @ -33,6 +33,7 @@ Patch25: 0001-shellEntry-Determine-if-password-entry-from-content-.patch | ||||
| Patch26: 0002-shellEntry-Give-password-menu-item-text-when-it-s-cr.patch | ||||
| Patch27: 0003-shellEntry-Handle-password-item-from-dedication-func.patch | ||||
| Patch28: 0004-shellEntry-Support-lockdown-of-Show-Text-menu-in-pas.patch | ||||
| Patch29: 0005-shellEntry-Only-mask-text-in-password-entries.patch | ||||
| 
 | ||||
| # Misc. | ||||
| Patch30: 0001-shellDBus-Add-a-DBus-method-to-load-a-single-extensi.patch | ||||
| @ -59,11 +60,12 @@ Patch50: 0001-st-texture-cache-Cancel-pending-requests-on-icon-the.patch | ||||
| Patch51: introspect-backports.patch | ||||
| Patch52: 0001-popupMenu-Handle-keypress-if-numlock-is-enabled.patch | ||||
| Patch53: 0001-theme-Update-window-preview-style.patch | ||||
| Patch54: warn-less.patch | ||||
| 
 | ||||
| # Backport JS invalid access warnings (#1651894, #1663171, #1642482, #1637622) | ||||
| Patch54: fix-invalid-access-warnings.patch | ||||
| Patch55: more-spurious-allocation-warnings.patch | ||||
| Patch56: fix-some-js-warnings.patch | ||||
| Patch55: fix-invalid-access-warnings.patch | ||||
| Patch56: more-spurious-allocation-warnings.patch | ||||
| Patch57: fix-some-js-warnings.patch | ||||
| 
 | ||||
| # Backport performance fixes under load (#1820760) | ||||
| Patch60: 0001-environment-reduce-calls-to-g_time_zone_new_local.patch | ||||
| @ -263,6 +265,14 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/evolution-calendar.de | ||||
| %{_mandir}/man1/%{name}.1.gz | ||||
| 
 | ||||
| %changelog | ||||
| * Thu Jul 29 2021 Florian Müllner <fmuellner@redhat.com> - 3.32.2-38 | ||||
| - Only mask text in password entries | ||||
|   Resolves: #1987233 | ||||
| 
 | ||||
| * Wed Jul 28 2021 Florian Müllner <fmuellner@redhat.com> - 3.32.2-37 | ||||
| - Only warn once when not running under GDM | ||||
|   Resolves: #1980661 | ||||
| 
 | ||||
| * Tue Jul 20 2021 Ray Strode <rstrode@redhat.com> - 3.32.2-36 | ||||
| - Add ability to lock down password showing | ||||
|   Resolves: #1770302 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user