fix(eye-square): relocate firstboot.sh out of /usr/local/sbin/ (closes #207) (#208)

Debian policy reserves /usr/local/ for the local administrator;
packages may not install files there. dh_usrlocal was correctly
rejecting the staged tree built from remote-ui/square/files/.

Move:
  remote-ui/square/files/usr/local/sbin/firstboot.sh
  → remote-ui/square/files/usr/lib/secubox/firstboot.sh

Update ExecStart in secubox-firstboot.service to match. The new
location is namespaced under /usr/lib/secubox/ consistent with
the sister helpers find-usb-serial and leasewatch.sh shipped by
secubox-system.

Bump 1.0.2 → 1.0.3. Local dpkg-buildpackage now produces a valid
.deb; `dpkg-deb -c` confirms:
  - /usr/lib/secubox/firstboot.sh (0755)
  - /etc/systemd/system/secubox-firstboot.service (with new ExecStart)
  - no entries under /usr/local/

Co-authored-by: CyberMind-FR <gandalf@Gk2.net>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
CyberMind 2026-05-19 06:53:31 +02:00 committed by GitHub
parent 8d1f733827
commit 2072c0eae5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 14 additions and 2 deletions

View File

@ -1,3 +1,15 @@
secubox-eye-square (1.0.3-1~bookworm1) bookworm; urgency=medium
* Relocate firstboot.sh from /usr/local/sbin/ to /usr/lib/secubox/
(Debian policy reserves /usr/local/ for the local admin; dh_usrlocal
was rejecting the staged tree). Update ExecStart in
secubox-firstboot.service to match the new path. The new location
is namespaced under /usr/lib/secubox/ consistent with sister
helpers (find-usb-serial, leasewatch.sh).
* Closes #207.
-- Gerald KERMA <devel@cybermind.fr> Tue, 19 May 2026 06:55:00 +0200
secubox-eye-square (1.0.2-1~bookworm1) bookworm; urgency=medium
* Fix debian/rules content drift: drop the install block for

View File

@ -2,7 +2,7 @@
# SPDX-License-Identifier: LicenseRef-CMSD-1.0
# Copyright (c) 2026 CyberMind — Gérald Kerma <devel@cybermind.fr>
#
# Runs /usr/local/sbin/firstboot.sh once on first boot. The script is idempotent
# Runs /usr/lib/secubox/firstboot.sh once on first boot. The script is idempotent
# (guards on /etc/.secubox-eye-square-firstboot-done), so a second invocation is a no-op.
[Unit]
@ -13,7 +13,7 @@ ConditionPathExists=!/etc/.secubox-eye-square-firstboot-done
[Service]
Type=oneshot
RemainAfterExit=no
ExecStart=/usr/local/sbin/firstboot.sh
ExecStart=/usr/lib/secubox/firstboot.sh
[Install]
WantedBy=multi-user.target