microsoft / microsoft/winget-cli

Specify Dependency Source

Open
#3,272 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Area-Manifest Dependencies Issue-Feature
Dominant language
C++
Stars
26.4k
Forks
1.8k
Avg merge
1d 11h
Merged PRs (30d)
15

Description

Description of the new feature / enhancement
  • Related to #3271

In an enterprise setting, or a setting where custom sources are in play, there is a possibility that Package Identifiers will conflict. Currently, the way to definitively identify a package is through the Source-Identifier pair.

To ensure conflicts are avoided in an enterprise scenario, it should be possible to specify the source to use for a package.
Alternatively, sources to not use could also be specified.

Proposed technical implementation details

There is a complication here that sources can have almost any name. Additional thought may need to be given around how to specify the source details like the type and URL as part of the dependency.

This may also necessitate the need to define a new type of dependency -

Dependencies:
  Sources:
    - <Source Information>

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading related issue #3271 and tracing how package identifiers and dependency sources are represented in the winget-cli codebase. Define the dependency syntax and source type/URL handling, including whether sources can be included or excluded; the work is done when conflicting package identifiers can be disambiguated in enterprise and custom-source scenarios.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
cli, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.