Hello,

To settup a control system for a RAID interface, I have to install a binary from downloading on internet. I am using the function downlaod that I copied over from deboostrap (src/Propellor/Property/Debootstrap.hs):

download :: Url -> FilePath -> IO Bool
download url dest = anyM id
                [ boolSystem "curl" [Param "-o", File dest, Param url]
                , boolSystem "wget" [Param "-O", File dest, Param url]
                ]

As I read it, it should try to download using first curl, then wget. On this system, curl is not installed (but wget is). When the property is run I get the following warning :

** warning: curl: createProcess: runInteractiveProcess: exec: does not exist (No such file or directory)

Clearly indicating that it does not manage to download using curl (expected), but then, instead of trying withwget` it fails with message :

download ... ... failed

I understand that the anyM is interupted before running the second element of the command list. I suspexct that boolSystem is not returning false when curl does not exist, but rather throwing some kind of exception (interupting the anyM tentatives).