Skip to content

headers package: installable, module-ready, tied to its kernel - #63

Merged
joshschmelzle merged 4 commits into
7.3-trixiefrom
7.3-trixie-headers-package
Sep 30, 2026
Merged

joshschmelzle merged 4 commits into
7.3-trixiefrom
7.3-trixie-headers-package

Conversation

@joshschmelzle

@joshschmelzle joshschmelzle commented Sep 29, 2026 •

Copy link
Copy Markdown
Member

The trixie headers package couldn't be installed, and once forced in it couldn't build a module. Anyone building an out-of-tree driver on a WLAN Pi hits this.

  • It shipped /usr/include uapi headers (headers_install), which collide with linux-libc-dev and abort the install.
  • The kernel package shipped /lib/modules/<release>/build pointing at the CI runner's checkout, and the headers package shipped the same path.
  • arch/arm64 was flattened (no arch/arm64/Makefile) and Module.symvers was missing, so make M= failed.

The headers tree now comes from the kernel's own scripts/package/install-extmod-build, the helper make bindeb-pkg uses. The kernel packages no longer ship build or source. The headers package depends on the kernel package (or the dual package) from the same build, and declares Replaces so upgrading from today's packages works in either unpack order.

Same change for 7.2-trixie: #64

Closes #60

Validation

  • shellcheck -S warning + actionlint: pass
  • ./build-kernel.sh v8: headers package has no /usr/include, has arch/arm64/Makefile, Module.symvers, arm64 fixdep/modpost; kernel package has no build/source
  • wlanpi-3fc (Pi 4 class), 7.3.0-rc5: kernel + headers install with no overwrite errors; build owned only by the headers package; a test module builds with make -C /lib/modules/$(uname -r)/build M=$PWD and loads/unloads
  • Upgrade from the previous package (which owns build): dpkg -i headers kernel failed before Replaces, now succeeds; dpkg -i kernel headers succeeds
  • apt refuses 7.3 headers against an installed 7.2 kernel
  • Profiler hostapd-mode join on the new kernel: profile written
  • Not built for 2712; the change is arch-independent. On a non-arm64 build host the helper rebuilds fixdep/modpost with the cross compiler, which needs arm64 libc (crossbuild-essential-arm64); CI builds natively on arm64

@joshschmelzle
joshschmelzle merged commit 96e4298 into 7.3-trixie Sep 30, 2026
5 checks passed
@joshschmelzle
joshschmelzle deleted the 7.3-trixie-headers-package branch September 30, 2026 03:36
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