diff mbox series

[v2,3/3] package/modem-manager: bump version to 1.20.2

Message ID 20221208133928.303101-3-heiko.thiery@gmail.com
State Changes Requested
Headers show
Series [v2,1/3] package/libmbim: bump version to 1.28.2 | expand

Commit Message

Heiko Thiery Dec. 8, 2022, 1:39 p.m. UTC
Switch package type to meson as the primary supported build system from now
on is meson and the autotools support as despricated.

The package tarball is no longer support, thus the MODEM_MANAGER_SOURCE
is changed to the gitlab archive URL.

All previously supported options are converted to the meson configuraiton
options and support for new ones is added.
The new options are: bash_completion, polkit, systemd, qrtr.

For building with libqmi support version 1.32.2 is required and for
libmbim version 1.28.2 is required.

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
---
v2: mention version 1.32.2 of libqmi as build dependency (thanks to Aleksander)

 package/modem-manager/modem-manager.hash |  2 +-
 package/modem-manager/modem-manager.mk   | 72 ++++++++++++++++++------
 2 files changed, 55 insertions(+), 19 deletions(-)

Comments

Thomas Petazzoni Dec. 11, 2022, 1:46 p.m. UTC | #1
Hello Heiko!

On Thu,  8 Dec 2022 14:39:32 +0100
Heiko Thiery <heiko.thiery@gmail.com> wrote:

> -MODEM_MANAGER_VERSION = 1.18.12
> -MODEM_MANAGER_SOURCE = ModemManager-$(MODEM_MANAGER_VERSION).tar.xz
> -MODEM_MANAGER_SITE = http://www.freedesktop.org/software/ModemManager
> +MODEM_MANAGER_VERSION = 1.20.2
> +MODEM_MANAGER_SOURCE = ModemManager-$(MODEM_MANAGER_VERSION).tar.gz
> +MODEM_MANAGER_SITE = https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/archive/$(MODEM_MANAGER_VERSION)
>  MODEM_MANAGER_LICENSE = GPL-2.0+ (programs, plugins), LGPL-2.0+ (libmm-glib)
>  MODEM_MANAGER_LICENSE_FILES = COPYING COPYING.LIB
>  MODEM_MANAGER_SELINUX_MODULES = modemmanager
> -MODEM_MANAGER_DEPENDENCIES = host-pkgconf libglib2 $(TARGET_NLS_DEPENDENCIES)
> +MODEM_MANAGER_DEPENDENCIES = host-pkgconf dbus libglib2 $(TARGET_NLS_DEPENDENCIES) host-libxslt

So D-Bus is no longer just a runtime dependency? Why? If that's really
the case then package/modem-manager/Config.in needs to be adjusted, as
it claims D-Bus is a runtime dependency.

>  MODEM_MANAGER_INSTALL_STAGING = YES
> -MODEM_MANAGER_CONF_OPTS = --disable-more-warnings
> +MODEM_MANAGER_CONF_OPTS = \
> +	-Dpowerd_suspend_resume=false \
> +	-Dudevdir=/usr/lib/udev

Is this needed even when -Dudev=false? Doesn't -Dudevdir=/usr/lib/udev
belong instead the BR2_PACKAGE_LIBGUDEV==y conditional?

Thomas
Aleksander Morgado Dec. 12, 2022, 9:19 a.m. UTC | #2
Hey!

> > -MODEM_MANAGER_VERSION = 1.18.12
> > -MODEM_MANAGER_SOURCE = ModemManager-$(MODEM_MANAGER_VERSION).tar.xz
> > -MODEM_MANAGER_SITE = http://www.freedesktop.org/software/ModemManager
> > +MODEM_MANAGER_VERSION = 1.20.2
> > +MODEM_MANAGER_SOURCE = ModemManager-$(MODEM_MANAGER_VERSION).tar.gz
> > +MODEM_MANAGER_SITE = https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/archive/$(MODEM_MANAGER_VERSION)
> >  MODEM_MANAGER_LICENSE = GPL-2.0+ (programs, plugins), LGPL-2.0+ (libmm-glib)
> >  MODEM_MANAGER_LICENSE_FILES = COPYING COPYING.LIB
> >  MODEM_MANAGER_SELINUX_MODULES = modemmanager
> > -MODEM_MANAGER_DEPENDENCIES = host-pkgconf libglib2 $(TARGET_NLS_DEPENDENCIES)
> > +MODEM_MANAGER_DEPENDENCIES = host-pkgconf dbus libglib2 $(TARGET_NLS_DEPENDENCIES) host-libxslt
>
> So D-Bus is no longer just a runtime dependency? Why? If that's really
> the case then package/modem-manager/Config.in needs to be adjusted, as
> it claims D-Bus is a runtime dependency.
>

The build-time dependency on DBus is exclusively to read
"interfaces_dir" and "system_bus_services_dir" from the pkg-config
(/usr/lib/pkgconfig/dbus-1.pc) file installed. I agree this is not
very pretty, as we don´t really require a full working DBus, just the
pkgconfig file :/

