Compare commits

...

4 Commits

Author SHA1 Message Date
CentOS Sources 52bd2e50e5 import ModemManager-1.20.2-1.el8 2023-05-16 08:21:56 +00:00
CentOS Sources 0aa7c1aed6 import ModemManager-1.18.2-1.el8 2022-05-10 10:59:54 +00:00
CentOS Sources 87a30a5af3 import ModemManager-1.10.8-4.el8 2021-12-07 19:12:01 +00:00
CentOS Sources 8bbfbb05ac import ModemManager-1.10.8-2.el8 2021-09-09 22:23:43 +00:00
5 changed files with 124 additions and 236 deletions

View File

@ -1 +1 @@
5e91a6b9e671e54c500c68ec64c72908611b03fd SOURCES/ModemManager-1.10.4.tar.xz
a07ff3f71000b16e1a4f4ab4870f742520bd750c SOURCES/ModemManager-1.20.2.tar.bz2

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/ModemManager-1.10.4.tar.xz
SOURCES/ModemManager-1.20.2.tar.bz2

View File

@ -0,0 +1,48 @@
From cade7a759cfd98922de0bb96bfb29721d861e25e Mon Sep 17 00:00:00 2001
From: Lubomir Rintel <lkundrak@v3.sk>
Date: Tue, 13 Dec 2022 18:14:51 +0100
Subject: [PATCH] libmm-glib,common-helpers: avoid using mm_new_iso8601_time()
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
It requires newer glib than we do:
../libmm-glib/mm-common-helpers.c: In function mm_new_iso8601_time:
../libmm-glib/mm-common-helpers.c:1787:9: warning: g_time_zone_new_offset is deprecated: Not available before 2.58 [-Wdeprecated-declarations]
1787 | tz = g_time_zone_new_offset (offset_minutes * 60);
| ^~
In file included from /usr/include/glib-2.0/glib/gdatetime.h:33:
/usr/include/glib-2.0/glib/gtimezone.h:67:25: note: declared here
67 | GTimeZone * g_time_zone_new_offset (gint32 seconds);
| ^~~~~~~~~~~~~~~~~~~~~~
Let's not use the routine as opposed to bumping our requirement so that
we don't lose ability to build on CentOS 8.
---
libmm-glib/mm-common-helpers.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/libmm-glib/mm-common-helpers.c b/libmm-glib/mm-common-helpers.c
index de49136d..91371e96 100644
--- a/libmm-glib/mm-common-helpers.c
+++ b/libmm-glib/mm-common-helpers.c
@@ -1783,8 +1783,14 @@ mm_new_iso8601_time (guint year,
if (have_offset) {
g_autoptr(GTimeZone) tz = NULL;
+ g_autofree gchar *identifier = NULL;
- tz = g_time_zone_new_offset (offset_minutes * 60);
+ identifier = g_strdup_printf ("%c%02u:%02u:00",
+ (offset_minutes >= 0) ? '+' : '-',
+ ABS (offset_minutes) / 60,
+ ABS (offset_minutes) % 60);
+
+ tz = g_time_zone_new (identifier);
dt = g_date_time_new (tz, year, month, day, hour, minute, second);
} else
dt = g_date_time_new_utc (year, month, day, hour, minute, second);
--
2.38.1

View File

@ -1,185 +0,0 @@
From fd1a26fc36df005d66627109875631264d2f8e19 Mon Sep 17 00:00:00 2001
From: Aleksander Morgado <aleksander@aleksander.es>
Date: Wed, 22 May 2019 23:20:30 +0200
Subject: [PATCH] plugin: ignore unwanted net ports
* For QMI modems, make sure we only grab QMI data ports (flag the
rest as ignored).
* For MBIM modems, make sure we only grab MBIM data ports (flag the
rest as ignored).
* For other plugins that use NET ports in their logic, make sure we
only grab non-QMI and non-MBIM data ports.
---
src/mm-plugin.c | 120 +++++++++++++++++++++++++++++++++++-------------
1 file changed, 89 insertions(+), 31 deletions(-)
diff --git a/src/mm-plugin.c b/src/mm-plugin.c
index 08fe2cd0..a19111ff 100644
--- a/src/mm-plugin.c
+++ b/src/mm-plugin.c
@@ -37,6 +37,13 @@
#include "mm-log.h"
#include "mm-daemon-enums-types.h"
+#if defined WITH_QMI
+# include "mm-broadband-modem-qmi.h"
+#endif
+#if defined WITH_MBIM
+# include "mm-broadband-modem-mbim.h"
+#endif
+
G_DEFINE_TYPE (MMPlugin, mm_plugin, G_TYPE_OBJECT)
/* Virtual port corresponding to the embedded modem */
@@ -920,9 +927,22 @@ mm_plugin_create_modem (MMPlugin *self,
/* Grab each port */
for (l = port_probes; l; l = g_list_next (l)) {
- GError *inner_error = NULL;
- MMPortProbe *probe = MM_PORT_PROBE (l->data);
- gboolean grabbed;
+ GError *inner_error = NULL;
+ MMPortProbe *probe;
+ gboolean grabbed = FALSE;
+ gboolean force_ignored = FALSE;
+ const gchar *subsys;
+ const gchar *name;
+ const gchar *driver;
+ MMPortType port_type;
+
+ probe = MM_PORT_PROBE (l->data);
+
+ subsys = mm_port_probe_get_port_subsys (probe);
+ name = mm_port_probe_get_port_name (probe);
+ port_type = mm_port_probe_get_port_type (probe);
+
+ driver = mm_kernel_device_get_driver (mm_port_probe_peek_port (probe));
/* If grabbing a port fails, just warn. We'll decide if the modem is
* valid or not when all ports get organized */
@@ -931,45 +951,82 @@ mm_plugin_create_modem (MMPlugin *self,
* probed and accepted by the generic plugin, which is overwritten
* by the specific one when needed. */
if (apply_subsystem_filter (self, mm_port_probe_peek_port (probe))) {
- grabbed = FALSE;
inner_error = g_error_new (MM_CORE_ERROR,
MM_CORE_ERROR_UNSUPPORTED,
"unsupported subsystem: '%s'",
- mm_port_probe_get_port_subsys (probe));
+ subsys);
+ goto next;
}
+
/* Ports that are explicitly blacklisted will be grabbed as ignored */
- else if (mm_port_probe_is_ignored (probe)) {
- mm_dbg ("(%s/%s): port is blacklisted",
- mm_port_probe_get_port_subsys (probe),
- mm_port_probe_get_port_name (probe));
- grabbed = mm_base_modem_grab_port (modem,
- mm_port_probe_peek_port (probe),
- MM_PORT_TYPE_IGNORED,
- MM_PORT_SERIAL_AT_FLAG_NONE,
- &inner_error);
+ if (mm_port_probe_is_ignored (probe)) {
+ mm_dbg ("(%s/%s): port is blacklisted", subsys, name);
+ force_ignored = TRUE;
+ goto grab_port;
}
-#if !defined WITH_QMI
- else if (mm_port_probe_get_port_type (probe) == MM_PORT_TYPE_NET &&
- !g_strcmp0 (mm_kernel_device_get_driver (mm_port_probe_peek_port (probe)), "qmi_wwan")) {
- /* Try to generically grab the port, but flagged as ignored */
- grabbed = mm_base_modem_grab_port (modem,
- mm_port_probe_peek_port (probe),
- MM_PORT_TYPE_IGNORED,
- MM_PORT_SERIAL_AT_FLAG_NONE,
- &inner_error);
+
+#if defined WITH_QMI
+ if (MM_IS_BROADBAND_MODEM_QMI (modem) &&
+ port_type == MM_PORT_TYPE_NET &&
+ g_strcmp0 (driver, "qmi_wwan") != 0) {
+ /* Non-QMI net ports are ignored in QMI modems */
+ mm_dbg ("(%s/%s): ignoring non-QMI net port in QMI modem", subsys, name);
+ force_ignored = TRUE;
+ goto grab_port;
+ }
+
+ if (!MM_IS_BROADBAND_MODEM_QMI (modem) &&
+ port_type == MM_PORT_TYPE_NET &&
+ g_strcmp0 (driver, "qmi_wwan") == 0) {
+ /* QMI net ports are ignored in non-QMI modems */
+ mm_dbg ("(%s/%s): ignoring QMI net port in non-QMI modem", subsys, name);
+ force_ignored = TRUE;
+ goto grab_port;
+ }
+#else
+ if (port_type == MM_PORT_TYPE_NET &&
+ g_strcmp0 (driver, "qmi_wwan") != 0) {
+ /* QMI net ports are ignored if QMI support not built */
+ mm_dbg ("(%s/%s): ignoring QMI net port as QMI support isn't available", subsys, name);
+ force_ignored = TRUE;
+ goto grab_port;
+ }
+#endif
+
+#if defined WITH_MBIM
+ if (MM_IS_BROADBAND_MODEM_MBIM (modem) &&
+ port_type == MM_PORT_TYPE_NET &&
+ g_strcmp0 (driver, "cdc_mbim") != 0) {
+ /* Non-MBIM net ports are ignored in MBIM modems */
+ mm_dbg ("(%s/%s): ignoring non-MBIM net port in MBIM modem", subsys, name);
+ force_ignored = TRUE;
+ goto grab_port;
+ }
+
+ if (!MM_IS_BROADBAND_MODEM_MBIM (modem) &&
+ port_type == MM_PORT_TYPE_NET &&
+ g_strcmp0 (driver, "cdc_mbim") == 0) {
+ /* MBIM net ports are ignored in non-MBIM modems */
+ mm_dbg ("(%s/%s): ignoring MBIM net port in non-MBIM modem", subsys, name);
+ force_ignored = TRUE;
+ goto grab_port;
+ }
+#else
+ if (port_type == MM_PORT_TYPE_NET &&
+ g_strcmp0 (driver, "cdc_mbim") == 0) {
+ mm_dbg ("(%s/%s): ignoring MBIM net port as MBIM support isn't available", subsys, name);
+ force_ignored = TRUE;
+ goto grab_port;
}
#endif
-#if !defined WITH_MBIM
- else if (mm_port_probe_get_port_type (probe) == MM_PORT_TYPE_NET &&
- !g_strcmp0 (mm_kernel_device_get_driver (mm_port_probe_peek_port (probe)), "cdc_mbim")) {
- /* Try to generically grab the port, but flagged as ignored */
+
+ grab_port:
+ if (force_ignored)
grabbed = mm_base_modem_grab_port (modem,
mm_port_probe_peek_port (probe),
MM_PORT_TYPE_IGNORED,
MM_PORT_SERIAL_AT_FLAG_NONE,
&inner_error);
- }
-#endif
else if (MM_PLUGIN_GET_CLASS (self)->grab_port)
grabbed = MM_PLUGIN_GET_CLASS (self)->grab_port (MM_PLUGIN (self),
modem,
@@ -981,10 +1038,11 @@ mm_plugin_create_modem (MMPlugin *self,
mm_port_probe_get_port_type (probe),
MM_PORT_SERIAL_AT_FLAG_NONE,
&inner_error);
+
+ next:
if (!grabbed) {
mm_warn ("Could not grab port (%s/%s): '%s'",
- mm_port_probe_get_port_subsys (MM_PORT_PROBE (l->data)),
- mm_port_probe_get_port_name (MM_PORT_PROBE (l->data)),
+ subsys, name,
inner_error ? inner_error->message : "unknown error");
g_clear_error (&inner_error);
}
--
2.21.0

View File

@ -1,19 +1,24 @@
%if 0%{?fedora} || 0%{?rhel} >= 9
%bcond_without qrtr
%else
%bcond_with qrtr
%endif
%global glib2_version %(pkg-config --modversion glib-2.0 2>/dev/null || echo bad)
%global qmi_version %(pkg-config --modversion qmi-glib 2>/dev/null || echo bad)
%global mbim_version %(pkg-config --modversion mbim-glib 2>/dev/null || echo bad)
%global _hardened_build 1
Summary: Mobile broadband modem management service
Name: ModemManager
Version: 1.10.4
Version: 1.20.2
Release: 1%{?dist}
Source: https://www.freedesktop.org/software/ModemManager/%{name}-%{version}.tar.xz
Patch0: https://gitlab.freedesktop.org/mobile-broadband/ModemManager/commit/fd1a26fc36df.patch#/0001-plugin-ignore-unwanted-net-ports.patch
Summary: Mobile broadband modem management service
License: GPLv2+
Group: System Environment/Base
URL: http://www.freedesktop.org/wiki/Software/ModemManager/
Source: https://gitlab.com/linux-mobile-broadband/ModemManager/-/archive/%{version}/%{name}-%{version}.tar.bz2
# https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/938
Patch0: 0001-libmm-glib-common-helpers-avoid-using-mm_new_iso8601.patch
# For mbim-proxy and qmi-proxy
Requires: libmbim-utils
Requires: libqmi-utils
@ -29,18 +34,26 @@ Requires(post): systemd
Requires(postun): systemd
Requires(preun): systemd
BuildRequires: glib2-devel >= 2.36
BuildRequires: libgudev1-devel >= 143
BuildRequires: automake autoconf libtool
BuildRequires: libxslt gtk-doc
BuildRequires: libqmi-devel >= 1.22.4
BuildRequires: libmbim-devel >= 1.18.0
BuildRequires: gobject-introspection-devel >= 1.38
BuildRequires: vala
Requires: polkit
BuildRequires: automake autoconf libtool autoconf-archive
BuildRequires: dbus
BuildRequires: systemd-devel >= 209
BuildRequires: gettext-devel >= 0.19.8
BuildRequires: dbus-daemon
BuildRequires: gettext-devel >= 0.19.8
BuildRequires: glib2-devel >= 2.56
BuildRequires: gobject-introspection-devel >= 1.38
BuildRequires: gtk-doc
BuildRequires: libgudev1-devel >= 232
BuildRequires: libmbim-devel >= 1.28.0
BuildRequires: libqmi-devel >= 1.32.0
%if %{with qrtr}
BuildRequires: libqrtr-glib-devel >= 1.0.0
%endif
BuildRequires: make
BuildRequires: systemd
BuildRequires: systemd-devel >= 209
BuildRequires: vala
BuildRequires: polkit-devel
%global __provides_exclude ^libmm-plugin-
@ -50,7 +63,6 @@ interacting with these devices to client applications.
%package devel
Summary: Libraries and headers for adding ModemManager support to applications
Group: Development/Libraries
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: pkgconfig
@ -60,7 +72,6 @@ from applications.
%package glib
Summary: Libraries for adding ModemManager support to applications that use glib.
Group: Development/Libraries
Requires: glib2 >= %{glib2_version}
%description glib
@ -69,7 +80,6 @@ functionality from applications that use glib.
%package glib-devel
Summary: Libraries and headers for adding ModemManager support to applications that use glib.
Group: Development/Libraries
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
Requires: %{name}-glib%{?_isa} = %{version}-%{release}
@ -82,7 +92,6 @@ from glib applications.
%package vala
Summary: Vala bindings for ModemManager
Group: Development/Libraries
Requires: vala
Requires: %{name}-glib%{?_isa} = %{version}-%{release}
@ -90,13 +99,12 @@ Requires: %{name}-glib%{?_isa} = %{version}-%{release}
Vala bindings for ModemManager
%prep
%setup -q
%patch0 -p1
%autosetup -p1
%build
# Regenerate configure, because the one that is shipped
# doesn't seem to obey --disable-rpath for reasons unknown.
autoreconf -i --force
autoreconf -vif
%configure \
--disable-rpath \
--disable-silent-rules \
@ -107,50 +115,44 @@ autoreconf -i --force
--enable-gtk-doc \
--with-qmi=yes \
--with-mbim=yes \
%ifarch aarch64
--enable-plugin-qcom-soc \
%endif
%if %{with qrtr}
--with-qrtr \
%else
--without-qrtr \
%endif
--disable-static \
--with-polkit=no \
--with-polkit=permissive \
--with-dist-version=%{version}-%{release}
make %{?_smp_mflags}
%make_build
%check
make check
# make check
%install
make install DESTDIR=%{buildroot}
%make_install
rm -f %{buildroot}%{_libdir}/*.la
rm -f %{buildroot}%{_libdir}/%{name}/*.la
find %{buildroot} -type f -name "*.la" -delete
%find_lang %{name}
%ldconfig_scriptlets glib
%post
%if 0%{?rhel} && 0%{?rhel} <= 7
touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
%endif
%systemd_post ModemManager.service
%preun
%systemd_preun ModemManager.service
%postun
%if 0%{?rhel} && 0%{?rhel} <= 7
if [ $1 -eq 0 ] ; then
touch --no-create %{_datadir}/icons/hicolor &>/dev/null
gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
fi
%endif
%systemd_postun
%if 0%{?rhel} && 0%{?rhel} <= 7
%posttrans
gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%endif
%ldconfig_scriptlets glib
%systemd_postun ModemManager.service
%files -f %{name}.lang
%doc COPYING README
%license COPYING
%doc README
%{_sysconfdir}/dbus-1/system.d/org.freedesktop.ModemManager1.conf
%{_datadir}/dbus-1/system-services/org.freedesktop.ModemManager1.service
%attr(0755,root,root) %{_sbindir}/ModemManager
@ -158,6 +160,7 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%dir %{_libdir}/%{name}
%attr(0755,root,root) %{_libdir}/%{name}/*.so*
%{_udevrulesdir}/*
%{_datadir}/polkit-1/actions/*.policy
%{_unitdir}/ModemManager.service
%{_datadir}/icons/hicolor/22x22/apps/*.png
%{_datadir}/bash-completion
@ -173,6 +176,7 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%{_datadir}/dbus-1/interfaces/*.xml
%files glib
%license COPYING
%{_libdir}/libmm-glib.so.*
%{_libdir}/girepository-1.0/*.typelib
@ -189,6 +193,27 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%{_datadir}/vala/vapi/libmm-glib.*
%changelog
* Tue Nov 22 2022 Lubomir Rintel <lkundrak@v3.sk> - 1.20.2-1
- Update to 1.20.2
* Tue Oct 1 2021 Ana Cabral <acabral@redhat.com> - 1.18.2-1
- Upgrade to 1.18.2 release
* Tue Apr 20 2021 Beniamino Galvani <bgalvani@redhat.com> - 1.10.8-4
- Fix crash when modem goes away during a connection attempt (rh #1936416)
* Wed Feb 24 2021 Beniamino Galvani <bgalvani@redhat.com> - 1.10.8-3
- Rebuild to fix multilib conflicts (rh #1853161)
* Fri Feb 14 2020 Antonio Cardace <acardace@redhat.com> - 1.10.8-2
- Fix race condition when cancelling a flash operation (rh #1758128)
* Fri Nov 29 2019 Lubomir Rintel <lrintel@redhat.com> - 1.10.8-1
- Update to 1.10.8 release
* Wed Oct 16 2019 Lubomir Rintel <lkundrak@v3.sk> - 1.10.6-1
- Update to 1.10.6 release
* Wed Jul 10 2019 Lubomir Rintel <lkundrak@v3.sk> - 1.10.4-1
- Update to 1.10.2 release (rh #1543498)