The README had grown to 422 lines: the device and carrier table came after 61 lines of architecture, and the configuration section after 237 lines of architecture, that table, build, run and packaging notes and GNOME Calls detail. AGENTS.md, a file for coding agents, takes that detail and adds to it: a reference to the tree at this commit, written from the code and the bench record. The README is now what a person needs: what imsd is and its status, the verified device/carrier table, what it needs, how to install and enable it, the two dialers, a status check for the installed daemon, a `Not there yet` list, and where the rest is. In-tree comments that sent readers to README sections which moved — the cross-compiling flow (the CI workflow, build-package.sh, APKBUILD.binary), GNOME Calls' known gaps (imsd-ofono-restart-calls.sh), the D-Bus ABI (main.cpp) and the Configuration section (imsd.service) — point at AGENTS.md's sections now.
24 lines
1.2 KiB
Shell
Executable file
24 lines
1.2 KiB
Shell
Executable file
#!/bin/sh
|
|
# SPDX-License-Identifier: GPL-3.0-only
|
|
# SPDX-FileCopyrightText: Copyright (C) 2026 Catcrafts®
|
|
#
|
|
# ExecStartPost of imsd-ofonod.service. GNOME Calls 50.0 keeps a stale modem
|
|
# when org.ofono vanishes and dials nothing until it is restarted (AGENTS.md
|
|
# §8.3, Known gaps), so every start of imsd-ofonod after org.ofono went away
|
|
# restarts the Calls daemon of each user running one. Its first start since
|
|
# boot is not one: no Calls has seen org.ofono go, and a Calls that runs
|
|
# already (a login during the bring-up) is left alone. The unit's own
|
|
# timestamp tells the first start from a restart (an upgrade from 0.3.9 is
|
|
# a restart); the marker covers a stop and a later start.
|
|
marker=/run/imsd-ofonod.started
|
|
if [ ! -e "$marker" ] && [ "$(systemctl show -P ActiveExitTimestampMonotonic imsd-ofonod.service)" = 0 ]; then
|
|
: > "$marker"
|
|
echo "imsd-ofono-restart-calls: first start since boot, Calls left alone"
|
|
exit 0
|
|
fi
|
|
: > "$marker"
|
|
for uid in $(systemctl list-units 'user@*.service' --legend=no --plain | sed -n 's/^user@\([0-9]*\)\.service.*/\1/p'); do
|
|
echo "imsd-ofono-restart-calls: restarting the Calls daemon of uid $uid, if it runs"
|
|
systemctl --user -M "$uid@" try-restart --no-block calls-daemon.service || :
|
|
done
|
|
exit 0
|