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

using latest version instead of version number #295

Closed
ghost1372 opened this issue May 19, 2020 · 7 comments
Closed

using latest version instead of version number #295

ghost1372 opened this issue May 19, 2020 · 7 comments
Labels
Area-Manifest This may require a change to the manifest Issue-Feature Complex enough to require an in depth planning process and actual budgeted, scheduled work.
Milestone

Comments

@ghost1372
Copy link
Contributor

hi, Some programs provide a download link for each version number
To create a manifest, we need to specify the version number

Id: Daum.PotPlayer
Version: 1.7.21212.0
Name: PotPlayer
...

But some programs have a fixed link and the latest version is always available through it
Therefore, I suggest that Make it possible for us to replace the version number With the latest word
Something like this:

Id: Daum.PotPlayer
Version: Latest
Name: PotPlayer
...

winget-pkgs\manifests\Daum\PotPlayer\Latest.yaml

@Tyriar
Copy link
Member

Tyriar commented May 20, 2020

Related discussion: https://github.com/microsoft/winget-pkgs/issues/278

@denelon
Copy link
Contributor

denelon commented May 20, 2020

The challenge here is the SHA256 hash of the installer. The "latest" manifest would become invalid as soon as the newer "version" showed up with a different hash. We also run static analysis on any binary before it is included in the repository.

May users are intentional about wanting specific versions of software.

@Chaphasilor
Copy link

Chaphasilor commented May 21, 2020

How about including a list of versions inside the manifest?
There could be a 'lastest' version and then also additional, fixed versions if there are download URLs for those.

This would sovle the problem of wrong version numbers if there's only a dynamic download URL where a specific version can't be selected.

It would also enable functionality like winget show <app-name> --versions to list all available versions and executing winget install <app-name> -v 'x.x.x'.

The static versions could be kept up-to-date, but this solution would prevent packages from becoming outdated simply because the latest version hasn't been pushed to the repo yet, which sometimes is the case with (linux) package managers.

@denelon
Copy link
Contributor

denelon commented Jun 2, 2020

@Chaphasilor we're looking at a few options, but we're likely to avoid trying to list every version of a package in a single manifest. Any time any of them changed, or became unavailable, we'd have to modify the manifest. We do list the versions for all current manifests:

'winget show vscode --versions'
'winget show --name Git -e --versions'

@denelon
Copy link
Contributor

denelon commented Jun 2, 2020

We are running a background process to check and see if the "Sha256" for an installer is still valid for the manifests. There is still work to automatically generate new manifests when files change.

One of the primary use cases for package managers is to be able to install a specific version of a package. If we only have access to a "latest" version of a package from the source, this creates challenges. We're considering additional meta-data in the manifest to identify these kinds of packages.

@denelon denelon added Issue-Feature Complex enough to require an in depth planning process and actual budgeted, scheduled work. Area-Manifest This may require a change to the manifest labels Jun 2, 2020
@whoiskevinrich
Copy link
Contributor

VLC is interesting in that the SHA is located next to the download for latest. I don't know if this is a common pattern, but would a SHA at the same directory of the download be an avenue to consider?

@denelon
Copy link
Contributor

denelon commented Jan 6, 2021

We've introduced automation to generate a valid manifest with the correct hash with the installer has changed at the URL provided by a manifest.

@denelon denelon closed this as completed Jan 6, 2021
seejdev pushed a commit to seejdev/winget-pkgs that referenced this issue Nov 4, 2021
@denelon denelon added this to the 1.7 Packages milestone Nov 1, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-Manifest This may require a change to the manifest 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

5 participants