data: add example connection dispatcher

Just a minimal example that prints the events in syslog
This commit is contained in:
Aleksander Morgado
2022-03-24 13:10:09 +01:00
parent 99232154b3
commit 7960b365d5
6 changed files with 71 additions and 1 deletions

View File

@@ -1,5 +1,5 @@
SUBDIRS = . dispatcher-fcc-unlock tests
SUBDIRS = . dispatcher-connection dispatcher-fcc-unlock tests
edit = @sed \
-e 's|@sbindir[@]|$(sbindir)|g' \

View File

@@ -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 $?

View File

@@ -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)

View File

@@ -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))