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
Use a clean, whitelisted environment with Popen (#16118) #16119
Closed
paulharris
wants to merge
3
commits into
conan-io:develop2
from
paulharris:feature/whitelist-environment-for-popen
Closed
Changes from 2 commits
Commits
Show all changes
3 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd say that this sounds super risky, and it will certainly break users that depends on some of these variables for their usage.
In general it is not the responsibility of Conan to do this kind of task, it should be the users that need to spin a clean environment and then run Conan in it.
Conan has some functionality, like it can undefine/unset variables if desired in the profiles, so if you are having problems I'd recommend to define a profile that unsets the environment vars you want to filter out and then inject that profile when you want.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The problem is the variables I'm having problems with are not things I'm adding. It is bash that is creating !ExitCode multiple times in different cases.
This would affect all users.
I thought it should be conan's responsibility though... I thought it was conan's job to control the build environment as best it can...
I don't think recipes should be depending on environmental variables from outside the conan-defined environment. The recipe, lock file, and profiles, should say everything.
If users want something added to their environment, add it to their profile. Isn't that what it is for?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am afraid that you are looking for a level of isolation that is outside of Conan scope. You might be able to implement that isolation with some Conan mechanisms, but it is not something that should be in the Conan scope, as Conan is a package manager not a "build environment" or a "virtualenv manager" (as a note, not even Python virtualenvs provide isolation from defined environment, if you have some env-var defined and activate a virtualenv, it doesn't provide a clean/blank environment, it inherits the env-vars already defined in the system)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll continue the discussion on the merits in the issue
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This approach has been dropped in favour of clearing the env at the start of conan's execution.
More discussion in issue.