Compare commits

...
2 Commits
Author SHA1 Message Date
mesh-admin ea73e713f5 i3status-rust: name the pacman-contrib package apart from the update script, and expect it in the test (issue 628)
mesh/merge-gate out of date: judged against trunk cd239283207a, the trunk is now 0d723484a84a; judged again on a recheck or when it is merged
mesh/repo-check out of date: judged against trunk cd239283207a, the trunk is now 0d723484a84a; judged again on a recheck or when it is merged
mesh/delivery checking
The package took the id `updates`, which the update script already holds, so the node-engine refused two resources with one identity.
2026-10-13 11:59:31 +00:00
mesh-admin e79197d5a1 i3status-rust, docker-compose: each module declares the packages it needs (issue 628)
mesh/merge-gate out of date: judged against trunk 19ecad261cf2, the trunk is now 8922c890595b; judged again on a recheck or when it is merged
mesh/repo-check out of date: judged against trunk 19ecad261cf2, the trunk is now 8922c890595b; judged again on a recheck or when it is merged
mesh/delivery superseded: a newer head of the same pull request
i3status-rust left pacman-contrib to the pacman module because two modules declaring one package was once refused; ADR 0303 allows it, so the bar declares what its update block runs. docker-compose's README said the package goes with the module, which the node-engine never does.
2026-10-13 11:52:38 +00:00
4 changed files with 11 additions and 4 deletions
+3 -2
View File
@@ -19,8 +19,9 @@ runtime is missing or unreachable rather than an empty list.
- **An owner for a package both workstations already carry.** On both, `docker-compose` 5.5.0 is
installed explicitly by hand, as the plugin in `/usr/lib/docker/cli-plugins`. Assigning the module
changes nothing on disk; from then on the package is the mesh's, upgraded with the machine and
given back when the module goes.
changes nothing on disk; from then on the mesh says the package is needed, and it is upgraded with
the machine. Unassigning the module leaves the package installed: the node-engine never removes a
package a declaration stopped naming (novox/hq ADR 0303).
- **The projects become visible from the mesh** without a shell on the machine: which are running,
where their files are, their containers, logs and rendered configuration.
- **No account-level copy of the plugin** exists on either workstation (`~/.docker/cli-plugins` is
+1 -1
View File
@@ -2,7 +2,7 @@
The bars as a module (novox/hq ADR 0208, research 026/05).
- Installs `i3status-rust`. The update block's `checkupdates` comes from `pacman-contrib`, which the `pacman` module installs on every node; two modules declaring one package is refused at composition.
- Installs `i3status-rust`, and `pacman-contrib` for the update block's `checkupdates`. The `pacman` module declares `pacman-contrib` too; several modules may declare one package (novox/hq ADR 0303), so each declares what it needs.
Claims the mesh's `node-bar` seat (no verbs yet, ADR 0208 §2) and renders the blocks other modules
contribute to it (ADR 0255, below). Requires `x11-display` on its own
machine: its bars are i3bar's.
@@ -23,7 +23,8 @@ func TestItClaimsTheBarSeatAndRequiresTheXDisplay(t *testing.T) {
if !reflect.DeepEqual(m.Requires, []string{"x11-display"}) {
t.Fatalf("requires: %v", m.Requires)
}
if present, absent := m.packages(); !reflect.DeepEqual(present, []string{"i3status-rust"}) || absent != nil {
// pacman-contrib for the update block's checkupdates, declared here though the pacman module declares it too (ADR 0303).
if present, absent := m.packages(); !reflect.DeepEqual(present, []string{"i3status-rust", "pacman-contrib"}) || absent != nil {
t.Fatalf("packages: %v, absent %v", present, absent)
}
}
+5
View File
@@ -35,6 +35,11 @@
"type": "package",
"package": "i3status-rust"
},
{
"id": "checkupdates",
"type": "package",
"package": "pacman-contrib"
},
{
"id": "configuration-dir",
"type": "directory",