2019-09-27 01:26:51 +00: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
|
2022-09-12 07:01:33 +00:00
|
|
|
PKG_SOURCE_VERSION:=1.18.12
|
2021-08-22 06:12:36 +00:00
|
|
|
PKG_RELEASE:=$(AUTORELEASE)
|
2019-09-27 01:26:51 +00:00
|
|
|
|
2022-03-27 06:09:24 +00:00
|
|
|
PKG_SOURCE_PROTO:=git
|
|
|
|
PKG_SOURCE_URL:=https://gitlab.freedesktop.org/mobile-broadband/ModemManager.git
|
2022-09-12 07:01:33 +00:00
|
|
|
PKG_MIRROR_HASH:=5a32f90fc58345e2136f4196166a7a2b95a804a6b92adf1bfb5b7a1173a5b1a0
|
2019-09-27 01:26:51 +00:00
|
|
|
|
2021-08-22 05:50:33 +00:00
|
|
|
PKG_MAINTAINER:=Nicholas Smith <nicholas@nbembedded.com>
|
2020-01-23 04:08:48 +00:00
|
|
|
PKG_LICENSE:=GPL-2.0-or-later
|
|
|
|
PKG_LICENSE_FILES:=COPYING
|
2019-09-27 01:26:51 +00:00
|
|
|
|
2022-03-27 06:09:24 +00:00
|
|
|
PKG_BUILD_DEPENDS:=glib2/host libxslt/host
|
2019-10-26 13:01:23 +00:00
|
|
|
|
2019-09-27 01:26:51 +00:00
|
|
|
include $(INCLUDE_DIR)/package.mk
|
2020-04-19 21:40:02 +00:00
|
|
|
include $(INCLUDE_DIR)/nls.mk
|
2022-03-27 06:09:24 +00:00
|
|
|
include $(INCLUDE_DIR)/meson.mk
|
|
|
|
|
|
|
|
TARGET_CFLAGS += -ffunction-sections -fdata-sections -fno-merge-all-constants -fmerge-constants
|
|
|
|
TARGET_LDFLAGS += -Wl,--gc-sections
|
2019-09-27 01:26:51 +00: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 08:41:40 +00:00
|
|
|
+ppp \
|
2019-09-27 01:26:51 +00:00
|
|
|
+MODEMMANAGER_WITH_MBIM:libmbim \
|
2022-03-27 06:09:24 +00:00
|
|
|
+MODEMMANAGER_WITH_QMI:libqmi \
|
|
|
|
+MODEMMANAGER_WITH_QRTR:libqrtr-glib
|
2019-09-27 01:26:51 +00: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
|
|
|
|
|
2022-03-27 06:09:24 +00:00
|
|
|
MESON_ARGS += \
|
|
|
|
-Dudev=false \
|
|
|
|
-Dudevdir=/lib/udev \
|
|
|
|
-Dsystemdsystemunitdir=no \
|
|
|
|
-Dsystemd_suspend_resume=false \
|
|
|
|
-Dsystemd_journal=false \
|
|
|
|
-Dpolkit=no \
|
|
|
|
-Dintrospection=false \
|
|
|
|
-Dman=false \
|
|
|
|
-Dbash_completion=false \
|
|
|
|
-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 01:26:51 +00: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
|
|
|
|
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 14:57:33 +00:00
|
|
|
$(INSTALL_BIN) ./files/usr/sbin/ModemManager-wrapper $(1)/usr/sbin
|
2019-09-27 01:26:51 +00: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
|
|
|
|
|
|
|
|
$(INSTALL_DIR) $(1)/usr/lib/ModemManager
|
2019-12-10 13:12:44 +00:00
|
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ModemManager/libmm-shared-*.so* $(1)/usr/lib/ModemManager
|
2019-09-27 01:26:51 +00:00
|
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ModemManager/libmm-plugin-*.so* $(1)/usr/lib/ModemManager
|
|
|
|
|
2022-05-04 12:01:57 +00:00
|
|
|
$(INSTALL_DIR) $(1)/usr/lib/ModemManager/connection.d
|
|
|
|
$(INSTALL_BIN) ./files/10-report-down $(1)/usr/lib/ModemManager/connection.d
|
|
|
|
|
2019-09-27 01:26:51 +00: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 13:12:29 +00:00
|
|
|
$(INSTALL_DIR) $(1)/usr/share/ModemManager
|
|
|
|
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/ModemManager/*.conf $(1)/usr/share/ModemManager
|
2019-11-27 08:24:07 +00:00
|
|
|
$(INSTALL_DATA) ./files/modemmanager.common $(1)/usr/share/ModemManager
|
2019-11-05 13:12:29 +00:00
|
|
|
|
2022-03-29 11:12:43 +00: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 01:26:51 +00:00
|
|
|
$(INSTALL_DIR) $(1)/etc/init.d
|
|
|
|
$(INSTALL_BIN) ./files/modemmanager.init $(1)/etc/init.d/modemmanager
|
|
|
|
|
2019-11-20 11:49:11 +00:00
|
|
|
$(INSTALL_DIR) $(1)/etc/hotplug.d/usb
|
|
|
|
$(INSTALL_DATA) ./files/25-modemmanager-usb $(1)/etc/hotplug.d/usb
|
|
|
|
|
2019-09-27 01:26:51 +00:00
|
|
|
$(INSTALL_DIR) $(1)/etc/hotplug.d/net
|
|
|
|
$(INSTALL_DATA) ./files/25-modemmanager-net $(1)/etc/hotplug.d/net
|
|
|
|
|
|
|
|
$(INSTALL_DIR) $(1)/etc/hotplug.d/tty
|
|
|
|
$(INSTALL_DATA) ./files/25-modemmanager-tty $(1)/etc/hotplug.d/tty
|
|
|
|
|
2021-10-04 19:40:22 +00:00
|
|
|
$(INSTALL_DIR) $(1)/etc/hotplug.d/wwan
|
|
|
|
$(INSTALL_DATA) ./files/25-modemmanager-wwan $(1)/etc/hotplug.d/wwan
|
|
|
|
|
2019-09-27 01:26:51 +00:00
|
|
|
$(INSTALL_DIR) $(1)/lib/netifd/proto
|
|
|
|
$(INSTALL_BIN) ./files/modemmanager.proto $(1)/lib/netifd/proto/modemmanager.sh
|
|
|
|
endef
|
|
|
|
|
|
|
|
$(eval $(call BuildPackage,modemmanager))
|