This commit is contained in:
2026-03-20 10:47:58 +01:00
parent f791799105
commit d0c590c185
5 changed files with 81 additions and 9 deletions

View File

@@ -2,6 +2,40 @@
---
## V35 2026-03-20 21:00:00
**Harden dpack repo loading and fix search command failure**
### Changes:
- Fixed `src/dpack/src/main.rs`:
- Search, Remove, Upgrade, and CheckUpdates commands now gracefully handle
repo loading failures — logs a warning to stderr and continues to next repo
instead of aborting the entire command via `?` operator
- This prevents a single broken/unreadable repo or package file from making
the search command return no results
- Fixed `src/dpack/src/resolver/mod.rs`:
- `load_repo()` now gracefully handles unreadable directory entries
(broken symlinks, permission errors) — logs warning and skips instead of
propagating error via `?`
- `file_type()` errors fall back to `path.is_dir()` (follows symlinks) instead
of aborting the entire repo scan
- Improved `tests/run-tests.sh`:
- dpack.cli.search test now captures both stdout and stderr (was suppressing
stderr with `2>/dev/null` which hid error messages)
- On failure, includes first 5 lines of output in the failure message for debugging
### Plan deviation/changes:
- None
### What is missing/needs polish:
- The build/install orchestrator (`build/mod.rs`) still uses `?` for load_repo — this
is intentional since installs need complete dependency information
- Root cause of the original search failure (which repo/file triggered the error)
is not yet identified — the improved error handling and diagnostics will reveal
this on the next test run
---
## V34 2026-03-20 17:30:00
**Fix critical gaps: locale-gen, 32-bit multilib, network auto-detect, polkit**