lemurs, i3status-rust: what the first assignment refused
The host refuses boot on a service that leaves its state to the machine, so lemurs.service is declared running (no trigger, so a push still never restarts it). pacman-contrib is the pacman module's, and two modules declaring one package make a node unresolvable.
This commit is contained in:
@@ -5,9 +5,10 @@ The login manager as a module (novox/hq ADR 0208, research 026, to-be 42 phase 2
|
||||
- **Claims `node-login-manager`** and serves its verb `sessions`.
|
||||
- **Package `lemurs`**, from the official repositories. It replaces the user repository's
|
||||
`lemurs-git` that both workstations run.
|
||||
- **Service `lemurs.service`, enabled at boot.** It is its own `display-manager.service` alias. Its
|
||||
state is declared as nothing: a push never starts, stops or restarts the login manager, because
|
||||
restarting it ends the session it started. A change to its configuration applies at its next
|
||||
- **Service `lemurs.service`, enabled at boot and running.** It is its own `display-manager.service`
|
||||
alias. It declares no restart or reload trigger, so a push starts it only where it is not running
|
||||
and never restarts it, because restarting it ends the session it started. (A state is required:
|
||||
the host refuses `boot` on a service that leaves its state to the machine.) A change to its configuration applies at its next
|
||||
start (a reboot).
|
||||
- **Gated by `package-manager`, `service-manager` and `seat`.** A machine without a display has
|
||||
nothing to log into.
|
||||
|
||||
@@ -75,12 +75,14 @@ func TestTheOfficialPackageAndItsServiceEnabledButNeverRestarted(t *testing.T) {
|
||||
t.Fatalf("the official package, not lemurs-git: %v", p)
|
||||
}
|
||||
s := resource(t, m, "service")
|
||||
if s["unit"] != "lemurs.service" || s["boot"] != "enabled" {
|
||||
// Running and enabled: the host refuses boot without a state (a stateless service declares only
|
||||
// its triggers). Running starts it only where it is not; with no trigger, nothing restarts it.
|
||||
if s["unit"] != "lemurs.service" || s["boot"] != "enabled" || s["state"] != "running" {
|
||||
t.Fatalf("%v", s)
|
||||
}
|
||||
for _, k := range []string{"state", "restart-on", "reload-on"} {
|
||||
for _, k := range []string{"restart-on", "reload-on"} {
|
||||
if _, ok := s[k]; ok {
|
||||
t.Fatalf("the login manager is never started, stopped or restarted by a push (%s): a change applies at its next start", k)
|
||||
t.Fatalf("the login manager is never restarted by a push (%s): a change applies at its next start", k)
|
||||
}
|
||||
}
|
||||
if strings.Join(m.Capabilities, ",") != "package-manager,service-manager,seat" {
|
||||
|
||||
@@ -48,6 +48,7 @@
|
||||
"id": "service",
|
||||
"type": "service",
|
||||
"unit": "lemurs.service",
|
||||
"state": "running",
|
||||
"boot": "enabled"
|
||||
}
|
||||
],
|
||||
|
||||
Reference in New Issue
Block a user