diff --git a/0003-fix-deprecated-meson-functions.patch b/0003-fix-deprecated-meson-functions.patch new file mode 100644 index 0000000..3dfe66d --- /dev/null +++ b/0003-fix-deprecated-meson-functions.patch @@ -0,0 +1,35 @@ +diff -U4 -r modem-manager-gui-0.0.20--orig/appdata/meson.build modem-manager-gui-0.0.20--patched/appdata/meson.build +--- modem-manager-gui-0.0.20--orig/appdata/meson.build 2020-08-01 23:12:39.000000000 +0200 ++++ modem-manager-gui-0.0.20--patched/appdata/meson.build 2022-07-22 12:04:18.848304669 +0200 +@@ -1,7 +1,7 @@ + i18n = import('i18n') + +-i18n.merge_file('appdata-file', ++i18n.merge_file( + input: 'modem-manager-gui.appdata.xml.in', + output: 'modem-manager-gui.appdata.xml', + type: 'xml', + data_dirs: join_paths(meson.source_root(), 'appdata'), +@@ -9,9 +9,9 @@ + install: true, + install_dir: join_paths(get_option('prefix'), get_option('datadir'), 'metainfo') + ) + +-i18n.merge_file('desktop-file', ++i18n.merge_file( + input: 'modem-manager-gui.desktop.in', + output: 'modem-manager-gui.desktop', + type: 'desktop', + po_dir: join_paths(meson.source_root(), 'appdata'), +diff -U4 -r modem-manager-gui-0.0.20--orig/polkit/meson.build modem-manager-gui-0.0.20--patched/polkit/meson.build +--- modem-manager-gui-0.0.20--orig/polkit/meson.build 2020-08-01 23:12:39.000000000 +0200 ++++ modem-manager-gui-0.0.20--patched/polkit/meson.build 2022-07-22 12:08:28.855487055 +0200 +@@ -1,7 +1,7 @@ + i18n = import('i18n') + +-i18n.merge_file('polkit-file', ++i18n.merge_file( + input: 'ru.linuxonly.modem-manager-gui.policy.in', + output: 'ru.linuxonly.modem-manager-gui.policy', + type: 'xml', + data_dirs: join_paths(meson.source_root(), 'polkit'), diff --git a/0004-fix-segfault-on-DNS-entries.patch b/0004-fix-segfault-on-DNS-entries.patch new file mode 100644 index 0000000..0b6a348 --- /dev/null +++ b/0004-fix-segfault-on-DNS-entries.patch @@ -0,0 +1,32 @@ +From: Patrizio Tufarolo +Date: Wed, 25 May 2022 08:11:36 +0200 +Forwarded: not-needed +Subject: fix_segfault_on_DNS_entries + +--- + src/modules/nm09.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/src/modules/nm09.c b/src/modules/nm09.c +index 2b3098b..4d2d935 100644 +--- a/src/modules/nm09.c ++++ b/src/modules/nm09.c +@@ -533,6 +533,7 @@ static mmguiconn_t mmgui_module_connection_get_params(mmguicore_t mmguicore, con + GVariant *addrvar; + gchar *techstr; + mmguiconn_t connection; ++ int n_dns_entries; + + if ((mmguicore == NULL) || (connpath == NULL)) return NULL; + +@@ -630,7 +631,9 @@ static mmguiconn_t mmgui_module_connection_get_params(mmguicore_t mmguicore, con + if (connipv4sec != NULL) { + /*DNS*/ + conndnsvar = g_variant_lookup_value(connipv4sec, "dns", G_VARIANT_TYPE_ARRAY); +- for (i = 0; i < g_variant_n_children(conndnsvar); i++) { ++ n_dns_entries = 0; ++ if (conndnsvar) n_dns_entries = g_variant_n_children(conndnsvar); ++ for (i = 0; i < n_dns_entries; i++) { + addrvar = g_variant_get_child_value(conndnsvar, i); + addrint = ntohl(g_variant_get_uint32(addrvar)); + if (connection->dns1 == NULL) { diff --git a/modem-manager-gui.spec b/modem-manager-gui.spec index 95b46c1..d217ec2 100644 --- a/modem-manager-gui.spec +++ b/modem-manager-gui.spec @@ -4,7 +4,7 @@ Summary(de): Grafische Oberfläche für ModemManager Summary(ru): Графический интерфейс для демона ModemManager Version: 0.0.20 -Release: 6%{?dist} +Release: 7%{?dist} License: GPLv3 URL: https://linuxonly.ru/page/modem-manager-gui @@ -16,6 +16,15 @@ Patch1: 0001-Move-the-NetworkManager-dispatcher-script-out-of-etc.patch # Appdata XML validation fails Patch2: 0002-add-missing-appdata-tags.patch +# There have been a couple of Meson releases since the last MMGUI release +# and some of the stuff used in build scripts has been deprecated since +Patch3: 0003-fix-deprecated-meson-functions.patch + +# MMGUI crashes with some new versions of NetworkManager. +# Patch taken from Debian: +# https://salsa.debian.org/debian/modem-manager-gui/-/raw/master/debian/patches/fix_segfault_on_DNS_entries.patch +Patch4: 0004-fix-segfault-on-DNS-entries.patch + # Use meson for build? Otherwise, use make. %global build_using_meson 1 @@ -140,9 +149,7 @@ Plugin for %{name} allowing to use ofono as the modem manager. %prep -%setup -q -n %{name} -%patch1 -p1 -%patch2 -p1 +%autosetup -n %{name} -p1 %build @@ -235,6 +242,10 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop %changelog +* Tue Jul 26 2022 Artur Frenszek-Iwicki - 0.0.20-7 +- Add Patch3: fix use of deprecated Meson features +- Add Patch4: fix segfault when processing DNS entries + * Thu Jan 20 2022 Fedora Release Engineering - 0.0.20-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild