Commit graph

3 commits

Author SHA1 Message Date
awalsh128 1a61d5b6e4 fix: archive and restore packages with system tar under sudo
The in-process tar library ran as the runner user, so archiving failed on
root-only files such as /etc/default/cacerts from ca-certificates-java
(regression #72), and extraction could skip root-owned paths without failing.

- Create and extract with sudo tar; the file list is piped NUL-separated on
  stdin so large packages don't exceed the argument size limit.
- Keep directory symlinks such as /lib on extract.
- Hand archives back to the runner user for the cache save.
- Disable the command timeout for tar and maintainer scripts.
- Record the installed (versioned) entries in manifest_main.json; it held
  unversioned names with no files.
- Return every installed package on a cache hit so outputs include deps.
- Split runInstallScripts into per-script runs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-07 12:35:34 -08:00
Andrew Walsh 1008cb540c
fix: archive installed package files on cache miss (#229)
Manifest.from built every entry with an empty file list and buildFileList
was never called, so tar.create was handed no paths. node-tar throws "no
paths specified to add to archive" for that, so every cache miss failed
before saving.

The runner now builds each manifest entry from buildFileList and passes
the manifest to archiveAndSave. Packages with no files (e.g.
metapackages) are skipped on archive and on restore since tar can't
create an empty archive. Manifest.from is removed.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-05 16:34:09 -08:00
Andrew Walsh 79721099c8
fix: restore cached packages in apt install order (#228)
Restore extracted archives sorted by filename, so packages whose install
scripts depend on files from other packages could break. Restore now
follows the entry order in manifest_all.json, which comes from the apt
install output, and fails explicitly when an archive is missing.

Refs #196

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-05 16:26:07 -08:00