From 81700b6c8d14700bb228819f40a9d1a26b38e4eee7bc5796fbdc05c801a03c94 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Mon, 18 Sep 2017 08:27:45 +0000 Subject: [PATCH 1/2] Accepting request 526953 from home:xiaoguang_wang:branches:GNOME:Factory - Fix JS warning, define classes with 'var' instead of 'const' (bgo#785084) + Update aboutMenu.js + Update gnome-shell-domain.patch OBS-URL: https://build.opensuse.org/request/show/526953 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/gnome-shell?expand=0&rev=324 --- aboutMenu.js | 2 +- gnome-shell-domain.patch | 2 +- gnome-shell.changes | 8 ++++++++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/aboutMenu.js b/aboutMenu.js index 41e4542..6107730 100644 --- a/aboutMenu.js +++ b/aboutMenu.js @@ -20,7 +20,7 @@ const HostnameIface = ' \ '; const HostnameProxy = Gio.DBusProxy.makeProxyWrapper(HostnameIface); -const AboutMenuButton = new Lang.Class({ +var AboutMenuButton = new Lang.Class({ Name: 'AboutMenuButton', Extends: PanelMenu.Button, _init: function() { diff --git a/gnome-shell-domain.patch b/gnome-shell-domain.patch index 03d0b0d..458210b 100644 --- a/gnome-shell-domain.patch +++ b/gnome-shell-domain.patch @@ -46,7 +46,7 @@ Index: gnome-shell-3.26.0/js/gdm/domain.js + ERR : 5 +}; + -+const DomainMenuButton = new Lang.Class({ ++var DomainMenuButton = new Lang.Class({ + Name: 'DomainMenuButton', + + _init: function () { diff --git a/gnome-shell.changes b/gnome-shell.changes index e3510f3..14477f5 100644 --- a/gnome-shell.changes +++ b/gnome-shell.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Mon Sep 18 07:31:56 UTC 2017 - xwang@suse.com + +- Fix JS warning, define classes with 'var' instead of 'const' + (bgo#785084) + + Update aboutMenu.js + + Update gnome-shell-domain.patch + ------------------------------------------------------------------- Wed Sep 13 02:39:59 UTC 2017 - xwang@suse.com From 2e3c21d03cff50a7d97090c00ba383d1ada6fb2a714de289a6e053380c31c511 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Mon, 18 Sep 2017 09:19:26 +0000 Subject: [PATCH 2/2] Accepting request 526975 from GNOME:Next Add upstream patches OBS-URL: https://build.opensuse.org/request/show/526975 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/gnome-shell?expand=0&rev=325 --- gnome-shell-app-workaround-pkexec.patch | 57 ++++++++ gnome-shell-dateMenu-fixes.patch | 147 ++++++++++++++++++++ gnome-shell-fix-crash-hint-actor-NULL.patch | 28 ++++ gnome-shell.changes | 10 ++ gnome-shell.spec | 9 ++ 5 files changed, 251 insertions(+) create mode 100644 gnome-shell-app-workaround-pkexec.patch create mode 100644 gnome-shell-dateMenu-fixes.patch create mode 100644 gnome-shell-fix-crash-hint-actor-NULL.patch diff --git a/gnome-shell-app-workaround-pkexec.patch b/gnome-shell-app-workaround-pkexec.patch new file mode 100644 index 0000000..d7af687 --- /dev/null +++ b/gnome-shell-app-workaround-pkexec.patch @@ -0,0 +1,57 @@ +From 053b8da89c5260351199d8c51821db1a2f91cdf4 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Florian=20M=C3=BCllner?= +Date: Sat, 25 Mar 2017 02:46:25 +0100 +Subject: app: Work around pkexec restriction when launching + +Unless automatic child reaping is disabled in GSpawnFlags, glib's +g_spawn_* functions will reparent the spawned process to init by +double-forking. Unfortunately pkexec bails out in this case[0], +which means that it no longer works in .desktop files since the +PID tracking removal in commit 01c6392c1373. +Fix this by going back to manual child reaping. + +[0] https://cgit.freedesktop.org/polkit/tree/src/programs/pkexec.c#n728 + +https://bugzilla.gnome.org/show_bug.cgi?id=763531 +--- + src/shell-app.c | 12 ++++++++++-- + 1 file changed, 10 insertions(+), 2 deletions(-) + +diff --git a/src/shell-app.c b/src/shell-app.c +index b383d9c..335147c 100644 +--- a/src/shell-app.c ++++ b/src/shell-app.c +@@ -1196,6 +1196,14 @@ app_child_setup (gpointer user_data) + } + #endif + ++static void ++wait_pid (GDesktopAppInfo *appinfo, ++ GPid pid, ++ gpointer user_data) ++{ ++ g_child_watch_add (pid, (GChildWatchFunc) g_spawn_close_pid, NULL); ++} ++ + /** + * shell_app_launch: + * @timestamp: Event timestamp, or 0 for current event timestamp +@@ -1234,13 +1242,13 @@ shell_app_launch (ShellApp *app, + + ret = g_desktop_app_info_launch_uris_as_manager (app->info, NULL, + context, +- G_SPAWN_SEARCH_PATH, ++ G_SPAWN_SEARCH_PATH | G_SPAWN_DO_NOT_REAP_CHILD, + #ifdef HAVE_SYSTEMD + app_child_setup, (gpointer)shell_app_get_id (app), + #else + NULL, NULL, + #endif +- NULL, NULL, ++ wait_pid, NULL, + error); + g_object_unref (context); + +-- +cgit v0.12 + diff --git a/gnome-shell-dateMenu-fixes.patch b/gnome-shell-dateMenu-fixes.patch new file mode 100644 index 0000000..28c7829 --- /dev/null +++ b/gnome-shell-dateMenu-fixes.patch @@ -0,0 +1,147 @@ +From 56f4ce37cd52817a5fcba360dc5eec23d81656f0 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Florian=20M=C3=BCllner?= +Date: Fri, 8 Sep 2017 12:13:48 +0200 +Subject: dateMenu: Adjust to GWeather IAPI change + +It's not exactly clear what changed - gobject-introspection, gjs - but +the newly added gweather_condition_to_string_full() API no longer works +like it used to. The replacement code does look more idiomatic anyway, +so just fix the code without investigating the reason of the breakage. + +https://bugzilla.gnome.org/show_bug.cgi?id=787423 +--- + js/ui/dateMenu.js | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/js/ui/dateMenu.js b/js/ui/dateMenu.js +index 18f2f0e..0054f2d 100644 +--- a/js/ui/dateMenu.js ++++ b/js/ui/dateMenu.js +@@ -237,12 +237,12 @@ var WeatherSection = new Lang.Class({ + let options = capitalize ? GWeather.FormatOptions.SENTENCE_CAPITALIZATION + : GWeather.FormatOptions.NO_CAPITALIZATION; + +- let [ok, phenom, qualifier] = info.get_value_conditions(); ++ let [ok, phenomenon, qualifier] = info.get_value_conditions(); + if (ok) +- return GWeather.conditions_to_string_full(phenom, qualifier, options); ++ return new GWeather.Conditions({ phenomenon, qualifier}).to_string_full(options); + + let [, sky] = info.get_value_sky(); +- return GWeather.sky_to_string_full(sky, options); ++ return GWeather.Sky.to_string_full(sky, options); + }, + + _sameSummary: function(info1, info2) { +-- +cgit v0.12 + + +From bddc2c0016878c8eb629d6d4b7c0f2f38353377a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Florian=20M=C3=BCllner?= +Date: Tue, 12 Sep 2017 12:33:37 +0200 +Subject: dateMenu: Use icon for message indicator + +Using a unicode character here means it may look quite different +from the intended style (for instance with emoji fonts). Avoid +this by providing a custom icon and use that instead. + +https://bugzilla.gnome.org/show_bug.cgi?id=766368 +--- + data/gnome-shell-theme.gresource.xml | 1 + + data/theme/message-indicator-symbolic.svg | 40 +++++++++++++++++++++++++++++++ + js/ui/dateMenu.js | 6 +++-- + js/ui/main.js | 1 + + 4 files changed, 46 insertions(+), 2 deletions(-) + create mode 100644 data/theme/message-indicator-symbolic.svg + +diff --git a/data/gnome-shell-theme.gresource.xml b/data/gnome-shell-theme.gresource.xml +index 25769a4..896a1e2 100644 +--- a/data/gnome-shell-theme.gresource.xml ++++ b/data/gnome-shell-theme.gresource.xml +@@ -18,6 +18,7 @@ + gnome-shell.css + gnome-shell-high-contrast.css + logged-in-indicator.svg ++ message-indicator-symbolic.svg + no-events.svg + no-notifications.svg + noise-texture.png +diff --git a/data/theme/message-indicator-symbolic.svg b/data/theme/message-indicator-symbolic.svg +new file mode 100644 +index 0000000..257a984 +--- /dev/null ++++ b/data/theme/message-indicator-symbolic.svg +@@ -0,0 +1,40 @@ ++ ++ ++ ++ ++ ++ ++ ++ ++ image/svg+xml ++ ++ ++ ++ ++ ++ ++ ++ ++ +diff --git a/js/ui/dateMenu.js b/js/ui/dateMenu.js +index 0054f2d..0aad37e 100644 +--- a/js/ui/dateMenu.js ++++ b/js/ui/dateMenu.js +@@ -337,8 +337,10 @@ var MessagesIndicator = new Lang.Class({ + Name: 'MessagesIndicator', + + _init: function() { +- this.actor = new St.Label({ text: '⚫', visible: false, y_expand: true, +- y_align: Clutter.ActorAlign.CENTER }); ++ this.actor = new St.Icon({ icon_name: 'message-indicator-symbolic', ++ icon_size: 16, ++ visible: false, y_expand: true, ++ y_align: Clutter.ActorAlign.CENTER }); + + this._sources = []; + +diff --git a/js/ui/main.js b/js/ui/main.js +index 85dbe1f..e981db9 100644 +--- a/js/ui/main.js ++++ b/js/ui/main.js +@@ -122,6 +122,7 @@ function start() { + sessionMode.connect('updated', _sessionUpdated); + Gtk.Settings.get_default().connect('notify::gtk-theme-name', + _loadDefaultStylesheet); ++ Gtk.IconTheme.get_default().add_resource_path('/org/gnome/shell/theme/icons'); + _initializeUI(); + + shellAccessDialogDBusService = new AccessDialog.AccessDialogDBus(); +-- +cgit v0.12 + diff --git a/gnome-shell-fix-crash-hint-actor-NULL.patch b/gnome-shell-fix-crash-hint-actor-NULL.patch new file mode 100644 index 0000000..9b5a9ed --- /dev/null +++ b/gnome-shell-fix-crash-hint-actor-NULL.patch @@ -0,0 +1,28 @@ +From 5ec0ad4e9cf8a88e3a715fdef4bf1f227b274d2d Mon Sep 17 00:00:00 2001 +From: Marc-Antoine Perennou +Date: Tue, 12 Sep 2017 12:23:46 +0200 +Subject: StEntry: fix crash when hint actor is NULL + +https://bugzilla.gnome.org/show_bug.cgi?id=787580 + +Signed-off-by: Marc-Antoine Perennou +--- + src/st/st-entry.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/st/st-entry.c b/src/st/st-entry.c +index fc9ffbf..18e6a25 100644 +--- a/src/st/st-entry.c ++++ b/src/st/st-entry.c +@@ -1106,7 +1106,7 @@ st_entry_get_text (StEntry *entry) + g_return_val_if_fail (ST_IS_ENTRY (entry), NULL); + + priv = st_entry_get_instance_private (entry); +- if (clutter_actor_is_visible (priv->hint_actor)) ++ if (priv->hint_actor != NULL && clutter_actor_is_visible (priv->hint_actor)) + return ""; + else + return clutter_text_get_text (CLUTTER_TEXT (priv->entry)); +-- +cgit v0.12 + diff --git a/gnome-shell.changes b/gnome-shell.changes index 14477f5..375f415 100644 --- a/gnome-shell.changes +++ b/gnome-shell.changes @@ -6,6 +6,16 @@ Mon Sep 18 07:31:56 UTC 2017 - xwang@suse.com + Update aboutMenu.js + Update gnome-shell-domain.patch +------------------------------------------------------------------- +Fri Sep 15 07:34:30 UTC 2017 - zaitor@opensuse.org + +- Add gnome-shell-app-workaround-pkexec.patch: app: Work around + pkexec restriction when launching (bgo#763531). +- Add gnome-shell-dateMenu-fixes.patch: Fix gnome-weather and + notification icon (bgo#787423, bgo#766368). +- Add gnome-shell-fix-crash-hint-actor-NULL.patch: StEntry: fix + crash when hint actor is NULL (bgo#787580). + ------------------------------------------------------------------- Wed Sep 13 02:39:59 UTC 2017 - xwang@suse.com diff --git a/gnome-shell.spec b/gnome-shell.spec index a0aa308..3293221 100644 --- a/gnome-shell.spec +++ b/gnome-shell.spec @@ -53,6 +53,12 @@ Patch9: gnome-shell-lock-bg-on-primary.patch Patch11: gs-fate318433-prevent-same-account-multi-logins.patch # PATCH-FEATURE-SLE gnome-shell-1007468-lock-screen-SUSE-logo-missing.patch xwang@suse.com -- Add SUSE logo on lock screen for GNOME theme. Patch15: gnome-shell-1007468-lock-screen-SUSE-logo-missing.patch +# PATCH-FIX-UPSTREAM gnome-shell-app-workaround-pkexec.patch bgo#763531 zaitor@opensuse.org -- app: Work around pkexec restriction when launching +Patch16: gnome-shell-app-workaround-pkexec.patch +# PATCH-FIX-UPSTREAM gnome-shell-dateMenu-fixes.patch bgo#787423 bgo#766368 zaitor@opensuse.org -- Fix gnome-weather and notification icon +Patch17: gnome-shell-dateMenu-fixes.patch +# PATCH-FIX-UPSTREAM gnome-shell-fix-crash-hint-actor-NULL.patch bgo#787580 zaitor@opensuse.org -- StEntry: fix crash when hint actor is NULL +Patch18: gnome-shell-fix-crash-hint-actor-NULL.patch ## NOTE: Keep SLE Classic patches at bottom. # PATCH-FEATURE-SLE gs-sle-classic-ext.patch bnc#862615 cxiong@suse.com -- add SLE Classic support Patch1000: gs-sle-classic-ext.patch @@ -192,6 +198,9 @@ into GNOME Shell calendar. %patch11 -p1 %patch15 -p1 %endif +%patch16 -p1 +%patch17 -p1 +%patch18 -p1 %if !0%{?is_opensuse} %patch1000 -p1