From de08cbba86545e65149412a01e334200d1c210d04e513b4d6fb2dbd00f5b05ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Lie?= Date: Thu, 22 Dec 2022 13:00:34 +0000 Subject: [PATCH] Accepting request 1044192 from GNOME:Next - Modify gnome-control-center-disable-error-message-for-NM.patch: fix wifi panel(bsc#1206233). - Rebase gnome-control-center-disable-error-message-for-NM.patch. - Add gnome-control-center-network-use-AdwStatusPage.patch: network-panel: Use AdwStatusPage to show NetworkManager error. This is needed by the above rebased patch (glgo#GNOME/gnome-control-center/commit/2b3de01124). - Add gnome-control-center-fix-ws-sea-pass-toggle.patch: Fix crash when user clicking password visibility toggle in Security page when method is WPA3 Personal (glgo#GNOME/gnome-control-center!1520). OBS-URL: https://build.opensuse.org/request/show/1044192 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/gnome-control-center?expand=0&rev=495 --- ...-center-disable-error-message-for-NM.patch | 172 +++++++++--------- ...ontrol-center-fix-ws-sea-pass-toggle.patch | 28 +++ ...rol-center-network-use-AdwStatusPage.patch | 58 ++++++ gnome-control-center.changes | 23 +++ gnome-control-center.spec | 13 +- 5 files changed, 207 insertions(+), 87 deletions(-) create mode 100644 gnome-control-center-fix-ws-sea-pass-toggle.patch create mode 100644 gnome-control-center-network-use-AdwStatusPage.patch diff --git a/gnome-control-center-disable-error-message-for-NM.patch b/gnome-control-center-disable-error-message-for-NM.patch index feb87cd..2f8139d 100644 --- a/gnome-control-center-disable-error-message-for-NM.patch +++ b/gnome-control-center-disable-error-message-for-NM.patch @@ -10,11 +10,11 @@ Subject: [PATCH] add error messages when wicked is used as network manager tests/meson.build | 3 +++ 4 files changed, 102 insertions(+), 2 deletions(-) -diff --git a/panels/network/cc-network-panel.c b/panels/network/cc-network-panel.c -index 01b164ea0..d32e94d09 100644 ---- a/panels/network/cc-network-panel.c -+++ b/panels/network/cc-network-panel.c -@@ -643,10 +643,24 @@ static void +Index: gnome-control-center-43.1/panels/network/cc-network-panel.c +=================================================================== +--- gnome-control-center-43.1.orig/panels/network/cc-network-panel.c ++++ gnome-control-center-43.1/panels/network/cc-network-panel.c +@@ -646,10 +646,24 @@ static void panel_check_network_manager_version (CcNetworkPanel *self) { const gchar *version; @@ -37,31 +37,23 @@ index 01b164ea0..d32e94d09 100644 version = nm_client_get_version (self->client); - if (version == NULL) { + if (version == NULL && g_strcmp0 (state, "inactive") == 0) { - GtkWidget *box; - GtkWidget *label; - g_autofree gchar *markup = NULL; -@@ -671,10 +685,31 @@ panel_check_network_manager_version (CcNetworkPanel *self) - gtk_widget_set_valign (label, GTK_ALIGN_START); - gtk_box_pack_start (GTK_BOX (box), label, TRUE, TRUE, 0); + GtkWidget *status_page; -+ gtk_widget_show_all (box); + status_page = adw_status_page_new (); +@@ -661,9 +675,23 @@ panel_check_network_manager_version (CcN + _("NetworkManager needs to be running to view or make " + "connections. Contact a system administrator or the " + "software vendor.")); + } else if (version == NULL && g_strcmp0 (state, "active") == 0) { -+ GtkWidget *box; -+ GtkWidget *label; ++ GtkWidget *status_page; + -+ gtk_container_remove (GTK_CONTAINER (self), gtk_bin_get_child (GTK_BIN (self))); ++ status_page = adw_status_page_new (); ++ cc_panel_set_content (CC_PANEL (self), status_page); + -+ box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 20); -+ gtk_box_set_homogeneous (GTK_BOX (box), TRUE); -+ gtk_widget_set_vexpand (box, TRUE); -+ gtk_container_add (GTK_CONTAINER (self), box); -+ -+ label = gtk_label_new (_("Please use YaST2 to configure your network.")); -+ gtk_label_set_line_wrap (GTK_LABEL (label), TRUE); -+ gtk_widget_set_valign (label, GTK_ALIGN_CENTER); -+ gtk_box_pack_start (GTK_BOX (box), label, TRUE, TRUE, 0); -+ - gtk_widget_show_all (box); ++ adw_status_page_set_icon_name (ADW_STATUS_PAGE (status_page), "network-error-symbolic"); ++ adw_status_page_set_title (ADW_STATUS_PAGE (status_page), _("Wicked is running")); ++ adw_status_page_set_description (ADW_STATUS_PAGE (status_page), ++ _("Please use YaST2 to configure your network.")); } else { manager_running (self); } @@ -72,11 +64,22 @@ index 01b164ea0..d32e94d09 100644 } static void -diff --git a/panels/network/cc-wifi-panel.c b/panels/network/cc-wifi-panel.c -index 9ca6e6ee5..c4622e684 100644 ---- a/panels/network/cc-wifi-panel.c -+++ b/panels/network/cc-wifi-panel.c -@@ -439,21 +439,41 @@ static void +Index: gnome-control-center-43.1/panels/network/cc-wifi-panel.c +=================================================================== +--- gnome-control-center-43.1.orig/panels/network/cc-wifi-panel.c ++++ gnome-control-center-43.1/panels/network/cc-wifi-panel.c +@@ -425,8 +425,8 @@ remove_wifi_device (CcWifiPanel *self, + } + + /* Disconnect the signal to prevent assertion crash */ +- g_signal_handlers_disconnect_by_func (device, +- G_CALLBACK (wifi_panel_update_qr_image_cb), ++ g_signal_handlers_disconnect_by_func (device, ++ G_CALLBACK (wifi_panel_update_qr_image_cb), + self); + + /* Destroy all stack pages related to this device */ +@@ -444,21 +444,41 @@ static void check_main_stack_page (CcWifiPanel *self) { const gchar *nm_version; @@ -119,63 +122,69 @@ index 9ca6e6ee5..c4622e684 100644 } static void -diff --git a/panels/network/cc-wifi-panel.ui b/panels/network/cc-wifi-panel.ui -index 2ac7570f9..5a53f9a57 100644 ---- a/panels/network/cc-wifi-panel.ui -+++ b/panels/network/cc-wifi-panel.ui -@@ -318,6 +318,48 @@ - nm-not-running - +Index: gnome-control-center-43.1/panels/network/cc-wifi-panel.ui +=================================================================== +--- gnome-control-center-43.1.orig/panels/network/cc-wifi-panel.ui ++++ gnome-control-center-43.1/panels/network/cc-wifi-panel.ui +@@ -311,10 +311,53 @@ + -+ + + + -+ -+ True -+ False -+ True -+ center -+ center -+ vertical -+ 18 -+ 18 -+ -+ -+ True -+ False -+ face-sad-symbolic -+ 128 -+ -+ -+ -+ -+ -+ True -+ False -+ True -+ Please use YaST2 to configure your network. -+ -+ -+ -+ -+ -+ end -+ -+ -+ -+ ++ + wicked-running -+ ++ ++ ++ True ++ True ++ True ++ False ++ center ++ center ++ vertical ++ 18 ++ 18 ++ 18 ++ 18 ++ ++ ++ True ++ False ++ face-sad-symbolic ++ 128 ++ ++ ++ ++ ++ ++ True ++ False ++ True ++ Please use YaST2 to configure your network. ++ ++ ++ ++ ++ ++ ++ ++ + ++ -diff --git a/tests/meson.build b/tests/meson.build -index d4fe361ef..da3bd104d 100644 ---- a/tests/meson.build -+++ b/tests/meson.build +- + + + +Index: gnome-control-center-43.1/tests/meson.build +=================================================================== +--- gnome-control-center-43.1.orig/tests/meson.build ++++ gnome-control-center-43.1/tests/meson.build @@ -1,8 +1,11 @@ subdir('common') #subdir('datetime') @@ -188,6 +197,3 @@ index d4fe361ef..da3bd104d 100644 subdir('interactive-panels') --- -2.31.1 - diff --git a/gnome-control-center-fix-ws-sea-pass-toggle.patch b/gnome-control-center-fix-ws-sea-pass-toggle.patch new file mode 100644 index 0000000..30e5bfd --- /dev/null +++ b/gnome-control-center-fix-ws-sea-pass-toggle.patch @@ -0,0 +1,28 @@ +From d6d05abeba9dffc4840e52d24dbef871c97ae38c Mon Sep 17 00:00:00 2001 +From: Alynx Zhou +Date: Thu, 1 Dec 2022 11:17:38 +0800 +Subject: [PATCH] network: Fix wrong signal of SEA password visibility toggle + +Wrong pointer is used because of missing `_swapped`. +--- + panels/network/wireless-security/ws-sae.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/panels/network/wireless-security/ws-sae.c b/panels/network/wireless-security/ws-sae.c +index 83fe0c793..c9e4e5040 100644 +--- a/panels/network/wireless-security/ws-sae.c ++++ b/panels/network/wireless-security/ws-sae.c +@@ -212,8 +212,8 @@ ws_sae_new (NMConnection *connection) + (HelperSecretFunc) nm_setting_wireless_security_get_psk); + } + +- g_signal_connect (self->show_password_check, "toggled", +- G_CALLBACK (show_toggled_cb), self); ++ g_signal_connect_swapped (self->show_password_check, "toggled", ++ G_CALLBACK (show_toggled_cb), self); + + /* Hide WPA/RSN for now since this can be autodetected by NM and the + * supplicant when connecting to the AP. +-- +GitLab + diff --git a/gnome-control-center-network-use-AdwStatusPage.patch b/gnome-control-center-network-use-AdwStatusPage.patch new file mode 100644 index 0000000..e5bde73 --- /dev/null +++ b/gnome-control-center-network-use-AdwStatusPage.patch @@ -0,0 +1,58 @@ +From 2b3de0112438c45372f872d0fd967ad2d907af6e Mon Sep 17 00:00:00 2001 +From: Mohammed Sadiq +Date: Tue, 1 Nov 2022 17:41:39 +0530 +Subject: [PATCH] network-panel: Use AdwStatusPage to show NetworkManager error + +This commit also fixes missing header bar when the error is shown +--- + panels/network/cc-network-panel.c | 34 ++++++++++--------------------- + 1 file changed, 11 insertions(+), 23 deletions(-) + +diff --git a/panels/network/cc-network-panel.c b/panels/network/cc-network-panel.c +index e80fd4a4e..24a6c6f8b 100644 +--- a/panels/network/cc-network-panel.c ++++ b/panels/network/cc-network-panel.c +@@ -658,29 +658,17 @@ panel_check_network_manager_version (CcNetworkPanel *self) + /* parse running version */ + version = nm_client_get_version (self->client); + if (version == NULL) { +- GtkWidget *box; +- GtkWidget *label; +- g_autofree gchar *markup = NULL; +- +- box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 20); +- gtk_box_set_homogeneous (GTK_BOX (box), TRUE); +- gtk_widget_set_vexpand (box, TRUE); +- adw_bin_set_child (ADW_BIN (self), box); +- +- label = gtk_label_new (_("Oops, something has gone wrong. Please contact your software vendor.")); +- gtk_widget_set_vexpand (label, TRUE); +- gtk_label_set_wrap (GTK_LABEL (label), TRUE); +- gtk_widget_set_valign (label, GTK_ALIGN_END); +- gtk_box_append (GTK_BOX (box), label); +- +- markup = g_strdup_printf ("%s", +- _("NetworkManager needs to be running.")); +- label = gtk_label_new (NULL); +- gtk_widget_set_vexpand (label, TRUE); +- gtk_label_set_markup (GTK_LABEL (label), markup); +- gtk_label_set_wrap (GTK_LABEL (label), TRUE); +- gtk_widget_set_valign (label, GTK_ALIGN_START); +- gtk_box_append (GTK_BOX (box), label); ++ GtkWidget *status_page; ++ ++ status_page = adw_status_page_new (); ++ cc_panel_set_content (CC_PANEL (self), status_page); ++ ++ adw_status_page_set_icon_name (ADW_STATUS_PAGE (status_page), "network-error-symbolic"); ++ adw_status_page_set_title (ADW_STATUS_PAGE (status_page), _("Can’t Connect to Network")); ++ adw_status_page_set_description (ADW_STATUS_PAGE (status_page), ++ _("NetworkManager needs to be running to view or make " ++ "connections. Contact a system administrator or the " ++ "software vendor.")); + } else { + manager_running (self); + } +-- +2.38.1 + diff --git a/gnome-control-center.changes b/gnome-control-center.changes index e8fac04..8db7bc4 100644 --- a/gnome-control-center.changes +++ b/gnome-control-center.changes @@ -1,3 +1,26 @@ +------------------------------------------------------------------- +Mon Dec 19 06:39:59 UTC 2022 - Jonathan Kang + +- Modify gnome-control-center-disable-error-message-for-NM.patch: + fix wifi panel(bsc#1206233). + +------------------------------------------------------------------- +Thu Dec 6 09:00:52 UTC 2022 - Jonathan Kang + +- Rebase gnome-control-center-disable-error-message-for-NM.patch. +- Add gnome-control-center-network-use-AdwStatusPage.patch: + network-panel: Use AdwStatusPage to show NetworkManager error. + This is needed by the above rebased patch + (glgo#GNOME/gnome-control-center/commit/2b3de01124). + +------------------------------------------------------------------- +Tue Dec 6 04:31:50 UTC 2022 - Alynx Zhou + +- Add gnome-control-center-fix-ws-sea-pass-toggle.patch: Fix crash + when user clicking password visibility toggle in Security page + when method is WPA3 Personal + (glgo#GNOME/gnome-control-center!1520). + ------------------------------------------------------------------- Tue Oct 18 08:00:32 UTC 2022 - Bjørn Lie diff --git a/gnome-control-center.spec b/gnome-control-center.spec index b130c86..72410a6 100644 --- a/gnome-control-center.spec +++ b/gnome-control-center.spec @@ -35,8 +35,12 @@ URL: https://apps.gnome.org/app/org.gnome.Settings Source0: https://download.gnome.org/sources/gnome-control-center/43/%{name}-%{version}.tar.xz Source99: %{name}-rpmlintrc -# PATCH-NEEDS-REBASE gnome-control-center-disable-error-message-for-NM.patch bsc#989801 sckang@suse.com -- network: Improve the check for whether NM or wicked is running Was:PATCH-FIX-OPENSUSE -Patch0: gnome-control-center-disable-error-message-for-NM.patch +# PATCH-FIX-UPSTREAM gnome-control-center-network-use-AdwStatusPage.patch glgo#GNOME/gnome-contorl-center/commit/2b3de01124 sckang@suse.com network-panel: Use AdwStatusPage to show NetworkManager error. +Patch0: gnome-control-center-network-use-AdwStatusPage.patch +# PATCH-FIX-OPENSUSE gnome-control-center-disable-error-message-for-NM.patch bsc#989801 sckang@suse.com -- network: Improve the check for whether NM or wicked is running Was:PATCH-FIX-OPENSUSE +Patch1: gnome-control-center-disable-error-message-for-NM.patch +# PATCH-FIX-UPSTREAM gnome-control-center-fix-ws-sea-pass-toggle.patch glgo#GNOME/gnome-control-center!1520 -- network: Fix wrong signal of SEA password visibility toggle +Patch2: gnome-control-center-fix-ws-sea-pass-toggle.patch ### patches for Leap >= 15 plus SLE >= 15, but not TW # PATCH-FEATURE-SLE gnome-control-center-info-never-use-gnome-software.patch bsc#999336 fezhang@suse.com -- info: Never search for gnome-software as an option when checking for updates on SLE and Leap 42.2, because we use gpk-update-viewer. @@ -182,8 +186,9 @@ GNOME control center. %prep %setup -q -# Patch needs rebase -#%%patch0 -p1 +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 # patches for Leap >= 15 plus SLE >= 15, but not TW %if 0%{?sle_version} >= 150000