Stage and manage the airplanes-stats wrapper in the runtime overlay - #224
Closed
d4rken wants to merge 1 commit into
Closed
Stage and manage the airplanes-stats wrapper in the runtime overlay#224d4rken wants to merge 1 commit into
d4rken wants to merge 1 commit into
Conversation
The overlay globbed feed's airplanes-*.{service,timer} units but staged the
daemon wrapper scripts from a hardcoded list and listed their manifest rows
by hand. When feed added airplanes-stats.{sh,service,timer}, the units
shipped but airplanes-stats.sh was never staged, symlinked, or enabled, so a
feeder updating to the overlay got a stats timer pointing at a missing
ExecStart.
Stage the wrappers by glob (mirroring the unit glob), add the airplanes-stats
managed_paths symlinks plus the timer to systemd.json enable, and tighten
exec-bit-check so a unit that Exec=s an unmanaged script under the runtime dir
(direct or interpreter form) fails the release. That gate runs in the publish
path, so a future dropped wrapper can't reach a published overlay.
Member
Author
|
Superseded by #227. This change predates the |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The runtime overlay shipped feed's
airplanes-stats.service/.timer(picked up by the unit glob) but not theairplanes-stats.shscript they execute, and never symlinked or enabled the units. The wrapper scripts were staged from a hardcoded list and their manifest rows were maintained by hand, so when feed added the stats pusher the script silently fell through the cracks — a feeder updating to the overlay got a stats timer pointing at a missingExecStartand never enabled.This stages the daemon wrappers by glob (the same way the units are already globbed, so a new feed wrapper lands automatically), adds the
airplanes-statsmanaged_pathssymlinks (script + service + timer) and the timer to thesystemd.jsonenable list.It also closes the gap that let the broken overlay ship:
exec-bit-check(which runs in the publish path) previously treated a unitExec=of an unmanaged runtime-dir path as "host-installed, out of scope" and skipped it. It now fails the release when a unit references a script directly under the overlay runtime dir with nomanaged_pathssymlink — scanning the wholeExec=line so an interpreter form (/bin/bash …/foo.sh) is covered too. Paths under managed directory symlinks (venv, apl-feed, lib) are excluded. A new bats assertion pins wrapper-script symmetry alongside the existing unit symmetry.After this merges, a fresh dev build republishes the overlay with the stats pusher actually present and enabled.