Skip to content

ADFA-5334 fix(proot-builder): fchmodat2 translation + libiconv heal so the static bundle builds - #510

Merged
luisguzman-adfa merged 9 commits into
mainfrom
fix/ADFA-5334-proot-builder-fchmodat2
Sep 1, 2026
Merged

ADFA-5334 fix(proot-builder): fchmodat2 translation + libiconv heal so the static bundle builds#510
luisguzman-adfa merged 9 commits into
mainfrom
fix/ADFA-5334-proot-builder-fchmodat2

Conversation

@luisguzman-adfa

Copy link
Copy Markdown
Collaborator
  • proot: translate fchmodat2 (452) like fchmodat (mirrors faccessat2), in the sysnums-*.h tables + enter.c. On glibc>=2.39/kernel>=6.6 hosts libc restores dir modes via 452; the bundled proot passed it through untranslated, so recursive copies (tar -x/cp -a) failed under proot and every rootfs tier landed on HOLD. Inert on kernel<6.6. Design: docs/ADR-5334-proot-fchmodat2-perms-restore.md.
  • proot-builder: force the libiconv/libpopt rebuild in the rsync step -- the tar block deletes libiconv.so and the cached "healing" rebuild was skipped on partial builds, so libpopt failed to link -liconv.

No architecture changes (ARCHS untouched).

…o the static bundle builds

- proot: translate fchmodat2 (452) like fchmodat (mirrors faccessat2), in the
  sysnums-*.h tables + enter.c. On glibc>=2.39/kernel>=6.6 hosts libc restores dir
  modes via 452; the bundled proot passed it through untranslated, so recursive
  copies (tar -x/cp -a) failed under proot and every rootfs tier landed on HOLD.
  Inert on kernel<6.6. Design: docs/ADR-5334-proot-fchmodat2-perms-restore.md.
- proot-builder: force the libiconv/libpopt rebuild in the rsync step -- the tar
  block deletes libiconv.so and the cached "healing" rebuild was skipped on partial
  builds, so libpopt failed to link -liconv.

No architecture changes (ARCHS untouched).
Points the bake at the proot build that translates fchmodat2. Off-main:
APK/main are untouched until this branch merges.
The bake resolves binary_version.txt from main, so the branch bump in
21a1c4b never reached it and also required an APK manifest sync. Revert
binary_version.txt and add a workflow_dispatch binaries_tag input, passed
as --binaries-tag. main and the APK stay untouched; binary-bump-consistency
passes again. Dispatch with binaries_tag=binaries-2026-09-01_03-22 to bake
on the fchmodat2 proot.
Pins the proot build that translates fchmodat2. binary_version.txt,
ninja_manifest.json and cacert.pem synced together from the release
(satisfies binary-bump-consistency and the SHA256 audit).
@luisguzman-adfa
luisguzman-adfa merged commit 7d3b635 into main Sep 1, 2026
4 checks passed
@luisguzman-adfa
luisguzman-adfa deleted the fix/ADFA-5334-proot-builder-fchmodat2 branch September 1, 2026 11:44
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