You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add version commands and installation instructions for chroot in manual
DOMjudge ships with default languages but no documentation on how to
install those. This commit documents how to get a working setup in the
chroot to get the example problems to run.
In the past we had the idea to enable all languages in
the integration test. If we would do that we could detect the required
package changes also and keep this up to date.
For the interpreted languages we use mostly use the same binary as
runner & compiler.
Some of the versions were already added before and are only documented
on how to install those now. The migration is added for people to get
the version commands to make it easier to use additional languages and
still make it easy to publish the used versions, useful for online
mirrors etc.
The version for `dash`/`sh` is difficult as there is no simple
`--version` and getting the value with `dpkg -s` does not work inside
our chroot during runtime as not all locations are mounted. For more
information see: https://stackoverflow.com/questions/36660724/how-to-tell-the-version-number-of-dash
and
https://unix.stackexchange.com/questions/416760/how-to-find-out-the-version-number-of-dash-without-resorting-to-package-manage.
The other alternative would be `file` as that gives more information
than `md5sum` but its also not available in the chroot.
The installation for swift could be easier if we allow tarballs to be
unpacked in the future. At the moment people would either need to change
`dj_make_chroot` or do it afterwards with `dj_run_chroot`.
Javascript is interpreted so we copy the behaviour of python. While
testing I found that we can only have run-error but there is a `--check`
which we could use to verify that there is a sort of compilation step.
0 commit comments