(CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:NANO_PKG_DUMP) op: Equal rhs: {($ VSub_Number '$1')} spids: [103] ) ] spids: [103] ) (Sentence child:(C {(shift)}) terminator:<Op_Semi ';'>) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(KW_Bang '!')} {(-d)} {($ VSub_Name '$NANO_PKG_DUMP')} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [{(echo)} {(DQ ($ VSub_Name '$NANO_PKG_DUMP') (' not a directory'))}] redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[133])] ) (C {(exit)} {(1)}) ] spids: [-1 123] ) ] spids: [-1 141] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:NANO_PACKAGE_DIR) op: Equal rhs: {($ VSub_Number '$1')} spids: [144] ) ] spids: [144] ) (Sentence child:(C {(shift)}) terminator:<Op_Semi ';'>) (FuncDef name: ports_recurse body: (Subshell child: (CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:of) op: Equal rhs: {($ VSub_Number '$1')} spids: [158] ) ] spids: [158] ) (C {(shift)}) (ForEach iter_name: d do_arg_iter: True body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(KW_Bang '!')} {(-d)} {($ VSub_Name '$d')} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [{(echo)} {(DQ ('Missing port ') ($ VSub_Name '$d'))}] redirects: [ (Redir op_id: Redir_GreatAnd fd: 1 arg_word: {(2)} spids: [197] ) ] ) (C {(exit)} {(2)}) ] spids: [-1 187] ) ] spids: [-1 206] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(grep)} {(-q)} { (DQ ('^') ($ VSub_Name '$d') (EscapedLiteralPart token: <Lit_EscapedChar '\\$'> ) ) } {($ VSub_Name '$of')} ) terminator: <Op_Semi ';'> ) ] action: [(C {(true)})] spids: [-1 225] ) ] else_action: [ (Subshell child: (CommandList children: [ (C {(cd)} {($ VSub_Name '$d')}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rd) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(make)} {(-V)} {(RUN_DEPENDS)} {(${ VSub_Name PORTS_OPTS)} ) ] ) left_token: <Left_Backtick '`'> spids: [243 253] ) } spids: [242] ) ] spids: [242] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ld) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(make)} {(-V)} {(LIB_DEPENDS)} {(${ VSub_Name PORTS_OPTS)} ) ] ) left_token: <Left_Backtick '`'> spids: [257 267] ) } spids: [256] ) ] spids: [256] ) (ForEach iter_name: x iter_words: [{($ VSub_Name '$rd')} {($ VSub_Name '$ld')}] do_arg_iter: False body: (DoGroup children: [ (C {(ports_recurse)} {($ VSub_Name '$of')} { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {($ VSub_Name '$x')}) (C {(sed)} {(SQ <'s/^[^:]*:\\([^:]*\\).*$/\\1/'>)} ) ] negated: False ) ] ) left_token: <Left_Backtick '`'> spids: [290 303] ) } ) ] spids: [283 306] ) spids: [277 -1] ) ] ) spids: [234 309] ) (SimpleCommand words: [{(echo)} {($ VSub_Name '$d')}] redirects: [ (Redir op_id: Redir_DGreat fd: -1 arg_word: {($ VSub_Name '$of')} spids: [316] ) ] ) ] spids: [231 321] ) ] spids: [170 324] ) spids: [-1 -1] ) ] ) spids: [155 326] ) spids: [151 154] ) (C {(rm)} {(-rf)} {($ VSub_Name '$NANO_PACKAGE_DIR')}) (C {(mkdir)} {(-p)} {($ VSub_Name '$NANO_PACKAGE_DIR')}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PL) op: Equal rhs: {($ VSub_Name '$NANO_PACKAGE_DIR') (/_list)} spids: [342] ) ] spids: [342] ) (SimpleCommand words: [{(true)}] redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{($ VSub_Name '$PL')} spids:[348])] ) (ForEach iter_name: i do_arg_iter: True body: (DoGroup children: [ (C {(ports_recurse)} { (CommandSubPart command_list: (CommandList children:[(C {(pwd)})]) left_token: <Left_Backtick '`'> spids: [362 364] ) (/) ($ VSub_Name '$PL') } {($ VSub_Name '$i')} ) ] spids: [357 370] ) spids: [-1 -1] ) (ForEach iter_name: i iter_words: [ { (CommandSubPart command_list: (CommandList children:[(C {(cat)} {($ VSub_Name '$PL')})]) left_token: <Left_Backtick '`'> spids: [379 383] ) } ] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:p) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Subshell child: (AndOr children: [ (C {(cd)} {($ VSub_Name '$i')}) (C {(make)} {(-V)} {(PKGNAME)}) ] op_id: Op_DAmp ) spids: [390 402] ) ] ) left_token: <Left_Backtick '`'> spids: [389 403] ) } spids: [388] ) ] spids: [388] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-f)} {($ VSub_Name '$NANO_PKG_DUMP') (/) ($ VSub_Name '$p') (.t) (Lit_Other '[') (bx) (Lit_Other ']') (z) } {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(ln)} {(-s)} {($ VSub_Name '$NANO_PKG_DUMP') (/) ($ VSub_Name '$p') (.t) (Lit_Other '[') (bx) (Lit_Other ']') (z) } {($ VSub_Name '$NANO_PACKAGE_DIR')} ) ] spids: [-1 425] ) ] else_action: [ (SimpleCommand words: [ {(echo)} { (DQ ('Package ') ($ VSub_Name '$p') (' misssing in ') ($ VSub_Name '$NANO_PKG_DUMP') ) } ] redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[456])] ) (C {(exit)} {(1)}) ] spids: [444 465] ) ] spids: [385 467] ) spids: [378 -1] ) (C {(rm)} {(-f)} {($ VSub_Name '$PL')}) (C {(exit)} {(0)}) ] )