mirror of
https://github.com/xcat2/xcat-dep.git
synced 2026-10-15 08:12:03 +00:00
380fccd625e7cf2b734483ea9e2d543467eca298
The workflow step that puts the arm64-efi GRUB modules on the runner read a directory listing over plain HTTP, took the last name in lexical order, and unpacked the whole deb into / as root. Nothing authenticated the artifact, and the name chosen was neither tied to the runner's suite nor to the installed grub-mkimage. install-grub-arm64-modules.sh now reads grub-efi-arm64-bin through apt in a private state tree: apt verifies the InRelease signature of the suite that /etc/os-release names, and the deb hash against that signed index. The host dpkg architecture and the host sources are not changed. The script stops when the deb and the host grub-mkimage report different GRUB upstream versions, unpacks under TMPDIR, and copies only the files of usr/lib/grub/arm64-efi. The documentation and the prebuilt images under monolithic/ stay out. t/install-grub-arm64-modules.bats drives the script with apt-get, dpkg-deb and the image builder as shell functions. Four removals were each caught by the assertion that names them: the version gate, the file-only copy, the apt authentication options, and the missing-module-directory check. Measured in an ubuntu:24.04 container with the workflow's own steps: t/aarch64_target.t reports 4 skips before the step and 0 after it, with all 38 checks passing, and t/aarch64_cross_build.t passes 27 with 0 skips. Signed-off-by: Daniel Hilst <392820+dhilst@users.noreply.github.com>
Description
No description provided
Languages
Perl
80%
JavaScript
7.6%
Shell
3.7%
SQLPL
2.4%
CSS
2.1%
Other
4.2%