(List (= scope= flags=0 words=[] bindings=[('PATH', {[LIT_CHARS /usr/local/sbin] [LIT_OTHER ":"] [LIT_CHARS /usr/sbin] [LIT_OTHER ":"] [LIT_CHARS /sbin] [LIT_OTHER ":"] [LIT_CHARS /usr/local/bin] [LIT_OTHER ":"] [LIT_CHARS /usr/bin] [LIT_OTHER ":"] [LIT_CHARS /bin]})]) (= scope= flags=0 words=[] bindings=[('umask', {[LIT_CHARS 077]})]) (= scope= flags=0 words=[] bindings=[('d', {[VarSub TMPDIR test_op=VS_TEST_COLON_HYPHEN {[LIT_SLASH /] [LIT_CHARS tmp]}] [LIT_CHARS /nacl64.] [VarSub $]})]) (If (Pipeline! (Com {[LIT_CHARS mkdir]} {[DQ [VarSub d]]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) ) (List (Com {[LIT_CHARS cat]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "Could not create safe temporary directory "][RIGHT_D_QUOTE "\""][VarSub d][RIGHT_D_QUOTE "\""][LIT_CHARS ".\n"][LIT_CHARS "\n"][LIT_CHARS "ABORTING.\n"]]} 0), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (= scope= flags=0 words=[] bindings=[('f', {[DQ [VarSub d][LIT_CHARS /x.c]]})]) (= scope= flags=0 words=[] bindings=[('fout', {[DQ [VarSub d][LIT_CHARS /x]]})]) (Com {[LIT_CHARS trap]} {[SQ ]} {[LIT_CHARS 0]} {[LIT_CHARS 1]} {[LIT_CHARS 2]} {[LIT_CHARS 3]} {[LIT_CHARS 15]}) (FunctionDef isRunningAsRoot [] (Pipeline (Com {[LIT_CHARS whoami]}) (Com {[LIT_CHARS grep]} {[LIT_CHARS -q]} {[SQ ]}) ) ) (FunctionDef ensure_installed [] (If (Pipeline! (Com {[LIT_OTHER "["]} {[LIT_CHARS -e]} {[DQ [VarSub 1]]} {[LIT_OTHER "]"]}) ) (List (Com {[LIT_CHARS cat]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "... you do not have "][VarSub 2][LIT_CHARS ". Installing...\n"]]} 0), > ) (If (Com {[LIT_CHARS apt-get]} {[LIT_CHARS -y]} {[LIT_CHARS install]} {[DQ [VarSub 2]]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "... done"]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (ElseTrue) (List (Com {[LIT_CHARS cat]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "... failed to install "][VarSub 2][LIT_CHARS ".\n"][LIT_CHARS "\n"][LIT_CHARS "ABORTING\n"]]} 0), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) ) ) ) (If (Pipeline! (Com {[LIT_CHARS isRunningAsRoot]}) ) (List (Com {[LIT_CHARS cat]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), (HereDocRedirectNode here_end='EOF' do_expansion=False body_word={[LIT_CHARS "Not running as root, so cannot install libraries/links.\n"] [LIT_CHARS "Note: you probably will need to copy this script to the local file system\n"] [LIT_CHARS "(and off of NFS) in order to run this script as root.\n"] [LIT_CHARS "\n"] [LIT_CHARS "ABORTING.\n"]} 0), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (Com {[LIT_CHARS ensure_installed]} {[SQ ]} {[SQ ]}) (If (Com {[LIT_OTHER "["]} {[ComSub (Com {[LIT_CHARS uname]} {[LIT_CHARS -m]})]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[DQ [LIT_CHARS x86_64]]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS cat]} < (HereDocRedirectNode here_end='EOF' do_expansion=False body_word={[LIT_CHARS "You do not appear to be using an x86_64 system. This rest of this script\n"] [LIT_CHARS "is not required.\n"]} 0), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 0]}) ) ) (Com {[LIT_CHARS ensure_installed]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS ensure_installed]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS ensure_installed]} {[SQ ]} {[SQ ]}) )