(command.CommandList children: [ (command.AndOr ops: [Op_DAmp Op_DAmp Op_DAmp Op_DAmp] children: [ (C {(Lit_Other '[')} {(KW_Bang '!')} {(-z)} {(DQ ($ VSub_Number '$2'))} {(Lit_Other ']')}) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:REBUILD spids:[85]) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [85] ) ] spids: [85] ) (C {(Lit_Other '[')} {(KW_Bang '!')} {(-e)} {(DQ ($ VSub_Number '$2')) (.sh)} {(Lit_Other ']')}) (C {(echo)} {(DQ ('no stage ') ($ VSub_Number '$2'))}) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] ) (command.If arms: [ (if_arm cond: [ (command.AndOr ops: [Op_DPipe Op_DPipe] children: [ (C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(-lt)} {(1)} {(Lit_Other ']')}) (C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(-gt)} {(2)} {(Lit_Other ']')}) (C {(Lit_Other '[')} {(KW_Bang '!')} {(-e)} {(sources/targets/) (DQ ($ VSub_Number '$1'))} {(Lit_Other ']')} ) ] ) ] action: [ (C {(echo)}) (C {(echo)} {(DQ ('Usage: ') ($ VSub_Number '$0') (' TARGET [REBUILD_FROM_STAGE]'))}) (C {(echo)}) (C {(echo)} {(DQ ('Supported architectures:'))}) (C {(ls)} {(sources/targets)}) (C {(echo)}) (C {(echo)} {(DQ ('Build stages:'))}) (command.Pipeline children: [ (C {(sed)} {(-n)} {(SQ <'s/#.*//;s@.*[.]/\\([^.]*\\)[.]sh.*@\\1@p'>)} {(DQ ($ VSub_Number '$0'))} ) (C {(uniq)}) (C {(xargs)} {(echo)}) ] negated: F ) (C {(echo)}) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [16777215 161] ) ] spids: [16777215 232] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:ARCH spids:[234]) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [234] ) ] spids: [234] ) (command.AndOr ops: [Op_DAmp] children: [(C {(Lit_Other '[')} {(-e)} {(config)} {(Lit_Other ']')}) (C {(source)} {(config)})] ) (command.AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$BUILD'))} {(Lit_Other ']')}) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:BUILD spids:[278]) op: Equal rhs: {(DQ (build))} spids: [278] ) ] spids: [278] ) ] ) (command.FuncDef name: not_already body: (command.BraceGroup children: [ (command.AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$AGAIN'))} {(Lit_Other '=') (Lit_Other '=')} {(DQ ($ VSub_Number '$1'))} {(Lit_Other ']')} ) (command.ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] ) (command.AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$REBUILD'))} {(Lit_Other '=') (Lit_Other '=')} {(DQ ($ VSub_Number '$1'))} {(Lit_Other ']')} ) (C {(zap)} {(DQ ($ VSub_Number '$1'))}) ] ) (command.If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {(-f)} { (DQ ($ VSub_Name '$BUILD') (/) ($ VSub_Number '$1') (-) ($ VSub_Name '$ARCH') (.tar.gz) ) } {(Lit_Other ']')} ) ] action: [ (C {(echo)} { (DQ ('=== Skipping ') ($ VSub_Number '$1') (-) ($ VSub_Name '$ARCH') (' (already there)') ) } ) (command.ControlFlow token: <ControlFlow_Return return> arg_word: {(1)} ) ] spids: [16777215 370] ) ] spids: [16777215 389] ) (command.ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [302] ) spids: [298 301] ) (command.FuncDef name: zap body: (command.BraceGroup children: [ (command.ForEach iter_name: i iter_words: [{(DQ ($ VSub_At '$@'))}] do_arg_iter: F body: (command.DoGroup children: [ (C {(rm)} {(-f)} { (DQ ($ VSub_Name '$BUILD') (/) ($ VSub_Name '$i') (-) ($ VSub_Name '$ARCH') (.tar.gz) ) } ) ] spids: [418 435] ) spids: [412 16777215] ) ] spids: [404] ) spids: [400 403] ) (command.FuncDef name: do_stage body: (command.BraceGroup children: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:STAGE spids:[450]) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [450] ) ] spids: [450] ) (C {(shift)}) (command.If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$AFTER'))} {(Lit_Other '=') (Lit_Other '=')} {(DQ ($ VSub_Name '$STAGE'))} {(Lit_Other ']')} ) ] action: [(C {(unset)} {(AFTER)})] spids: [16777215 478] ) ] else_action: [ (command.AndOr ops: [Op_DPipe] children: [ (command.TimeBlock pipeline: (C {(./) (DQ ($ VSub_Name '$STAGE')) (.sh)} {(DQ ($ VSub_At '$@'))}) ) (command.ControlFlow token: <ControlFlow_Exit exit> arg_word: {(1)} ) ] ) ] spids: [486 508] ) ] spids: [447] ) spids: [443 446] ) (C {(do_stage)} {(download)}) (command.If arms: [ (if_arm cond: [(C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$NO_HOST_TOOLS'))} {(Lit_Other ']')})] action: [(C {(do_stage)} {(host-tools)})] spids: [16777215 557] ) ] spids: [16777215 564] ) (command.If arms: [ (if_arm cond: [ (command.AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$MY_CROSS_PATH'))} {(Lit_Other ']')}) (C {(not_already)} {(simple-cross-compiler)}) ] ) ] action: [ (C {(zap)} {(root-filesystem)} {(cross-compiler)} {(native-compiler)}) (C {(do_stage)} {(simple-cross-compiler)} {(DQ ($ VSub_Name '$ARCH'))}) ] spids: [16777215 589] ) ] spids: [16777215 615] ) (command.If arms: [ (if_arm cond: [ (command.AndOr ops: [Op_DAmp Op_DAmp] children: [ (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$MY_CROSS_PATH'))} {(Lit_Other ']')}) (C {(Lit_Other '[')} {(KW_Bang '!')} {(-z)} {(DQ ($ VSub_Name '$CROSS_COMPILER_HOST'))} {(Lit_Other ']')} ) (C {(not_already)} {(cross-compiler)}) ] ) ] action: [ (C {(zap)} {(root-filesystem)} {(native-compiler)}) (command.If arms: [ (if_arm cond: [ (command.SimpleCommand words: [{(not_already)} {(simple-cross-compiler)}] more_env: [ (env_pair name: ARCH val: {(DQ ($ VSub_Name '$CROSS_COMPILER_HOST'))} spids: [679] ) ] ) ] action: [ (C {(do_stage)} {(simple-cross-compiler)} {(DQ ($ VSub_Name '$CROSS_COMPILER_HOST'))}) ] spids: [16777215 689] ) ] spids: [16777215 701] ) (C {(do_stage)} {(cross-compiler)} {(DQ ($ VSub_Name '$ARCH'))}) ] spids: [16777215 661] ) ] spids: [16777215 713] ) (command.If arms: [ (if_arm cond: [ (command.Pipeline children: [ (C {(grep)} {(-q)} {(Lit_VarLike 'KARCH=')} {(sources/targets/) (DQ ($ VSub_Name '$ARCH'))} ) ] negated: T ) ] action: [ (C {(echo)} {(no)} {(KARCH)} {(KW_In in)} {($ VSub_Number '$1') (Lit_Comma ',')} {(stopping)} {(here)} ) ] spids: [16777215 731] ) ] spids: [16777215 749] ) (command.If arms: [ (if_arm cond: [(C {(not_already)} {(root-filesystem)})] action: [(C {(do_stage)} {(root-filesystem)} {(DQ ($ VSub_Name '$ARCH'))})] spids: [16777215 762] ) ] spids: [16777215 773] ) (command.If arms: [ (if_arm cond: [ (command.AndOr ops: [Op_DAmp Op_DAmp] children: [ (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$MY_CROSS_PATH'))} {(Lit_Other ']')}) (command.Pipeline children: [ (C {(grep)} {(-q)} {(ELF2FLT)} {(sources/targets/) (DQ ($ VSub_Name '$ARCH'))}) ] negated: T ) (C {(not_already)} {(native-compiler)}) ] ) ] action: [(C {(do_stage)} {(native-compiler)} {(DQ ($ VSub_Name '$ARCH'))})] spids: [16777215 821] ) ] spids: [16777215 832] ) (C {(do_stage)} {(system-image)} {(DQ ($ VSub_Name '$ARCH'))}) ] )