2019-09-27 09:26:51 +08:00
|
|
|
#
|
|
|
|
# Copyright (C) 2016 Velocloud Inc.
|
|
|
|
# Copyright (C) 2016 Aleksander Morgado <aleksander@aleksander.es>
|
|
|
|
#
|
|
|
|
# This is free software, licensed under the GNU General Public License v2.
|
|
|
|
#
|
|
|
|
|
|
|
|
include $(TOPDIR)/rules.mk
|
|
|
|
|
|
|
|
PKG_NAME:=modemmanager
|
2024-04-22 16:26:15 +08:00
|
|
|
PKG_VERSION:=1.22.0
|
2025-03-27 23:19:45 +08:00
|
|
|
PKG_RELEASE:=24
|
2019-09-27 09:26:51 +08:00
|
|
|
|
2022-03-27 14:09:24 +08:00
|
|
|
PKG_SOURCE_PROTO:=git
|
|
|
|
PKG_SOURCE_URL:=https://gitlab.freedesktop.org/mobile-broadband/ModemManager.git
|
2024-04-22 16:26:15 +08:00
|
|
|
PKG_SOURCE_VERSION:=$(PKG_VERSION)
|
2024-05-24 04:15:35 +08:00
|
|
|
PKG_MIRROR_HASH:=72d129a00d51f0acf4c421f02dd342728ca42980bd9644e3c9a69ca0792fd60b
|
2019-09-27 09:26:51 +08:00
|
|
|
|
2021-08-22 13:50:33 +08:00
|
|
|
PKG_MAINTAINER:=Nicholas Smith <nicholas@nbembedded.com>
|
2020-01-23 12:08:48 +08:00
|
|
|
PKG_LICENSE:=GPL-2.0-or-later
|
|
|
|
PKG_LICENSE_FILES:=COPYING
|
2019-09-27 09:26:51 +08:00
|
|
|
|
2022-03-27 14:09:24 +08:00
|
|
|
PKG_BUILD_DEPENDS:=glib2/host libxslt/host
|
2023-03-23 16:09:13 +08:00
|
|
|
PKG_BUILD_FLAGS:=gc-sections
|
2019-10-26 21:01:23 +08:00
|
|
|
|
2019-09-27 09:26:51 +08:00
|
|
|
include $(INCLUDE_DIR)/package.mk
|
2020-04-20 05:40:02 +08:00
|
|
|
include $(INCLUDE_DIR)/nls.mk
|
2022-03-27 14:09:24 +08:00
|
|
|
include $(INCLUDE_DIR)/meson.mk
|
|
|
|
|
2023-03-23 16:09:13 +08:00
|
|
|
TARGET_CFLAGS += -fno-merge-all-constants -fmerge-constants
|
2019-09-27 09:26:51 +08:00
|
|
|
|
|
|
|
define Package/modemmanager/config
|
|
|
|
source "$(SOURCE)/Config.in"
|
|
|
|
endef
|
|
|
|
|
|
|
|
define Package/modemmanager
|
|
|
|
SECTION:=net
|
|
|
|
CATEGORY:=Network
|
|
|
|
TITLE:=Control utility for any kind of mobile broadband modem
|
|
|
|
URL:=https://www.freedesktop.org/wiki/Software/ModemManager
|
|
|
|
DEPENDS:= \
|
|
|
|
$(INTL_DEPENDS) \
|
|
|
|
+glib2 \
|
|
|
|
+dbus \
|
2019-12-19 16:41:40 +08:00
|
|
|
+ppp \
|
2019-09-27 09:26:51 +08:00
|
|
|
+MODEMMANAGER_WITH_MBIM:libmbim \
|
2022-03-27 14:09:24 +08:00
|
|
|
+MODEMMANAGER_WITH_QMI:libqmi \
|
|
|
|
+MODEMMANAGER_WITH_QRTR:libqrtr-glib
|
2019-09-27 09:26:51 +08:00
|
|
|
endef
|
|
|
|
|
|
|
|
define Package/modemmanager/description
|
|
|
|
ModemManager is a D-Bus-activated service which allows controlling mobile
|
|
|
|
broadband modems. Add kernel modules for your modems as needed.
|
|
|
|
Select Utilities/usb-modeswitch if needed.
|
|
|
|
endef
|
|
|
|
|
2024-08-03 21:30:39 +08:00
|
|
|
define Package/modemmanager-rpcd
|
|
|
|
SECTION:=net
|
|
|
|
CATEGORY:=Network
|
|
|
|
TITLE:=RPC interface for ModemManager for rpcd
|
|
|
|
URL:=https://www.freedesktop.org/wiki/Software/ModemManager
|
|
|
|
DEPENDS:= \
|
|
|
|
modemmanager \
|
|
|
|
+lua-cjson
|
|
|
|
endef
|
|
|
|
|
|
|
|
define Package/modemmanager-rpcd/description
|
|
|
|
ModemManager is a D-Bus-activated service which allows controlling mobile
|
|
|
|
broadband modems.
|
|
|
|
|
|
|
|
This package enables an rpcd interface for getting information from
|
|
|
|
ModemManager using e.g. ubus.
|
|
|
|
endef
|
|
|
|
|
2022-03-27 14:09:24 +08:00
|
|
|
MESON_ARGS += \
|
|
|
|
-Dudev=false \
|
|
|
|
-Dudevdir=/lib/udev \
|
2022-11-29 02:34:28 +08:00
|
|
|
-Dtests=false \
|
2022-03-27 14:09:24 +08:00
|
|
|
-Dsystemdsystemunitdir=no \
|
|
|
|
-Dsystemd_suspend_resume=false \
|
|
|
|
-Dsystemd_journal=false \
|
|
|
|
-Dpolkit=no \
|
|
|
|
-Dintrospection=false \
|
|
|
|
-Dman=false \
|
|
|
|
-Dbash_completion=false \
|
2023-10-17 20:22:14 +08:00
|
|
|
-Dbuiltin_plugins=true \
|
2022-03-27 14:09:24 +08:00
|
|
|
-Db_lto=true \
|
|
|
|
-Dmbim=$(if $(CONFIG_MODEMMANAGER_WITH_MBIM),true,false) \
|
|
|
|
-Dqmi=$(if $(CONFIG_MODEMMANAGER_WITH_QMI),true,false) \
|
|
|
|
-Dqrtr=$(if $(CONFIG_MODEMMANAGER_WITH_QRTR),true,false) \
|
|
|
|
-Dat_command_via_dbus=$(if $(CONFIG_MODEMMANAGER_WITH_AT_COMMAND_VIA_DBUS),true,false)
|
2019-09-27 09:26:51 +08:00
|
|
|
|
|
|
|
define Build/InstallDev
|
|
|
|
$(INSTALL_DIR) $(1)/usr/include/ModemManager
|
|
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/include/ModemManager/*.h $(1)/usr/include/ModemManager
|
|
|
|
$(INSTALL_DIR) $(1)/usr/include/libmm-glib
|
|
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/include/libmm-glib/*.h $(1)/usr/include/libmm-glib
|
|
|
|
$(INSTALL_DIR) $(1)/usr/lib
|
|
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libmm-glib.so* $(1)/usr/lib
|
|
|
|
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
|
|
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/ModemManager.pc $(1)/usr/lib/pkgconfig
|
|
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/mm-glib.pc $(1)/usr/lib/pkgconfig
|
2023-08-18 19:27:19 +08:00
|
|
|
$(INSTALL_DIR) $(1)/usr/share/dbus-1/interfaces
|
|
|
|
$(CP) $(PKG_BUILD_DIR)/introspection/org.freedesktop.ModemManager1.* $(1)/usr/share/dbus-1/interfaces
|
2019-09-27 09:26:51 +08:00
|
|
|
endef
|
|
|
|
|
|
|
|
define Package/modemmanager/install
|
|
|
|
$(INSTALL_DIR) $(1)/lib/udev/rules.d
|
|
|
|
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/lib/udev/rules.d/*.rules $(1)/lib/udev/rules.d
|
|
|
|
|
|
|
|
$(INSTALL_DIR) $(1)/usr/sbin
|
|
|
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/ModemManager $(1)/usr/sbin
|
ModemManager: refactoring procd init script
The way the init script is written now, we get a bad output when calling
the ubus service backend.
ubus call service list "{'verbose':true,'name':'modemmanager'}"
>{
> "modemmanager": {
> "instances": {
> "instance1": {
> "running": true,
> "pid": 20511,
> "command": [
> "sh",
> "-c",
> ".
>/usr/share/ModemManager/modemmanager.common; \t
>mkdir -m 0755 -p /var/run/modemmanager; \t
>mm_cleanup_interfaces; \t
>( mm_report_events_from_cache ) >/dev/null 2>&1 & \t
>/usr/sbin/ModemManager"
> ],
> "term_timeout": 5,
> "respawn": {
> "threshold": 3600,
> "timeout": 5,
> "retry": 5
> },
> "pidfile":"/var/run/modemmanager/modemmanager.pid"
> }
> }
> }
>}"
I also get the output in the log that the PID file cannot be created.
> daemon.err procd: Failed to remove pidfile: :No such file or directory
The changes in this commit fixes this issues, by moving startup into a
wrapper script.
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2021-12-03 22:57:33 +08:00
|
|
|
$(INSTALL_BIN) ./files/usr/sbin/ModemManager-wrapper $(1)/usr/sbin
|
2024-01-17 18:07:25 +08:00
|
|
|
$(INSTALL_BIN) ./files/usr/sbin/ModemManager-monitor $(1)/usr/sbin
|
2019-09-27 09:26:51 +08:00
|
|
|
|
|
|
|
$(INSTALL_DIR) $(1)/usr/bin
|
|
|
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mmcli $(1)/usr/bin
|
|
|
|
|
|
|
|
$(INSTALL_DIR) $(1)/usr/lib
|
|
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libmm-glib.so.* $(1)/usr/lib
|
|
|
|
|
2022-05-04 20:01:57 +08:00
|
|
|
$(INSTALL_DIR) $(1)/usr/lib/ModemManager/connection.d
|
2024-03-05 19:59:23 +08:00
|
|
|
$(INSTALL_BIN) ./files/usr/lib/ModemManager/connection.d/10-report-down \
|
|
|
|
$(1)/usr/lib/ModemManager/connection.d
|
2022-05-04 20:01:57 +08:00
|
|
|
|
2019-09-27 09:26:51 +08:00
|
|
|
$(INSTALL_DIR) $(1)/etc/dbus-1/system.d
|
|
|
|
$(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/dbus-1/system.d/org.freedesktop.ModemManager1.conf $(1)/etc/dbus-1/system.d
|
|
|
|
|
|
|
|
$(INSTALL_DIR) $(1)/usr/share/dbus-1/system-services
|
|
|
|
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/dbus-1/system-services/org.freedesktop.ModemManager1.service $(1)/usr/share/dbus-1/system-services
|
|
|
|
|
2019-11-05 21:12:29 +08:00
|
|
|
$(INSTALL_DIR) $(1)/usr/share/ModemManager
|
2023-09-06 11:38:27 +08:00
|
|
|
$$(if $$(wildcard $(PKG_INSTALL_DIR)/usr/share/ModemManager/*.conf),$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/ModemManager/*.conf $(1)/usr/share/ModemManager,)
|
2024-03-05 19:59:23 +08:00
|
|
|
$(INSTALL_DATA) ./files/usr/share/ModemManager/modemmanager.common \
|
|
|
|
$(1)/usr/share/ModemManager
|
2019-11-05 21:12:29 +08:00
|
|
|
|
2022-03-29 19:12:43 +08:00
|
|
|
$(INSTALL_DIR) $(1)/usr/share/ModemManager/fcc-unlock.available.d
|
|
|
|
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/ModemManager/fcc-unlock.available.d/* $(1)/usr/share/ModemManager/fcc-unlock.available.d
|
|
|
|
|
2019-09-27 09:26:51 +08:00
|
|
|
$(INSTALL_DIR) $(1)/etc/init.d
|
2024-03-05 19:59:23 +08:00
|
|
|
$(INSTALL_BIN) ./files/etc/init.d/modemmanager \
|
|
|
|
$(1)/etc/init.d/modemmanager
|
2019-09-27 09:26:51 +08:00
|
|
|
|
|
|
|
$(INSTALL_DIR) $(1)/etc/hotplug.d/net
|
2024-03-05 19:59:23 +08:00
|
|
|
$(INSTALL_DATA) ./files/etc/hotplug.d/net/25-modemmanager-net \
|
|
|
|
$(1)/etc/hotplug.d/net
|
2019-09-27 09:26:51 +08:00
|
|
|
|
|
|
|
$(INSTALL_DIR) $(1)/etc/hotplug.d/tty
|
2024-03-05 19:59:23 +08:00
|
|
|
$(INSTALL_DATA) ./files/etc/hotplug.d/tty/25-modemmanager-tty \
|
|
|
|
$(1)/etc/hotplug.d/tty
|
2019-09-27 09:26:51 +08:00
|
|
|
|
2021-10-05 03:40:22 +08:00
|
|
|
$(INSTALL_DIR) $(1)/etc/hotplug.d/wwan
|
2024-03-05 19:59:23 +08:00
|
|
|
$(INSTALL_DATA) ./files/etc/hotplug.d/wwan/25-modemmanager-wwan \
|
|
|
|
$(1)/etc/hotplug.d/wwan
|
2021-10-05 03:40:22 +08:00
|
|
|
|
2025-02-11 20:58:57 +08:00
|
|
|
ifeq ($(CONFIG_MODEMMANAGER_WITH_NETIFD),y)
|
2019-09-27 09:26:51 +08:00
|
|
|
$(INSTALL_DIR) $(1)/lib/netifd/proto
|
2024-03-05 19:59:23 +08:00
|
|
|
$(INSTALL_BIN) ./files/lib/netifd/proto/modemmanager.sh \
|
|
|
|
$(1)/lib/netifd/proto
|
2025-02-11 20:58:57 +08:00
|
|
|
endif
|
2019-09-27 09:26:51 +08:00
|
|
|
endef
|
|
|
|
|
2024-08-03 21:30:39 +08:00
|
|
|
define Package/modemmanager-rpcd/install
|
|
|
|
$(INSTALL_DIR) $(1)/usr/libexec/rpcd
|
|
|
|
$(INSTALL_BIN) ./files/usr/libexec/rpcd/modemmanager \
|
|
|
|
$(1)/usr/libexec/rpcd/
|
|
|
|
endef
|
|
|
|
|
2019-09-27 09:26:51 +08:00
|
|
|
$(eval $(call BuildPackage,modemmanager))
|
2024-08-03 21:30:39 +08:00
|
|
|
$(eval $(call BuildPackage,modemmanager-rpcd))
|