microsoft / microsoft/winget-cli
Relative File Path is Validated Literally
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 26.4k
- Forks
- 1.8k
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 15
Description
Brief description of your issue
Relative file paths should be validated by where they resolve to, rather than by their literal strings
Steps to reproduce
Have a zip installer with nested portable types. Use the same relative path for both, but prefix one with ./
Example:
RelativeFilePath: ./example.exe
|
RelativeFilePath: example.exe
Expected behavior
Manifest Validation should fail with the duplicate relative path warning
Actual behavior
Validation succeeds
microsoft/winget-pkgs@37960ed (#94699)
Environment
Winget 1.4
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the manifest validation logic that compares RelativeFilePath values, then reproduce the nested portable-type case with ./example.exe and example.exe. Done means those paths resolve to the same location and trigger the duplicate relative path warning instead of allowing validation to succeed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- cli
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100