Package Podman TUI and Podman API defaults - #369
Conversation
|
One thing I noticed. The configuration for alternate Docker providers can be clobbered here: pacman -Qq docker != docker (omarchy-settings-dev/omarchy-settings-dev.install#L63) which assumes only the package literally named docker can be the real engine. Pacman resolves virtual packages to their installed provider; for example, docker-git provides docker so the query would return docker-git. The scriptlet then deletes stock configuration or archives custom configuration while the real Docker engine remains installed, violating the pending-migration safeguard. We should treat only an empty result or podman-docker as retired, mirror the fix in both install files, and add an alternate-provider fixture. This isn't relevent though if we intentionally only support Arch's official docker package and explictly exclude other providers. Then this can be ignored! |
|
@ErikMelton Fixed in both settings variants: alternate Docker providers now retain their configuration. Added a docker-git regression fixture; real pacman tests and CI pass. Thanks! |
Package Podman TUI for terminal container management and the Podman Docker-API environment generator in both settings variants while preserving active Docker configuration during pending migrations. An in-place settings upgrade must not remove configuration for an installed engine, including alternate providers such as
docker-git.Changes
podman-restart.service.d/10-local.confoverride in both settings variants when available. Managed login/logout lifecycle stays local even when an interactive remote endpoint is configured; older sources retain their existing payload.podman-tui2.0.0 recipe with tracked upstream metadata. A durable local patch declarespodman>=6at package scope, matching the upstream compatibility requirement and retaining it in the built package metadata./usr/lib/systemd/user-environment-generators/only when the selected source contains it. Pinned stable source0534987still builds and retains its Docker defaults./usr/share/omarchy/retired-docker/and declarediffutilsfor content comparison.podman-docker. Preserve configuration for alternate engines and failed package-database reads. Remove stock defaults and archive custom files without overwriting prior backups; later upgrades and reinstalls apply the same policy.podman-docker, preserving explicit endpoint/context variables. Installing settings alone does not redirect SDK clients before migration.Retired compatibility files remain recorded in package metadata. The preservation guarantee covers in-place upgrades; switching between stable and dev package names retains pacman's existing
.pacsavereplacement behavior.Validation
57ff1ba): upstream-sync and package self-tests pass. Four realpackage()builds cover both settings variants against current Podman source and pinned stable0534987, verifying override bytes/mode 644 when present and omission for older sources. A scoped Lab service using the override starts/stops a local container despite an unavailableCONTAINER_HOSTendpoint.dd66c49): upstream sync and packaging self-tests pass; the tracked patch regenerates cleanly. Built and installedpodman-tui-2.0.0-1.1in Omarchy Lab and verified.PKGINFOrequirespodman>=6. With Podman 6.1.1, the companion launcher connects rootlessly and displays a running Redis container and its logs. Fresh ISO validation of this addition remains pending publication to Omarchy's package mirror.538c25e): 14 scenarios pass across both variants, covering pending migrations, post-migration upgrades/reinstalls, fresh Podman and older-source installs, alternate-provider upgrades/reinstalls, failed queries and no-provider installs. Provider cases use real packages and pacman transactions in disposable Arch containers. Query-error cases invoke the actual retirement function with a failing pacman stub.package()functions against pinned stable and Podman sources verified all four payloads, generator contents/mode, Docker backup metadata and stock reference copies.Companions: omacom/omarchy#11032 (runtime and migration) and omacom/omarchy-iso#171 (builder and migration scenario).
Fresh packaged Podman Desktop during the successful API socket lifecycle check: