]> xenbits.xensource.com Git - xcp/xen-api-libs.git/commitdiff
CA-36075: add back in a sane default $PATH for subprocesses that need it.
authorDavid Scott <dave.scott@eu.citrix.com>
Mon, 21 Dec 2009 14:22:52 +0000 (14:22 +0000)
committerDavid Scott <dave.scott@eu.citrix.com>
Mon, 21 Dec 2009 14:22:52 +0000 (14:22 +0000)
In particular the 'EXTSR' storage backend expects to find 'pvcreate' on the path. Rather than just fixing this one instance and then seeing what else fails, this patch should prevent this class of error recurring.

Note that the only place we actually pass a custom environment to a subprocess is when installing the debian etch template.

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
stdext/forkhelpers.ml

index a5adf145b30d4e55055ef05725bdb358fe2e32f5..8a752afea1278d1ed98e04b973647151bf82055a 100644 (file)
@@ -21,6 +21,8 @@
 
 (* XXX: this is a work in progress *)
 
+let default_path = [ "/sbin"; "/usr/sbin"; "/bin"; "/usr/bin" ]
+
 open Pervasiveext
 
 type pidty = 
@@ -201,7 +203,7 @@ let safe_close_and_exec ?env stdin stdout stderr (fds: (string * Unix.file_descr
 
     let env = match env with 
       |        Some e -> e
-      | None -> [||] 
+      | None -> [| "PATH=" ^ (String.concat ":" default_path) |]
     in
     Fecomms.write_raw_rpc sock (Fe.Setup {Fe.cmdargs=(cmd::args); env=(Array.to_list env); id_to_fd_map = id_to_fd_map});