> >  MODEM_MANAGER_INSTALL_STAGING = YES
> > -MODEM_MANAGER_CONF_OPTS = --disable-more-warnings
> > +MODEM_MANAGER_CONF_OPTS = \
> > +     -Dpowerd_suspend_resume=false \
> > +     -Dudevdir=/usr/lib/udev
>
> Is this needed even when -Dudev=false? Doesn't -Dudevdir=/usr/lib/udev
> belong instead the BR2_PACKAGE_LIBGUDEV==y conditional?

No, udevdir is required even if -Dudev=false. The reason is that
udevdir is used to install the udev rules files, and ModemManager has
a built-in udev rules parser used when the daemon is built without
udev support (e.g. default in openwrt). The udev rules specify port
type hints and other things, MM won't work fine without those rules.
Thomas Petazzoni Dec. 12, 2022, 9:29 a.m. UTC | #3
On Mon, 12 Dec 2022 10:19:32 +0100
Aleksander Morgado <aleksander@aleksander.es> wrote:

> The build-time dependency on DBus is exclusively to read
> "interfaces_dir" and "system_bus_services_dir" from the pkg-config
> (/usr/lib/pkgconfig/dbus-1.pc) file installed. I agree this is not
> very pretty, as we don´t really require a full working DBus, just the
> pkgconfig file :/

ACK!

> No, udevdir is required even if -Dudev=false. The reason is that
> udevdir is used to install the udev rules files, and ModemManager has
> a built-in udev rules parser used when the daemon is built without
> udev support (e.g. default in openwrt). The udev rules specify port
> type hints and other things, MM won't work fine without those rules.

OK, thanks for the information.

Heiko: will you follow-up with an updated patch?

Thanks!

Thomas
Heiko Thiery Dec. 12, 2022, 9:52 a.m. UTC | #4
Hi Thomas, Hi Aleksander,

Am Mo., 12. Dez. 2022 um 10:29 Uhr schrieb Thomas Petazzoni
<thomas.petazzoni@bootlin.com>:
>
> On Mon, 12 Dec 2022 10:19:32 +0100
> Aleksander Morgado <aleksander@aleksander.es> wrote:
>
> > The build-time dependency on DBus is exclusively to read
> > "interfaces_dir" and "system_bus_services_dir" from the pkg-config
> > (/usr/lib/pkgconfig/dbus-1.pc) file installed. I agree this is not
> > very pretty, as we don´t really require a full working DBus, just the
> > pkgconfig file :/
>
> ACK!
>
> > No, udevdir is required even if -Dudev=false. The reason is that
> > udevdir is used to install the udev rules files, and ModemManager has
> > a built-in udev rules parser used when the daemon is built without
> > udev support (e.g. default in openwrt). The udev rules specify port
> > type hints and other things, MM won't work fine without those rules.
>
> OK, thanks for the information.
>
> Heiko: will you follow-up with an updated patch?

I will update the patch to create the runtime dependency in
package/modem-manager/Config.in.

--
Heiko

>
> Thanks!
>
> Thomas
> --
> Thomas Petazzoni, co-owner and CEO, Bootlin
> Embedded Linux and Kernel engineering and training
> https://bootlin.com
diff mbox series

Patch

diff --git a/package/modem-manager/modem-manager.hash b/package/modem-manager/modem-manager.hash
index 40c8ad703f..e6967f8d62 100644
--- a/package/modem-manager/modem-manager.hash
+++ b/package/modem-manager/modem-manager.hash
@@ -1,4 +1,4 @@ 
 #Locally calculated after checking https://www.freedesktop.org/software/ModemManager/ModemManager-1.18.12.tar.xz.asc
-sha256  b464e4925d955a6ca86dd08616e763b26ae46d7fd37dbe281678e34065b1e430  ModemManager-1.18.12.tar.xz
+sha256  ba56aa764edc148f58348a589743cf1c1e27c55dcd7ebd820dcedd52fb8d7179  ModemManager-1.20.2.tar.gz
 sha256  8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643  COPYING
 sha256  dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551  COPYING.LIB
diff --git a/package/modem-manager/modem-manager.mk b/package/modem-manager/modem-manager.mk
index d0c9b7377b..8a0dbba3a4 100644
--- a/package/modem-manager/modem-manager.mk
+++ b/package/modem-manager/modem-manager.mk
@@ -4,42 +4,78 @@ 
 #
 ################################################################################
 
-MODEM_MANAGER_VERSION = 1.18.12
-MODEM_MANAGER_SOURCE = ModemManager-$(MODEM_MANAGER_VERSION).tar.xz
-MODEM_MANAGER_SITE = http://www.freedesktop.org/software/ModemManager
+MODEM_MANAGER_VERSION = 1.20.2
+MODEM_MANAGER_SOURCE = ModemManager-$(MODEM_MANAGER_VERSION).tar.gz
+MODEM_MANAGER_SITE = https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/archive/$(MODEM_MANAGER_VERSION)
 MODEM_MANAGER_LICENSE = GPL-2.0+ (programs, plugins), LGPL-2.0+ (libmm-glib)
 MODEM_MANAGER_LICENSE_FILES = COPYING COPYING.LIB
 MODEM_MANAGER_SELINUX_MODULES = modemmanager
