daedalus-v4l2{,-dkms}: Linux 6.18 compat + systemd unit + auto-enable #39
Reference in New Issue
Block a user
Delete Branch "claude-noether/marfrit-packages:noether/daedalus-v4l2-kernel-6.18-compat"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Two commits on this branch (kept together because the kernel-side compat fix and the systemd-side integration both apply to the daedalus-v4l2 packaging surface and would conflict if landed separately):
ff9db4e27daedalus-v4l2{,-dkms}: f55b2cd -> f0cd29a — Linux 6.18 compatdf09c1c55daedalus-v4l2{,-dkms}: f0cd29a -> 481279c — systemd unit + auto-enableResult: a fresh install of daedalus-v4l2 + daedalus-v4l2-dkms on a Pi 5 leaves the kernel module loaded at next boot AND the userspace broker daemon enabled — no manual modprobe / systemctl enable dance.
Companion: libva-v4l2-request-fourier PR #6 (per-codec dispatch so VP9/AV1/H.264 routes to daedalus while HEVC stays on rpi-hevc-dec).
Test plan: apt install on higgs, reboot, verify systemctl status daedalus-v4l2.service shows active and /dev/daedalus-v4l2 + /dev/video0 are present.
🤖 Generated with Claude Code
481279c adds packaging/systemd/{daedalus-v4l2.service,modules-load} to the upstream tree. This commit wires those into both the Arch (PKGBUILD + .install) and Debian (build-deb.sh + postinst/prerm/postrm) package layouts so that a fresh install of daedalus-v4l2 + daedalus- v4l2-dkms on a Pi 5 leaves the kernel module loaded at next boot AND the userspace broker daemon enabled — no manual modprobe / systemctl enable dance needed. arch/daedalus-v4l2: * pkgver 0.1.0.r18.481279c, pkgrel reset to 1 (new upstream pin). * Dropped 'systemd-libs' from depends — daemon doesn't link libsystemd (no sd_notify); the .service unit is consumed by systemd-the-init, no link-time dep required. * package() now installs the .service to /usr/lib/systemd/system/daedalus-v4l2.service and the modules- load drop-in to /usr/lib/modules-load.d/daedalus-v4l2.conf. * New .install file: post_install/post_upgrade run daemon-reload + enable + systemd-modules-load + try-restart on upgrade; pre/post remove tear down cleanly. No auto-start — operator decides. arch/daedalus-v4l2-dkms: * pkgver bump to 481279c, pkgrel reset to 1. Kernel module itself is bit-identical to f0cd29a (commit only touches packaging/) but bumping in lockstep keeps DKMS source-tree pkgver matched to the userspace pkgver so /etc/modules-load.d points at a module that actually exists. debian/daedalus-v4l2: * Same bump 481279c, PKGREL=1. * build-deb.sh stages /lib/systemd/system/ + /usr/lib/modules-load.d/ and installs both files. * Generates DEBIAN/postinst that runs daemon-reload, enables the service, triggers systemd-modules-load, and conditionally starts the service iff /dev/daedalus-v4l2 is already present (uses the same ConditionPathExists= guard as the unit file so apt install doesn't fail loudly on a host where dkms hasn't built yet). * Generates DEBIAN/prerm (stop + disable on remove) and DEBIAN/postrm (daemon-reload). debian/daedalus-v4l2-dkms: * Lockstep version bump, PKGREL=1. Postinst (loud-warn-on-missing- headers) unchanged. Verified the SHA via local rev-parse against ~/src/daedalus-v4l2 — 481279c is the "packaging/systemd: ship daedalus-v4l2.service + modules-load drop-in" commit on main. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>