(CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SRC_DIR) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(pwd)})]) left_token: <Left_CommandSub "$("> spids: [51 53] ) } spids: [50] ) ] spids: [50] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:JAVA_ARCHIVE) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(grep)} {(-i)} {(Lit_Other "^") (JAVA_ARCHIVE)} {(.config)}) (C {(cut)} {(-f2)} {(-d) (SQ <"=">)}) ] negated: False ) ] ) left_token: <Left_CommandSub "$("> spids: [61 81] ) ) } spids: [59] ) ] spids: [59] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$JAVA_ARCHIVE"))} {(Lit_Other "=")} {(DQ )} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) ] action: [ (C {(echo)} {(DQ ("ERROR: configuration property 'JAVA_ARCHIVE' is not set."))}) (C {(exit)} {(1)}) ] spids: [-1 102] ) (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(KW_Bang "!")} {(-f)} {(DQ ($ VSub_Name "$JAVA_ARCHIVE"))} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) ] action: [ (C {(echo)} {(DQ ("ERROR: configuration property 'JAVA_ARCHIVE' points to nonexistent file."))} ) (C {(exit)} {(1)}) ] spids: [116 132] ) ] spids: [-1 146] ) (C {(rm)} {(-rf)} {($ VSub_Name "$SRC_DIR") (/work/overlay/java)}) (C {(mkdir)} {(-p)} {($ VSub_Name "$SRC_DIR") (/work/overlay/java/opt)}) (C {(tar)} {(-xvf)} {($ VSub_Name "$JAVA_ARCHIVE")} {(-C)} {($ VSub_Name "$SRC_DIR") (/work/overlay/java/opt)} ) (C {(cd)} {($ VSub_Name "$SRC_DIR") (/work/overlay/java/opt)}) (C {(mv)} { (CommandSubPart command_list: (CommandList children:[(C {(ls)} {(-d)} {(Lit_Other "*")})]) left_token: <Left_CommandSub "$("> spids: [187 193] ) } {(java)} ) (C {(mkdir)} {($ VSub_Name "$SRC_DIR") (/work/overlay/java/bin)}) (ForEach iter_name: FILE iter_words: [ { (CommandSubPart command_list: (CommandList children:[(C {(ls)} {(java/bin)})]) left_token: <Left_CommandSub "$("> spids: [210 214] ) } ] do_arg_iter: False body: (DoGroup children: [ (C {(ln)} {(-s)} {(../opt/java/bin/) ($ VSub_Name "$FILE")} {(../bin/) ($ VSub_Name "$FILE")}) ] spids: [216 229] ) spids: [209 -1] ) (C {(cp)} {(-r)} {($ VSub_Name "$SRC_DIR") (/work/overlay/java/) (Lit_Other "*")} {($ VSub_Name "$SRC_DIR") (/work/src/minimal_overlay)} ) (C {(echo)} {(DQ ("Java has been installed."))}) (C {(cd)} {($ VSub_Name "$SRC_DIR")}) ] )