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

[Bug] Dependency from specific bucket from a specific version is not honored #6154

Open
bharatvaj opened this issue Sep 23, 2024 · 3 comments
Labels

Comments

@bharatvaj
Copy link

Bug Report

Current Behavior

When using bucket/package@version for depends, scoop always installs the most recent version, ignoring the @version part

Expected Behavior

Install the specified version

@bharatvaj bharatvaj added the bug label Sep 23, 2024
@HUMORCE
Copy link
Member

HUMORCE commented Sep 23, 2024

It's expected behavior for Scoop.

Package manager like homebrew created specified version for manifest and named as <manuifest>@<version> are always available, but Scoop is NOT.

@bharatvaj
Copy link
Author

Package manager like homebrew created specified version for manifest and named as <manuifest>@<version> are always available, but Scoop is NOT.

From my understanding, scoop changes the $version part of the manifest file and attempts an installation when invoked from the command line with scoop install [email protected]

WARN  Given version (2.5.1) does not match manifest (4.0.23)
WARN  Attempting to generate manifest for 'groovy' (2.5.1)
Autoupdating groovy
Searching hash for apache-groovy-binary-2.5.1.zip in https://groovy.jfrog.io/artifactory/dist-release-local/groovy-zips/apache-groovy-binary-2.5.1.zip.sha256
Found: 7a7c1215620047f36ae66c8ca396864aa602cc90f7238851cd8714acb41418ff using Extract Mode
Writing updated groovy manifest
Installing 'groovy' (2.5.1) [64bit] from 'C:\Users\bhara\scoop\workspace\groovy.json'
...

I was expecting the same when specifying [email protected] in depends in the manifest file. Hence, posted it as a bug.

Alternative Suggestion
Since changing $version may not work reliably every time, can we start tagging merges and autoupdates in individual buckets?

git tag $pkgname-$version

And obtain during install with,

git --no-pager show $pkgname-$version:bucket/$pkgname.json

@HUMORCE
Copy link
Member

HUMORCE commented Sep 24, 2024

From my understanding, scoop changes the $version part of the manifest file and attempts an installation when invoked from the command line with scoop install [email protected]

Yes, but the source of the installation will mark as <auto-generated>, Scoop cannot detect the dependency main/groovy are installed or not.

❯ scoop list groovy
Installed apps matching 'groovy':

Name   Version Source           Updated             Info
----   ------- ------           -------             ----
groovy 2.5.1   <auto-generated> 2024-09-24 01:03:29

Since changing $version may not work reliably every time, can we start tagging merges and autoupdates in individual buckets?

For stability reasons, you should copy the manifest then fix its version/urls and remove autoupdate instead of depending on a manifest that auto-generated may not work.

Related:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants