aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.ac1
-rw-r--r--data/Makefile.am2
-rw-r--r--data/dispatcher-connection/99-log-event22
-rw-r--r--data/dispatcher-connection/Makefile.am21
-rw-r--r--data/dispatcher-connection/meson.build25
-rw-r--r--meson.build1
6 files changed, 71 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac
index 00607314..13837c1f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -577,6 +577,7 @@ Makefile
data/Makefile
data/ModemManager.pc
data/mm-glib.pc
+data/dispatcher-connection/Makefile
data/dispatcher-fcc-unlock/Makefile
data/tests/Makefile
data/tests/org.freedesktop.ModemManager1.service
diff --git a/data/Makefile.am b/data/Makefile.am
index d7ede2de..12330e27 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -1,5 +1,5 @@
-SUBDIRS = . dispatcher-fcc-unlock tests
+SUBDIRS = . dispatcher-connection dispatcher-fcc-unlock tests
edit = @sed \
-e 's|@sbindir[@]|$(sbindir)|g' \
diff --git a/data/dispatcher-connection/99-log-event b/data/dispatcher-connection/99-log-event
new file mode 100644
index 00000000..31188efa
--- /dev/null
+++ b/data/dispatcher-connection/99-log-event
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+# SPDX-License-Identifier: CC0-1.0
+# 2022 Aleksander Morgado <aleksander@aleksander.es>
+#
+# Example connection info dispatcher script
+#
+
+# require program name and at least 4 arguments
+[ $# -lt 4 ] && exit 1
+
+MODEM_PATH="$1"
+BEARER_PATH="$2"
+INTERFACE="$3"
+STATE="$4"
+
+MODEM_ID=$(basename ${MODEM_PATH})
+BEARER_ID=$(basename ${BEARER_PATH})
+
+# report in syslog the event
+logger -t "connection-dispatch" "modem${MODEM_ID}: bearer${BEARER_ID}: interface ${INTERFACE} ${STATE}"
+exit $?
diff --git a/data/dispatcher-connection/Makefile.am b/data/dispatcher-connection/Makefile.am
new file mode 100644
index 00000000..3b86e7f3
--- /dev/null
+++ b/data/dispatcher-connection/Makefile.am
@@ -0,0 +1,21 @@
+
+# Directory for user-enabled tools
+connectionuser = $(pkgsysconfdir)/connection.d
+
+# Directory for package-enabled tools
+connectionpackage = $(pkglibdir)/connection.d
+
+# Shipped but disabled FCC unlock tools
+connectionavailabledir = $(pkgdatadir)/connection.available.d
+connectionavailable_SCRIPTS = \
+ 99-log-event \
+ $(NULL)
+
+EXTRA_DIST = $(connectionavailable_SCRIPTS)
+
+install-data-hook:
+ $(MKDIR_P) $(DESTDIR)$(connectionuser); \
+ $(MKDIR_P) $(DESTDIR)$(connectionpackage); \
+ cd $(DESTDIR)$(connectionavailabledir); \
+ chmod go-rwx *; \
+ $(NULL)
diff --git a/data/dispatcher-connection/meson.build b/data/dispatcher-connection/meson.build
new file mode 100644
index 00000000..2e7ef8b4
--- /dev/null
+++ b/data/dispatcher-connection/meson.build
@@ -0,0 +1,25 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+# Copyright (C) 2021 Aleksander Morgado <aleksander@aleksander.es>
+
+# Shipped example connection info dispatcher
+mm_connectiondiravailable = mm_pkgdatadir / 'connection.available.d'
+
+# Directory for user-enabled scripts
+mm_connectiondiruser = mm_pkgsysconfdir / 'connection.d'
+
+# Directory for package-enabled tools
+mm_connectiondirpackage = mm_pkglibdir / 'connection.d'
+
+examples = files(
+ '99-log-event',
+)
+
+install_data(
+ examples,
+ install_mode: 'rwx------',
+ install_dir: mm_connectiondiravailable,
+)
+
+mkdir_cmd = 'mkdir -p ${DESTDIR}@0@'
+meson.add_install_script('sh', '-c', mkdir_cmd.format(mm_prefix / mm_connectiondiruser))
+meson.add_install_script('sh', '-c', mkdir_cmd.format(mm_prefix / mm_connectiondirpackage))
diff --git a/meson.build b/meson.build
index 0fc3469a..540c6d50 100644
--- a/meson.build
+++ b/meson.build
@@ -367,6 +367,7 @@ version_conf = {
subdir('po')
subdir('data')
+subdir('data/dispatcher-connection')
subdir('data/dispatcher-fcc-unlock')
subdir('introspection')
subdir('include')