Skip to content

Package as deb#17

Merged
dpsiderius merged 8 commits into
mainfrom
package-as-deb
Jun 23, 2026
Merged

Package as deb#17
dpsiderius merged 8 commits into
mainfrom
package-as-deb

Conversation

@dpsiderius

Copy link
Copy Markdown
Contributor

No description provided.

dpsiderius and others added 8 commits June 22, 2026 21:39
Adds .claude/settings.json (defaultMode=default + ask/deny rules) so the project prompts before edits and outward-facing/destructive commands.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Proposal, specs (pi-deployment, gateway-protocol, software-update), design, tasks, and a fresh-Pi bootstrap runbook for shipping the gateway+GUI as an arm64 .deb via GitHub Releases with an in-app updater.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
… pipeline

- Remove in-app password auth end-to-end (LoginOverlay, token plumbing, GATEWAY_PASSWORD gate); the daemon is loopback-only with no built-in auth.
- Add the Schuberg Philis header logo (inline SVG component).
- Add the gateway build pipeline + Debian packaging (package-as-deb §1-§3): esbuild bundle of the daemon, build-time version stamping, nfpm.yaml, systemd/udev/env/sudoers artifacts, maintainer scripts, and assemble.sh. server.ts honors GATEWAY_DIST/PLOTTER_SESSION for the FHS layout.
- §4 (build/install on the Pi) is pending hardware.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Replace /Users/dsiderius/... with a generic placeholder ahead of making
the repository public.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Daemon reports installed vs. latest released version and accepts an
'update' command (refused mid-plot). The update runs via a detached
oneshot systemd unit (plotter-update.service + update.sh) so the daemon
can restart itself; status is persisted to .update-status.json and read
back by the reconnecting client. Scoped sudoers allows the service user
to start only that unit (incl. --no-block). prerm now also re-guards on
failed-upgrade.

Implements tasks 5.1-5.5 of the package-as-deb change.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
A 'v*' tag (matching package.json version) builds the arm64 .deb under
QEMU on a standard x64 runner and attaches it to the GitHub Release; the
in-app updater installs only these CI-built artifacts. Build logic lives
in packaging/ci-build.sh so switching to a native arm64 runner is just a
runs-on change plus dropping the docker wrapper. Actions pinned to SHA;
nfpm pinned to v2.47.0.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
README Raspberry Pi section is now built on 'sudo apt install
./penplotter271_*.deb': what the package lays down, config via the
/etc/penplotter271/penplotter271.env conffile, browser-triggered
updates, and rollback. install.sh + rsync/deploy.sh demoted to
from-source dev helpers. gateway/README Pi section updated for the
package and the /opt + /var/lib paths. tasks.md: 6.1 and 7.x marked done.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@dpsiderius
dpsiderius merged commit 2b1c098 into main Jun 23, 2026
1 check passed
@dpsiderius
dpsiderius deleted the package-as-deb branch June 24, 2026 17:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant