001-functions + archr-automount: corrigir refs herdadas

001-functions:wait_lock(): o trap rm -f "\$lockfile" referenciava
uma variável inexistente. O lock real está em \${J_CONF_LOCK}. Como
\$lockfile expandia para string vazia, rm -f "" virava no-op e
deixava /tmp/.system.cfg.lock órfão se o script morresse por SIGINT/
SIGTERM antes do rm -f explícito no final.

archr-automount.service: Before=autostart.service apontava para o
nome herdado do JELOS, que ArchR não embarca (a unit real é
archr-autostart.service). Sem o prefixo o ordering virava silently
ignored, perdendo a garantia de que /storage/games-* fosse montado
antes dos scripts de autostart consumirem os paths. Também ajustada
a Description que dizia "user autostart script" (copy-paste do
archr-autostart.service).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
Douglas Teles
2026-06-24 11:14:38 -03:00
parent e90a0708c8
commit e696461f7d
2 changed files with 10 additions and 3 deletions
@@ -82,7 +82,10 @@ function wait_lock() {
do
if (set -o noclobber; echo "$$" > "${J_CONF_LOCK}") 2>/dev/null
then
trap 'rm -f "$lockfile"; exit $?' INT TERM EXIT
# Trap original referenciava $lockfile (variável inexistente)
# — o rm -f "" do INT/TERM virava no-op e deixava lock órfão se
# o script morresse antes do rm explícito no final.
trap 'rm -f "${J_CONF_LOCK}"; exit $?' INT TERM EXIT
break
else
sleep 1
@@ -1,6 +1,10 @@
[Unit]
Description=ArchR user autostart script
Before=autostart.service
Description=ArchR storage automount service
# autostart.service é nome herdado do JELOS; em ArchR a unit real
# chama-se archr-autostart.service. Sem o prefixo o Before= era
# silenciosamente ignorado e o automount não tinha garantia de rodar
# antes do autostart.
Before=archr-autostart.service
After=systemd-tmpfiles-setup.service
RequiresMountsFor=/storage