Skip to content

Conversation

prandla
Copy link
Member

@prandla prandla commented Sep 3, 2025

  • Allow each language to modify the parameters of the sandbox for both compilation and evaluation.
  • Don't put /etc in the sandbox by default, only include the parts of /etc that are necessary for specific languages. (except for pascal... isolate doesn't support bind-mounting individual files, and pascal uses /etc/fpc.cfg instead of a subdirectory, so we still need to mount all of /etc for it. Note that the kernel does support bind-mounting files - should this feature be added to isolate?)
  • Don't use preserve_env=True for compilation sandboxes, instead set PATH (which seems to be the only environment variable that was actually necessary) to a reasonable value manually.

This implements one part of #1480 and is necessary for supporting dotnet (#1243).

I call configure_compilation_sandbox and configure_evaluation_sandbox as late as possible, to allow languages to override the general parameters if needed. None of them need that currently, but it might be useful in the future.

Note that TwoSteps doesn't actually call configure_evaluation_sandbox, but then again it never even called get_evaluation_commands in the first place...

…rictive

* Don't put /etc in the sandbox by default, only include the parts of
  /etc that are necessary for specific languages (except for pascal...)
* Don't use preserve_env=True for compilation sandboxes, instead set
  PATH to a reasonable value manually.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

1 participant