@ 261101.7

261026.45 · 5f6ee550d2d23f8cb4b04d6d99eb10c407166b5e

make install's unit is www-dev, and a trim spares a locked repo

make install wrote its user unit under the package's name, so it hid the package's user unit. It also stood aside for www@USER. Since --restart serves only its own binary's trees, one install's persistent trees then stayed down at every login. The unit is now www-dev.service, from systemd/dev.service.in, with no condition; it runs beside the package's units. Only the package's two units still exclude each other, since they run one binary. install disables and removes an older www.service it wrote.

Every server shares ~/.cache/www, but a trim deleted repos without their lock. One server could delete a repo another was fetching. drop now takes the lock without waiting and skips a held repo, and a new repo stays when only such repos keep the cache over its limit.

reading declarations

Changes to systemd/. All files

systemd/dev.service.in

new file mode 100644@@ -0,0 +1,17 @@+# make install's user unit serves the trees that its build's .LOCK files+# name, from login to logout. Enable it with:+# systemctl --user enable @NAME@-dev+# --restart starts a server for each address whose registry links a .LOCK+# and names this build. The package's units serve the trees its binary+# served last, so this unit runs beside them.+# Stopping the unit sends its servers SIGTERM, which keeps every .LOCK.+[Unit]+Description=@NAME@-dev: serve the trees that make install's build last served++[Service]+Type=oneshot+RemainAfterExit=yes+ExecStart=@BIN@ --restart++[Install]+WantedBy=default.target