Patch title: Release 90 bulk changes
Abstract:
File: /linux/kernel/library.pli
Key:
    Removed line
    Added line
   
module "/pliant/language/unsafe.pli"
module "/pliant/language/stream.pli"
module "/pliant/admin/file.pli"
module "/pliant/admin/execute.pli"


module "/pliant/language/unsafe.pli"
module "/pliant/language/stream.pli"
module "/pliant/admin/file.pli"
module "/pliant/admin/execute.pli"


function copy_libraries filename path
  arg Str filename path
function file_libraries prog -> libs
  arg Str prog ; arg List:Str libs 
  libs := var List:Str empty_list
  var Str temp := file_temporary
  var Str temp := file_temporary
  execute "ldd"+" "+filename root "embedded:/" path "embedde
  execute prog environment "LD_TRACE_LOADED_OBJECTS=1[0]" output temp
  (var Stream s) open temp in+safe
  while not s:atend
    var Str l := s readline
  (var Stream s) open temp in+safe
  while not s:atend
    var Str l := s readline
    console "  " file_os_name:filename ": " l eol
    if (l parse any:(var Str library) "=>" any)
      library := library (library search_last "/" -1)+1 libr
    if (l parse any:(var Str library) "=>" any)
      library := library (library search_last "/" -1)+1 libr
      console "? " library eol
      if (file_query path+"lib/"+library standard)=undefined
        var FileInfo info := file_query "embedded:/lib/"+lib
        var Str real := shunt info:is_link info:link library
        file_copy "embedded:/lib/"+real path+"lib/"+library
      # console "  " library eol
      libs += library
  s close
  file_delete temp

  s close
  file_delete temp

gvar Array:Str search_path
search_path += "/sbin/"
search_path += "/bin/"
search_path += "/usr/sbin/"
search_path += "/usr/bin/"

function install_executable exe path -> status
  arg Str exe path ; arg Status status
  part scan
    for (var Int i) 0 search_path:size-1
      var Str filename := "embedded:"+search_path:i+exe
      if (file_query filename standard)=defined
        leave scan
    return failure
  var Str target := path+"bin/"+(filename (filename search_l
  if (file_query target standard)=failure
    file_copy filename target standard
    file_configure target "mode "+string:((file_query filena
    copy_libraries search_path:i+exe path
  status := success

export install_executable
export file_libraries