Originally Posted By: mlord
But this would likely also require replacing the closed-source init binary with something more flexible.


Code:
while true; do /empeg/bin/player; /bin/bash; done


...is pretty all that init does. OK, OK that isn't the full story: it watches for particular exit codes from player to decide whether to start bash or not.

I wanted to extend it in v3 to map certain exit codes to different actions, and to put the desired exit code in the "Quit Player" protocol request packet (e.g. to run rsync in non-daemon mode and then restart the player when it was finished), but we never got around to it.

init is a binary because we didn't want the shell loaded when we didn't need it, and it's closed source because Hugo wrote it, and his code's always embarassing ;-)

No, seriously, it's closed source probably because it didn't seem worth the effort to open it.
_________________________
-- roger