Repository navigation
enh(linux-runner): use kernel meta packages - #1813
Conversation
b8fda1c to
67f6ce3
Compare
5c2e726 to
e804fca
Compare
Expected CI failures
|
|
/ci try |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
e804fca to
5ba094b
Compare
|
/ci try |
This comment has been minimized.
This comment has been minimized.
|
I just fixed powerpc64le and riscv64 builds, which I accidentally broke with a fix for Forky images, and not retested the already succeeded builds. Those two architectures use The EDIT: Remember to not always retrigger the full test matrix, but rerun only the failed tests, or individual ones. They always pull the latest commit. |
Thank you, i keep forgetting :) I agree this is a upstream issue with the thumbv target |
This comment has been minimized.
This comment has been minimized.
|
Oh, I missed that NetBSD is still failing, just at a later stage. Overlooked it next to the expected FreeBSD failures. Let me have a look at that. I guess just some library version changed from v9.3 => v9.5, hence filename needs adjustment. EDIT: Indeed, it got a EDIT2: Yep that fixed it, goes through on my fork now: https://github.com/MichaIng/cross/actions/runs/39981598617/job/121188392849 |
* Debian kernel packages are released very frequently, especially since LLMs are able to find and exploint vulnerabilities quickly. * Debian generally removes old package versions immediately from their repositories. * Using a fixed kernel version is hence not applicable for Docker image builds, as this would need to be updated way too regularly. * Also using fixed major Linux versions does not have any advantages: It pulls the latest if it matches still the major, else will fail. * Debian provides unversioned meta package names, which pull in the only available kernel version, which is the only practicable approach. * This meta package differs in its architecture suffix only, which often matches the input architecture, sometimes the DEB package arch. * The kernel (version) variable is hence replaced with a kernel arch variable, which holds only that architecture suffix. It is initially assigned the input arch, and adjusted as needed per arch, just like the DEB arch. * From the meta package dependencies, the actual content packages are worked out via their recursive dependencies. Until Debian Trixie, there is only a single `linux-image-*-<arch>` package which contains everything, but from Forky on this package itself is a meta package only, which pulls in versioned `linux-binary-*`, `linux-modules-*`, and `linux-base-*` packages, the latter of which contains mostly device trees. * The wildcard matching and Forky package split blocks are thereby obsolete and hence removed. Additional enhancements: * For architecutures using the bookworm suite, only the suite is replaced in the original list entries, so that the bookworm-security suite remians in place. * The 2nd list entry is appended to the string useing bash `+=` syntax, to enhance readability a litte. * The `-d` (`--download-only`) and `--no-install-recommends` flags have been removed from `apt-get download` calls, where they have no effect: That commands downloads only the listed packages into the current dir, no dependencies or any such. Further fixes detected while testing: * Since Debian Forky, the kernel images are stored below /usr/local/modules. A postinst hook copies them to /boot, which however does not run as we only extract the packages. It is now copied from that path, if it exists. * The duplicate libgcc package (re)install has been removed: It used the wrong array for the wildcard matched kernel packages, hence was a noop. The libgcc packages are reinstalled via dpkg some lines above. * The NetBSD version has been bumped to 9.5, since all older v9 subversions have been moved to the `NetBSD-archive`. Signed-off-by: MichaIng <micha@dietpi.com>
5ba094b to
6115fe1
Compare
Main changes
linux-image-*-<arch>package which contains everything, but from Forky on this package itself is a meta package only, which pulls in versionedlinux-binary-*,linux-modules-*, andlinux-base-*packages, the latter of which contains mostly device trees.Additional enhancements
+=syntax, to enhance readability a litte.-d(--download-only) and--no-install-recommendsflags have been removed fromapt-get downloadcalls, where they have no effect: That commands downloads only the listed packages into the current dir, no dependencies or any such.Further fixes detected while testing
/usr/lib/modules. A postinst hook copies them to/boot, which however does not run as we only extract the packages. It is now copied from that path, if it exists.NetBSD-archive. Thelibcversion changed, which affected its filename. Thecpandlscommands have been updated accordingly.