Unixutils-1.45: A crude interface between Haskell and Unix-like operating systems



This module, except for useEnv, is copied from the build-env package.



fchroot :: FilePath -> IO a -> IO aSource

fchroot runs an IO action inside a chroot fchroot performs a chroot, runs the action, and then restores the original root and working directory. This probably affects the chroot and working directory of all the threads in the process, so... NOTE: will throw IOError if internal chroot fails

useEnv :: FilePath -> (a -> IO a) -> IO a -> IO aSource

The ssh inside of the chroot needs to be able to talk to the running ssh-agent. Therefore we mount --bind the ssh agent socket dir inside the chroot (and umount it when we exit the chroot.

forceList :: [a] -> IO [a]Source

A function to force the process output by examining it but not printing anything.

forceList' :: [Output] -> IO [Output]Source

First send the process output to the and then force it.