First runs of the user-unit validation on all four lanes found harness gaps, fixed here: - Arch's `su -` does not run pam_systemd, so the login shell had no XDG_RUNTIME_DIR and the CLI looked for /tmp/yams-daemon-<uid>.sock; the checks now provide the runtime dir a real login session gets and report whether su set it. - Ubuntu 24.04's systemctl --user needs the user D-Bus bus: the Debian/Ubuntu lane image gains dbus-user-session (standard on real installs) and the checks pass the bus address when present. - CLI commands fall back to an in-process daemon instead of spawning one, so the lifecycle check uses `yams daemon start` (which starts the unit) rather than expecting an ordinary command to start it. - `yams init`'s default embedder is the built-in simeon backend, which skips the onnx model provider by design. The onnx phase now checks that init's config autoloads plugins, then switches [embeddings] backend to onnxruntime to prove the bundled runtime loads (from the user journal), and restores init's config so the later phases run the user's real configuration. docs/install.md no longer claims ordinary CLI commands start the unit: `yams daemon start` and on-demand starters do. Signed-off-by: trvon <me@trevon.dev>
26 lines
623 B
Docker
26 lines
623 B
Docker
# Debian/Ubuntu systemd-in-Docker substrate for scripts/local-ci/package-validate.sh.
|
|
# BASE_IMAGE selects the distro (debian:trixie-slim, ubuntu:24.04, ...).
|
|
ARG BASE_IMAGE=debian:trixie-slim
|
|
FROM ${BASE_IMAGE}
|
|
|
|
ARG DEBIAN_FRONTEND=noninteractive
|
|
ENV container=docker
|
|
|
|
RUN set -eux; \
|
|
apt-get update && apt-get install -y --no-install-recommends \
|
|
systemd \
|
|
systemd-sysv \
|
|
dbus \
|
|
procps \
|
|
psmisc \
|
|
iproute2 \
|
|
binutils \
|
|
passwd \
|
|
dbus-user-session \
|
|
libpam-systemd \
|
|
util-linux \
|
|
ca-certificates && \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
STOPSIGNAL SIGRTMIN+3
|
|
CMD ["/sbin/init"]
|