Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In case the user running DNF is not root, the current behavior is to raise an Exception (because is a demand) and exit. To work around the fact that DNF does not provide a mechanism for relocate packages (see #2105), a way to work around this limitation is to execute dnf from within a container, binding the required folders from the host in the expected locations in the container. However, for certain runtimes (e.g., singularity) than run under the user permissions (and not root), this is not enough: besides the binding of the folders, the check for root must not be enforced.
This PR relaxes the check for root, so that instead of raising an Exception, a warning log message gets emitted. This should not pose a problem because, even in the case the user is not allowed to perform certain actions (e.g., write to /var/cache), DNF will be running anyway as the unprivileged user and will not harm the system.