Convert some scripts and applications into apt packages
Opened this issue · 1 comments
This repo packages several pieces of software that run regularly on each RPI:
- A Chrome extension, which runs in the browser and automatically logs in and joins meetings.
- A launcher for chromium-browser, which enables H/W accelaration and the chrome extension while launching Chromium.
- An audio sink selector, which runs on boot and picks the preferred audio sink (external audio device vs. HDMI vs. analog).
- (coming soon) A TV standby agent, which runs on RPI shutdown and sends a standby signal to any TV on the HDMI bus.
And possibly more in the future.
Right now the easiest way to update any of these is to re-image a microSD card and wait for the first-boot service to run again. This is slow and manual, and will not scale as the number of devices being maintained grows.
It would be great if each of the pieces of software above can be published as its own debian package on a custom debian (apt) repo. Now that RPI OS bullseye has an Updater plugin which makes installing updates as simple as clicking a button on the UI, this could make updating that code significantly simpler.
As a bonus, doing this would simplify the installation code in build/prep-img.sh and scripts/startup.sh, as well as making it easier to introduce new packages in the future.
Note: I considered snap instead of apt, but apt still seems like a better option here because:
- Snap doesn't support custom repositories (source), and I don't want to publish this stuff to the canonical repo.
- Snap is not installed on Raspberry Pi OS by default (source).
- Snap seems to have more limitations on app isolation. I'm not sure if this will actually be an issue or not, but it might be.
- Snap would require bundling chromium-browser into the extension/launcher's snap package, rather than depending on the one installed through apt.