Build xar with signed char so it works on ARM64 #355
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/xar-signed-char"
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?
Follow-up to #353. The ARM64
zig-builder:v9shipped anxarthat printed its usage and exited 1 for every command, includingxar -t, so zelnet's macOS.pkgstep failed. Both Linux architectures had already been packaged as0.10.13by that point, so the rest of the toolchain is fine.Cause, confirmed by probing the published image and reading upstream:
A plain
charis signed on x86-64, so-1compares equal and the loop ends. It is unsigned on ARM64, where-1lands as 255: the loop never ends, and the next pass falls through the switch to the usage default. Upstreammackyle/xarhas not changed since 2014, so this is not drift; it appeared the moment the image was built for the architecture that runs it.-fsigned-chargives the 2014 code the char signedness it was written for. It joins the three EL10 fixes the stage already carries, and the comment explains it in the same place.The stage now builds an archive and reads it back instead of only running
xar --version. That check passed on a binary that could not archive anything, which is why v9 shipped broken.scripts/check-binjovi-server-package.shandscripts/lint-no-runtime-fetch.shpass. The version floor added in #353 accepts v10 with no further edit.bomutils/mkbomis unaffected: the failing build shows it producing the Bom successfully just before thexarstep.https://claude.ai/code/session_01XdBRc9CHgFhAxCyHbdVtt6