ReviewOS

pantry-pm/pantry

fix: repair zero-byte project package executables during install

#217
Closed chrisbbreuer opened this 24 days ago · 0 comments
24 days ago

Problem

A Pantry-managed project environment can report a successful install while retaining a zero-byte package executable. In zig-utils/zig-waf, Pantry 0.10.34 reports ziglang.org@0.17.0-dev.1441_d5181a9c9 installed, but:

pantry/ziglang.org/v0.17.0-dev.1441_d5181a9c9/bin/zig: 0 bytes
~/.local/share/pantry/global/packages/ziglang.org/v0.17.0-dev.1441_d5181a9c9/bin/zig: 197784832 bytes
pantry/.bin/zig -> the zero-byte project copy

The shim consequently exits 0 without compiling, which can create false-positive local checks. Re-running pantry install does not validate or repair the project copy.

Expected behavior

  • Installation verifies that declared program files are regular, non-empty executables before reporting success.
  • A corrupt project materialization is atomically replaced from a verified global package or re-fetched.
  • Failed/canceled copies cannot leave a destination that later counts as installed.
  • Add a regression test starting from a zero-byte project executable with an intact global package.

Context

Discovered while qualifying zig-utils/zig-waf#8 with the exact compiler pinned by Pantry. The global compiler was used to obtain valid evidence; the corrupt shim was not accepted as test evidence.

Sign in to comment on this issue.