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] scoop checkup reports vague errors about missing packages #5613

Closed
wickles opened this issue Aug 20, 2023 · 4 comments · Fixed by #5424
Closed

[Bug] scoop checkup reports vague errors about missing packages #5613

wickles opened this issue Aug 20, 2023 · 4 comments · Fixed by #5424
Labels

Comments

@wickles
Copy link

wickles commented Aug 20, 2023

Bug Report

Current Behavior

PS C:\Users\me> scoop checkup
ERROR 'Inno Setup Unpacker' is not installed! It's required for unpacking InnoSetup files. Please run 'scoop install innounp'.
ERROR 'dark' is not installed! It's required for unpacking installers created with the WiX Toolset. Please run 'scoop install dark' or 'scoop install wixtoolset'.
WARN  Found 2 potential problems.

Expected Behavior

I don't think I need these packages as far as I know. Is it for package maintainers? Why is it an ERROR if I don't have them? Am I supposed to be "unpacking installers" regularly?

Additional context/output

N/A

Possible Solution

If they are really important for all users, the ERROR messages should be more explicit about what the problem is that must be solved by installing them.

If they are not really important, these should not be big scary ERRORs.

System details

Windows version: 10

OS architecture: 64bit

PowerShell version: 5.1.19041.3031

Additional software: Git... and so on

Scoop Configuration

{
    "last_update":  "2023-08-19T14:45:45.2311307-07:00",
    "aria2-warning-enabled":  false,
    "scoop_branch":  "master",
    "scoop_repo":  "https://github.com/lukesampson/scoop"
}
@wickles wickles added the bug label Aug 20, 2023
@HUMORCE
Copy link
Member

HUMORCE commented Aug 20, 2023

If they are really important for all users, the ERROR messages should be more explicit about what the problem is that must be solved by installing them.
If they are not really important, these should not be big scary ERRORs.

message: ERROR 'Inno Setup Unpacker' is not installed!
reason: It's required for unpacking InnoSetup files.
how: Please run 'scoop install innounp'.

message: ERROR 'dark' is not installed!
reason: It's required for unpacking installers created with the WiX Toolset.
how: Please run 'scoop install dark' or 'scoop install wixtoolset'.

It is clear, except the level of the messages, because they are usually installed automatically when they are missing.

I don't think I need these packages as far as I know. Is it for package maintainers? Why is it an ERROR if I don't have them? Am I supposed to be "unpacking installers" regularly?

It depends on what manifest you will be installing.

For example, when you have not dark installed, but you try installing python:

> scoop install python -u
WARN  Scoop is out of date.
Installing 'dark' (3.11.2) [64bit] from main bucket
Loading dark-3.11.2.zip from cache
Checking hash of dark-3.11.2.zip ... ok.
Extracting dark-3.11.2.zip ... done.
Linking ~\scoop\apps\dark\current => ~\scoop\apps\dark\3.11.2
Creating shim for 'dark'.
'dark' (3.11.2) was installed successfully!
Installing 'python' (3.11.4) [64bit] from main bucket
python-3.11.4-amd64.exe (24.2 MB) [===========================================================================] 100%
Checking hash of python-3.11.4-amd64.exe ... ok.
Running pre_install script...
Running installer script...
Linking ~\scoop\apps\python\current => ~\scoop\apps\python\3.11.4
Creating shim for 'python3'.
Creating shim for 'idle'.
Creating shim for 'idle3'.
Persisting Scripts
Persisting Lib\site-packages
Running post_install script...

'python' (3.11.4) was installed successfully!

@wickles
Copy link
Author

wickles commented Aug 20, 2023

So I guess the issue is: it should not be an ERROR that I am missing dependencies for a dependent that I did not install yet.

@wickles
Copy link
Author

wickles commented Aug 25, 2023

I see that this behavior is originally due to #3450. I notice in the changes there that the relevant helper manifests are added to the dependencies at install time, but otherwise the helper dependencies are largely obfuscated, being completely unknown to scoop depends for example.

scoop depends (and any other internal dependency resolver) should absolutely know about these helper dependencies. Ideally they should be made explicit in the manifests using them, and not hidden inside of helper functions. Then it would be entirely unnecessary to log the missing helper dependencies as potential issues.

@HUMORCE
Copy link
Member

HUMORCE commented Aug 25, 2023

Ideally they should be made explicit in the manifests using them, and not hidden inside of helper functions.

dark, innounp, etc. are dependencies of Scoop Core for extarction, not manifests(apps,programs). python can runs fine without dark, but Scoop cannot extract python files without dark.

Scoop does not handle dependencies perfectly:

  • Scoop allows users to use external installations (e.g. 7zip)
  • Scoop cannot provides/installs dependencies for users (e.g. npcap, usbpcap, <drivers>...)
  • Scoop assumes that users already install dependencies externally (e.g. dotnet-sdk, vcredist, jdk, jre, ...)

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

Successfully merging a pull request may close this issue.

2 participants