Passing files across a `bst shell` sandbox boundry
In #gnome-hackers there was a question on how to put a file from the host into a bst shell sandbox.
This seems like a reasonable wish when using the shell environment to debug something. The "correct" approach of adding an 'import' element with a local source and rebuilding the sandbox would be rather time consuming compared to just copying the file in.
There's no way to get BuildStream to say where a sandbox root filesystem lives. It can be found by grubbing around in ~/.cache/buildstream/builds but I don't want to recommend that.
One option would be to have bst shell print out the path to the sandbox it has created... but that still seems ugly.
Another possibility I thought of is allowing something like bst checkout element.bst ./my-checkout; bst shell element.bst --sysroot ./my-checkout. Here the user has explicitly created a sandbox directory and opened a shell on top, and seems reasonable that they can add and remove files to it on the host as they please, and deal with whatever breakages may result. However this fails because bst shell --sysroot expects the sysroot directory to be shaped like a BuildStream build sandbox, having all the files in a ./root subdirectory.
Any thoughts on how we should best do this?