-MODEM_MANAGER_DEPENDENCIES = host-pkgconf libglib2 $(TARGET_NLS_DEPENDENCIES)
+MODEM_MANAGER_DEPENDENCIES = host-pkgconf dbus libglib2 $(TARGET_NLS_DEPENDENCIES) host-libxslt
 MODEM_MANAGER_INSTALL_STAGING = YES
-MODEM_MANAGER_CONF_OPTS = --disable-more-warnings
+MODEM_MANAGER_CONF_OPTS = \
+	-Dpowerd_suspend_resume=false \
+	-Dudevdir=/usr/lib/udev
 
-ifeq ($(BR2_PACKAGE_MODEM_MANAGER_LIBQMI),y)
-MODEM_MANAGER_DEPENDENCIES += libqmi
-MODEM_MANAGER_CONF_OPTS += --with-qmi
+ifeq ($(BR2_PACKAGE_LIBGUDEV),y)
+MODEM_MANAGER_DEPENDENCIES += libgudev
+MODEM_MANAGER_CONF_OPTS += -Dudev=true
 else
-MODEM_MANAGER_CONF_OPTS += --without-qmi
+MODEM_MANAGER_CONF_OPTS += -Dudev=false
 endif
 
-ifeq ($(BR2_PACKAGE_LIBGUDEV),y)
-MODEM_MANAGER_DEPENDENCIES += libgudev
-MODEM_MANAGER_CONF_OPTS += --with-udev
+ifeq ($(BR2_PACKAGE_MODEM_MANAGER_LIBQMI),y)
+MODEM_MANAGER_DEPENDENCIES += libqmi
+MODEM_MANAGER_CONF_OPTS += -Dqmi=true
 else
-MODEM_MANAGER_CONF_OPTS += --without-udev
+MODEM_MANAGER_CONF_OPTS += -Dqmi=false
 endif
 
 ifeq ($(BR2_PACKAGE_MODEM_MANAGER_LIBMBIM),y)
 MODEM_MANAGER_DEPENDENCIES += libmbim
-MODEM_MANAGER_CONF_OPTS += --with-mbim
+MODEM_MANAGER_CONF_OPTS += -Dmbim=true
+else
+MODEM_MANAGER_CONF_OPTS += -Dmbim=false
+endif
+
+ifeq ($(BR2_PACKAGE_LIBQRTR_GLIB),y)
+MODEM_MANAGER_DEPENDENCIES += libqrtr-glib
+MODEM_MANAGER_CONF_OPTS += -Dqrtr=true
+else
+MODEM_MANAGER_CONF_OPTS += -Dqrtr=false
+endif
+
+ifeq ($(BR2_PACKAGE_SYSTEMD),y)
+MODEM_MANAGER_DEPENDENCIES += systemd
+MODEM_MANAGER_CONF_OPTS += \
+	-Dsystemd_journal=true \
+	-Dsystemd_suspend_resume=true \
+	-Dsystemdsystemunitdir=/usr/lib/systemd/system
+else
+MODEM_MANAGER_CONF_OPTS += \
+	-Dsystemd_journal=false \
+	-Dsystemd_suspend_resume=false \
+	-Dsystemdsystemunitdir=no
+endif
+
+ifeq ($(BR2_PACKAGE_POLKIT),y)
+MODEM_MANAGER_DEPENDENCIES += polkit
+MODEM_MANAGER_CONF_OPTS += -Dpolkit=strict
 else
-MODEM_MANAGER_CONF_OPTS += --without-mbim
+MODEM_MANAGER_CONF_OPTS += -Dpolkit=no
 endif
 
 ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y)
 MODEM_MANAGER_DEPENDENCIES += gobject-introspection
-MODEM_MANAGER_CONF_OPTS += --enable-introspection
+MODEM_MANAGER_CONF_OPTS += -Dintrospection=true
+else
+MODEM_MANAGER_CONF_OPTS += -Dintrospection=false
+endif
+
+ifeq ($(BR2_PACKAGE_BASH_COMPLETION),y)
+MODEM_MANAGER_DEPENDENCIES += bash-completion
+MODEM_MANAGER_CONF_OPTS += -Dbash_completion=true
 else
-MODEM_MANAGER_CONF_OPTS += --disable-introspection
+MODEM_MANAGER_CONF_OPTS += -Dbash_completion=false
 endif
 
 define MODEM_MANAGER_INSTALL_INIT_SYSV
@@ -47,4 +83,4 @@  define MODEM_MANAGER_INSTALL_INIT_SYSV
 		$(TARGET_DIR)/etc/init.d/S44modem-manager
 endef
 
-$(eval $(autotools-package))
+$(eval $(meson-package))