Make borg more flexible
Description of changes
Starting jobs from outside borg appears to have some undiagnosed issues (which are hard to diagnose without full system access).
And it's currently hard to use custom scripts to start jobs in borg, even if they don't consume much resources (e.g. mine uses Python and bc
for math, and make
to handle retries and parallel execution).
It's imperative to allow general computation in borg
, while keeping users in check, and discouraging them from performing any computation that is not related to job preparation/launching in borg
.
Keeping users in check was already solved (see resource limits from !7 (merged)), this MR addresses the remaining items.
- Allows
nix shell
usage in borg. - Splits software profile into
shell
anddevtools
components, and includes the generalshell
components in borg.- Build systems and tools, and debuggers were considered build tools.
- Tools that are flexible enough to be used in scenarios outside software compilation (like
make
) are in both sections.
- Introduces a new package
dontcompileinborg
which displays a warning and exits with an error code when invoked, and is symlinked to common compiler.- Should avoid students compiling their project due to brain-dead copy and paste from guides.
Things done
-
Tested -
Updated documentation (Wiki/NetBox) -
Breaking change
Edited by André Breda