Skip to content

chore: merge release/v0.9.3 to main#65

Merged
kolkov merged 6 commits into
mainfrom
release/v0.9.3
Jan 19, 2026
Merged

chore: merge release/v0.9.3 to main#65
kolkov merged 6 commits into
mainfrom
release/v0.9.3

Conversation

@kolkov
Copy link
Copy Markdown
Contributor

@kolkov kolkov commented Jan 19, 2026

Merge release branch after v0.9.3 release.

- Use EvaluateSrcURI to handle custom variables like MY_P, MY_PN
- Filter distfiles by version (only include files in current SRC_URI)
- Add fallback with extractCustomVariables for edge cases
- Fixes wrong distfile version download (e.g., mc-4.8.30 vs mc-4.8.33)
- Create internal/distfile/service.go as single source of truth
- Use dependency injection for SrcURIEvaluator (avoid import cycle)
- Remove 485 lines of duplicate code from fetch.go and executor.go
- Update atom_parse_test.go to use pkg.ParseAtom directly
- All tests pass, linter clean
…ect-owned collision behavior

- Set interpreter working directory to $S for relative path resolution
- Fix dodoc, doman, newdoc, newman, doinfo, domo to resolve paths against $S
- Implement Portage protect-owned behavior: orphan files warn only, owned-by-other is fatal
- Enables successful emerge of packages like app-misc/mc
mvdan.cc/sh interpreter may propagate exit status from commands
inside if conditions when using ExecHandlers, even when the if
statement itself should return 0 (false condition with no else).

Added 'true' after phase function call to ensure script returns 0
unless there's a real error. This fixes mc-4.8.33 and similar
packages that use 'if use flag; then ...; fi' at the end of
src_install.
…pack phase

- Add resolveSourcePath() helper method to centralize relative path resolution
- Update Dobin, Dosbin, Newbin, Newsbin, Doexe, Doins, Newins to use resolveSourcePath
- Update Dolib, DolibSo, DolibA, Doheader, Doinitd to use resolveSourcePath
- Fix phaseUnpack to use $A variable (from Manifest) instead of hardcoded pattern
- Add test case for tree package S variable pattern (unix-${P})

This fixes tree (app-text/tree) emerge which failed because:
1. Tarball is named unix-tree-2.2.1.tar.bz2 (not tree-2.2.1.tar.*)
2. dobin tree could not find binary due to relative path resolution

All install helpers now properly resolve relative paths against $S.
- CHANGELOG.md: Add v0.9.3 section with install helper fixes
- ROADMAP.md: Update header and Release History with v0.9.3
- docs/INSTALL.md: Update version to 0.9.3
@kolkov kolkov merged commit c06c073 into main Jan 19, 2026
8 of 10 checks passed
@kolkov kolkov deleted the release/v0.9.3 branch January 19, 2026 22:54
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