GaloisInc / saw-script

The SAW scripting language.
BSD 3-Clause "New" or "Revised" License
442 stars 63 forks source link

Change SAW docker entrypoint to bash #2130

Closed smithdtyler closed 1 month ago

smithdtyler commented 1 month ago

The SAW docker file drops immediately into the REPL, which is confusing for new users following these tutorials which call for saw to be invoked from a generic shell (e.g., saw pop.saw).

Change the entry point to /usr/bin/sh

Temporary workaround:

sudo docker run -it --entrypoint /usr/bin/sh ghcr.io/galoisinc/saw:1.2

RyanGlScott commented 1 month ago

I apologize if I'm misunderstanding something here, but I don't quite understand the motivation for making the entrypoint be a shell rather than the SAW tool itself. You say:

The SAW docker file drops immediately into the REPL

But this is simply because you are invoking saw without any files as arguments. If you want to run SAW via Docker on a particular example, you would run something like:

docker run -v <path/to/pop.saw>:/examples -w /examples ghcr.io/galoisinc/saw:1.2 pop.saw

The flip side is that you have to manually include the location of pop.saw (via -v/-w), but that is an unavoidable consequence of how Docker's containerization works. As such, I think everything is working as intended here. Am I missing something?

smithdtyler commented 1 month ago

This was user error, I believe I used the -it flag to docker when it was not necessary.