Better manual download checks
Following a discussion on Matrix, this is a rework of how packages which cannot be fetched automatically are handled from the user's perspective.
- In non-interactive mode, portmod will not attempt to install packages if there are files which need to be fetched manually.
- In interactive mode, portmod will loop until there are no more files which need to be fetched manually.
- Portmod will display a summary of the pkg_nofetch and pkg_pretend messages before the first prompt, to draw attention to the messages in the case of a very long transaction list and to mitigate the fact that
pkg_pretend
runs after thepkg_nofetch
, but the user is only prompted after both have finished displaying messages, so there can be a disconnect between thepkg_nofetch
messages and the prompt. - Stack traces will no longer be displayed in regular verbosity mode when you portmod cannot fetch a source file, or a source file doesn't match the hash in the manifest, as these are errors caused by external factors rather than portmod errors and should not be considered a portmod bug (probably an issue with the package, or a user error).