Skip to content

Register dmicmp as a service directly via libsystemd's new type=library - #3

Merged
JohnAmadis merged 2 commits into
mainfrom
claude/focused-carson-stjd7z
Sep 19, 2026
Merged

JohnAmadis merged 2 commits into
mainfrom
claude/focused-carson-stjd7z

Conversation

@JohnAmadis

@JohnAmadis JohnAmadis commented Sep 19, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Depends on Rename type=module to type=library, matching dmod's own module-kind naming dmsystem#2 (rename of type=module to type=library; originally built against Add ping tool as a separately-releasable application module #1, now merged, which added the feature under the name type=module).
  • libsystemd supports units whose exec is a Library-type module: type=library loads+enables it on start and disables+unloads it on stop, instead of spawning it as a process.
  • Removes configs/icmp-start.dme/configs/icmp-stop.dme, the two dmell scripts that used to wrap module load/module enable/module unload dmicmp so a type=oneshot unit (exec=dmell args=<path to icmp-start.dme>) could drive them.
  • configs/icmp.ini now registers dmicmp directly: exec=dmicmp + type=library - no launcher script in between.
  • service stop icmp now actually works: the old type=oneshot unit's process was already gone by the time it would run, so turning ping response back off required running icmp-stop.dme by hand. With type=library, stop disables+unloads dmicmp for real.
  • Updated docs/service.md, root README.md and dmicmp.dmr's resource comment to match.

Test plan

🤖 Generated with Claude Code

https://claude.ai/code/session_01JibXp8rSB2Bp1DKtnQhxaQ

dmsystem's libsystemd now supports type=module units, which load+enable
(instead of spawn) a Library-type module directly. This removes the need
for icmp-start.dme/icmp-stop.dme, the dmell scripts that used to wrap
"module load"/"module enable"/"module unload" for icmp.ini's exec=dmell
launcher.

icmp.ini now just says "exec=dmicmp" + "type=module" directly, and
"service stop icmp" actually works now (it used to have nothing to act
on, since the old type=oneshot unit's process was already gone by the
time it would run).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JibXp8rSB2Bp1DKtnQhxaQ
…enamed unit type

dmsystem's libsystemd renamed its "module" unit type to "library" (see
choco-technologies/dmsystem#2) - "module" was ambiguous since an
Application is a DMOD module too. Update icmp.ini and docs to match
before this PR merges.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JibXp8rSB2Bp1DKtnQhxaQ
@JohnAmadis JohnAmadis changed the title Register dmicmp as a service directly via libsystemd's new type=module Register dmicmp as a service directly via libsystemd's new type=library Sep 19, 2026
@JohnAmadis
JohnAmadis merged commit 08a0ac0 into main Sep 19, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants