Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[awaiting winget update] Channel in all manifests #16271

Closed
iDolmatov opened this issue Jun 4, 2021 · 6 comments
Closed

[awaiting winget update] Channel in all manifests #16271

iDolmatov opened this issue Jun 4, 2021 · 6 comments
Labels
Issue-Feature Complex enough to require an in depth planning process and actual budgeted, scheduled work.
Milestone

Comments

@iDolmatov
Copy link
Contributor

iDolmatov commented Jun 4, 2021

I propose to revise the entire list of manifests for the addition of the "Channel" attribute.

Proposed technical implementation details (optional)

Channel | The details on whether the application is preview or release.
winget-cli-master\doc\windows\package-manager\winget\show.md
winget-cli-master\schemas\JSON\manifests\v1.0.0\manifest.installer.1.0.0.json

// A property of a package version. enum class PackageVersionProperty { Id, Name, SourceIdentifier, SourceName, Version, Channel, RelativePath, // Returned in hexadecimal format ManifestSHA256Hash, };

winget-cli-master\src\AppInstallerRepositoryCore\Public\AppInstallerRepositorySearch.h

At the moment this is ignored and resolved through the package name, which is incorrect if it is possible to specify this in the manifest.
Also, this attribute should be made required in the manifest creation tools. microsoft/winget-cli#147
Filling in this attribute will allow you to prepare in advance the base for testing when implementing other winget functions (searching, installing only test or release versions, placing different channels under the same ID when the program uses the same folder for different channels, etc.).

Add "Channel" to all manifests.

@iDolmatov iDolmatov added the Issue-Feature Complex enough to require an in depth planning process and actual budgeted, scheduled work. label Jun 4, 2021
@ghost ghost added the Needs: Triage label Jun 4, 2021
@OfficialEsco
Copy link
Contributor

Don't believe everything you see in the manifest schema 🙄

PS C:\Users\******\GitHub\winget-pkgs> winget validate .\manifests\m\Malwarebytes\Privacy\3.0.0.602\
Manifest validation failed.
Manifest Error: Field is not supported. Field: Channel Value: 1

PS C:\Users\******\GitHub\winget-pkgs> winget validate .\manifests\m\Malwarebytes\Privacy\3.0.0.602\
Manifest validation failed.
Manifest Error: Field is not supported. Field: Channel Value: beta

PS C:\Users\******\GitHub\winget-pkgs> winget validate .\manifests\m\Malwarebytes\Privacy\3.0.0.602\
Manifest validation failed.
Manifest Error: Field is not supported. Field: Channel Value: stable

Channel is actually the only one which is not supported AFAK, probably because they haven't decided how to do it yet.

There is 3 other fields that you can add metadata to, but they don't actually do anything

  • Protocols
  • FileExtensions
  • Dependencies (WindowsLibraries, PackageDependencies, ExternalDependencies)

@iDolmatov iDolmatov changed the title Channel in all manifests [awaiting winget update] Channel in all manifests Jun 4, 2021
@denelon
Copy link
Contributor

denelon commented Jun 5, 2021

@iDolmatov our early thinking for "channels" is to support packages that are not able to be run side by side like Visual Studio Code and Visual Studio Code Insider. One example of such a package is Docker Desktop. There are several different concerns. One of the primary concerns is if a user has a "beta" build, we don't want to overwrite with the stable build and the reverse is also true.

@OfficialEsco is correct. There are several things included in the schema that we either had from 0.2.0 and carried forward, or we have an idea of what we want to implement and just haven't gotten to it yet. Changing the schema has far reaching implications across the client, validation pipelines, publishing pipelines, REST API, wingetcreate, and a few other surfaces.

@denelon denelon added this to the Backlog - Packages milestone Jun 5, 2021
@denelon
Copy link
Contributor

denelon commented Jun 5, 2021

When we implement support for microsoft/winget-cli#147 we will likely make a determination of whether or not we update all manifests.

@vedantmgoyal9
Copy link
Contributor

There is 3 other fields that you can add metadata to, but they don't actually do anything

  • Protocols
  • FileExtensions
  • Dependencies (WindowsLibraries, PackageDependencies, ExternalDependencies)

What? Protocols and FileExtensions don't do ANYTHING 🤔😕

@OfficialEsco
Copy link
Contributor

You can test if Protocols or FileExtensions are supported by using winget search, as of now they are just there for future information, a few manifests have a few FileExtensions in the tags section which is how you can see some if you do winget search png

InstallModes also does not seem to be working which is annoying because we need to add the silent switch to the SilentWithProgress field.

It also seems like winget-cli does not utilize PublisherUrl, PublisherSupportUrl, PrivacyUrl, Copyright or CopyrightUrl, but those fields are nice for 3rd party sites.

@iDolmatov
Copy link
Contributor Author

I forgot about this issue and wrote a comment in the previously mentioned issue 147. I am closing the issue unresolved in order to exclude the already large list of active issues.

@iDolmatov iDolmatov closed this as not planned Won't fix, can't repro, duplicate, stale Nov 22, 2022
@denelon denelon modified the milestones: Backlog-Pipelines, 1.7 Packages Nov 1, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Issue-Feature Complex enough to require an in depth planning process and actual budgeted, scheduled work.
Projects
None yet
Development

No branches or pull requests

4 participants