src/Pure/System/isabelle_system.scala
changeset 64935 9437a117408b
parent 64657 6209e0f7a4e8
child 65083 9a0e34edfad1
equal deleted inserted replaced
64934:795055a0be98 64935:9437a117408b
   300   {
   300   {
   301     Bash.process(script, cwd = cwd, env = env, redirect = redirect, cleanup = cleanup).
   301     Bash.process(script, cwd = cwd, env = env, redirect = redirect, cleanup = cleanup).
   302       result(progress_stdout, progress_stderr, progress_limit, strict)
   302       result(progress_stdout, progress_stderr, progress_limit, strict)
   303   }
   303   }
   304 
   304 
       
   305   private lazy val gnutar_check: Boolean =
       
   306     try { bash("tar --version").check.out.containsSlice("GNU tar") || error("") }
       
   307     catch { case ERROR(_) => false }
       
   308 
       
   309   def gnutar(args: String, cwd: JFile = null, redirect: Boolean = false): Process_Result =
       
   310   {
       
   311     if (gnutar_check) bash("tar " + args, cwd = cwd, redirect = redirect)
       
   312     else error("Expected to find GNU tar executable")
       
   313   }
       
   314 
   305   def hostname(): String = bash("hostname -s").check.out
   315   def hostname(): String = bash("hostname -s").check.out
   306 
   316 
   307   def open(arg: String): Unit =
   317   def open(arg: String): Unit =
   308     bash("exec \"$ISABELLE_OPEN\" " + Bash.string(arg) + " >/dev/null 2>/dev/null &")
   318     bash("exec \"$ISABELLE_OPEN\" " + Bash.string(arg) + " >/dev/null 2>/dev/null &")
   309 
   319