(CommandList children: [ (C {(export)} {(Lit_VarLike 'DESTTREE=') (/usr)}) (C {(export)} {(Lit_VarLike 'INSDESTTREE=') (DQ )}) (C {(export)} {(Lit_VarLike '_E_EXEDESTTREE_=') (DQ )}) (C {(export)} {(Lit_VarLike '_E_DOCDESTTREE_=') (DQ )}) (C {(export)} {(Lit_VarLike 'INSOPTIONS=') (DQ (-m0644))}) (C {(export)} {(Lit_VarLike 'EXEOPTIONS=') (DQ (-m0755))}) (C {(export)} {(Lit_VarLike 'LIBOPTIONS=') (DQ (-m0644))}) (C {(export)} {(Lit_VarLike 'DIROPTIONS=') (DQ (-m0755))}) (C {(export)} {(Lit_VarLike 'MOPREFIX=') (${ VSub_Name PN)}) (C {(export)} {(Lit_VarLike 'PORTAGE_DOCOMPRESS_SIZE_LIMIT=') (DQ (128))}) (Assignment keyword: Assign_Declare flags: [-a] pairs: [ (assign_pair lhs: (LhsName name:PORTAGE_DOCOMPRESS) op: Equal rhs: { (ArrayLiteralPart words: [ (BracedWordTree parts: [(/usr/share/) (BracedAltPart words:[{(doc)} {(info)} {(man)}])] ) ] ) } spids: [82] ) ] spids: [78] ) (Assignment keyword: Assign_Declare flags: [-a] pairs: [ (assign_pair lhs: (LhsName name:PORTAGE_DOCOMPRESS_SKIP) op: Equal rhs: {(ArrayLiteralPart words:[{(/usr/share/doc/) (${ VSub_Name PF) (/html)}])} spids: [100] ) ] spids: [96] ) (FuncDef name: into body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(Lit_Other '=') (Lit_Other '=')} {(DQ (/))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [(C {(export)} {(Lit_VarLike 'DESTTREE=') (DQ )})] spids: [16777215 137] ) ] else_action: [ (C {(export)} {(Lit_VarLike 'DESTTREE=') ($ VSub_Number '$1')}) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children:[(C {(___eapi_has_prefix_variables)})] negated:T) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:ED) op: Equal rhs: {(${ VSub_Name D)} spids: [168] ) ] spids: [166] ) ] spids: [16777215 163] ) ] spids: [16777215 174] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(KW_Bang '!')} {(-d)} {(DQ (${ VSub_Name ED) (${ VSub_Name DESTTREE))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(install)} {(-d)} {(DQ (${ VSub_Name ED) (${ VSub_Name DESTTREE))}) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:ret) op: Equal rhs: {($ VSub_QMark '$?')} spids: [216] ) ] spids: [214] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_ne left: {($ VSub_Name '$ret')} right: {(0)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(__helpers_die)} { (DQ (BracedVarSub token: <VSub_Name FUNCNAME> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) spids: [240 245] ) (' failed') ) } ) (ControlFlow token: <ControlFlow_Return return> arg_word: {($ VSub_Name '$ret')} ) ] spids: [16777215 234] ) ] spids: [16777215 255] ) ] spids: [16777215 197] ) ] spids: [16777215 258] ) ] spids: [147 261] ) ] spids: [116] ) spids: [112 115] ) (FuncDef name: insinto body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(Lit_Other '=') (Lit_Other '=')} {(DQ (/))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [(C {(export)} {(Lit_VarLike 'INSDESTTREE=') (DQ )})] spids: [16777215 291] ) ] else_action: [ (C {(export)} {(Lit_VarLike 'INSDESTTREE=') ($ VSub_Number '$1')}) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children:[(C {(___eapi_has_prefix_variables)})] negated:T) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:ED) op: Equal rhs: {(${ VSub_Name D)} spids: [322] ) ] spids: [320] ) ] spids: [16777215 317] ) ] spids: [16777215 328] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(KW_Bang '!')} {(-d)} {(DQ (${ VSub_Name ED) (${ VSub_Name INSDESTTREE))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(install)} {(-d)} {(DQ (${ VSub_Name ED) (${ VSub_Name INSDESTTREE))}) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:ret) op: Equal rhs: {($ VSub_QMark '$?')} spids: [370] ) ] spids: [368] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_ne left: {($ VSub_Name '$ret')} right: {(0)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(__helpers_die)} { (DQ (BracedVarSub token: <VSub_Name FUNCNAME> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) spids: [394 399] ) (' failed') ) } ) (ControlFlow token: <ControlFlow_Return return> arg_word: {($ VSub_Name '$ret')} ) ] spids: [16777215 388] ) ] spids: [16777215 409] ) ] spids: [16777215 351] ) ] spids: [16777215 412] ) ] spids: [301 415] ) ] spids: [270] ) spids: [266 269] ) (FuncDef name: exeinto body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(Lit_Other '=') (Lit_Other '=')} {(DQ (/))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [(C {(export)} {(Lit_VarLike '_E_EXEDESTTREE_=') (DQ )})] spids: [16777215 445] ) ] else_action: [ (C {(export)} {(Lit_VarLike '_E_EXEDESTTREE_=') (DQ ($ VSub_Number '$1'))}) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children:[(C {(___eapi_has_prefix_variables)})] negated:T) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:ED) op: Equal rhs: {(${ VSub_Name D)} spids: [478] ) ] spids: [476] ) ] spids: [16777215 473] ) ] spids: [16777215 484] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(KW_Bang '!')} {(-d)} {(DQ (${ VSub_Name ED) (${ VSub_Name _E_EXEDESTTREE_))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(install)} {(-d)} {(DQ (${ VSub_Name ED) (${ VSub_Name _E_EXEDESTTREE_))}) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:ret) op: Equal rhs: {($ VSub_QMark '$?')} spids: [526] ) ] spids: [524] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_ne left: {($ VSub_Name '$ret')} right: {(0)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(__helpers_die)} { (DQ (BracedVarSub token: <VSub_Name FUNCNAME> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) spids: [550 555] ) (' failed') ) } ) (ControlFlow token: <ControlFlow_Return return> arg_word: {($ VSub_Name '$ret')} ) ] spids: [16777215 544] ) ] spids: [16777215 565] ) ] spids: [16777215 507] ) ] spids: [16777215 568] ) ] spids: [455 571] ) ] spids: [424] ) spids: [420 423] ) (FuncDef name: docinto body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(Lit_Other '=') (Lit_Other '=')} {(DQ (/))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [(C {(export)} {(Lit_VarLike '_E_DOCDESTTREE_=') (DQ )})] spids: [16777215 601] ) ] else_action: [ (C {(export)} {(Lit_VarLike '_E_DOCDESTTREE_=') (DQ ($ VSub_Number '$1'))}) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children:[(C {(___eapi_has_prefix_variables)})] negated:T) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:ED) op: Equal rhs: {(${ VSub_Name D)} spids: [634] ) ] spids: [632] ) ] spids: [16777215 629] ) ] spids: [16777215 640] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(KW_Bang '!')} {(-d)} { (DQ (${ VSub_Name ED) (usr/share/doc/) (${ VSub_Name PF) (/) (${ VSub_Name _E_DOCDESTTREE_) ) } {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(install)} {(-d)} { (DQ (${ VSub_Name ED) (usr/share/doc/) (${ VSub_Name PF) (/) (${ VSub_Name _E_DOCDESTTREE_) ) } ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:ret) op: Equal rhs: {($ VSub_QMark '$?')} spids: [692] ) ] spids: [690] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_ne left: {($ VSub_Name '$ret')} right: {(0)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(__helpers_die)} { (DQ (BracedVarSub token: <VSub_Name FUNCNAME> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) spids: [716 721] ) (' failed') ) } ) (ControlFlow token: <ControlFlow_Return return> arg_word: {($ VSub_Name '$ret')} ) ] spids: [16777215 710] ) ] spids: [16777215 731] ) ] spids: [16777215 668] ) ] spids: [16777215 734] ) ] spids: [611 737] ) ] spids: [580] ) spids: [576 579] ) (FuncDef name: insopts body: (BraceGroup children: [ (C {(export)} {(Lit_VarLike 'INSOPTIONS=') (DQ ($ VSub_At '$@'))}) (AndOr ops: [Op_DAmp] children: [ (C {(has)} {(-s)} {(${ VSub_Name INSOPTIONS)}) (C {(die)} {(DQ ('Never call insopts() with -s'))}) ] ) ] spids: [746] ) spids: [742 745] ) (FuncDef name: diropts body: (BraceGroup children: [(C {(export)} {(Lit_VarLike 'DIROPTIONS=') (DQ ($ VSub_At '$@'))})] spids: [785] ) spids: [781 784] ) (FuncDef name: exeopts body: (BraceGroup children: [ (C {(export)} {(Lit_VarLike 'EXEOPTIONS=') (DQ ($ VSub_At '$@'))}) (AndOr ops: [Op_DAmp] children: [ (C {(has)} {(-s)} {(${ VSub_Name EXEOPTIONS)}) (C {(die)} {(DQ ('Never call exeopts() with -s'))}) ] ) ] spids: [802] ) spids: [798 801] ) (FuncDef name: libopts body: (BraceGroup children: [ (C {(export)} {(Lit_VarLike 'LIBOPTIONS=') (DQ ($ VSub_At '$@'))}) (AndOr ops: [Op_DAmp] children: [ (C {(has)} {(-s)} {(${ VSub_Name LIBOPTIONS)}) (C {(die)} {(DQ ('Never call libopts() with -s'))}) ] ) ] spids: [841] ) spids: [837 840] ) (FuncDef name: docompress body: (BraceGroup children: [ (AndOr ops: [Op_DPipe] children: [ (C {(___eapi_has_docompress)}) (C {(die)} {(DQ ("'docompress' not supported in this EAPI"))}) ] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs:(LhsName name:f) op:Equal spids:[897]) (assign_pair lhs:(LhsName name:g) op:Equal spids:[899]) ] spids: [895] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobEqual left: {($ VSub_Number '$1')} right: {(DQ (-x))} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(shift)}) (ForEach iter_name: f do_arg_iter: T body: (DoGroup children: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:f) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(__strip_duplicate_slashes)} {(DQ (${ VSub_Name f))} ) ] ) left_token: <Left_CommandSub '$('> spids: [932 940] ) } spids: [931] ) ] spids: [931] ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:f) op: Equal rhs: { (BracedVarSub token: <VSub_Name f> suffix_op: (StringUnary op_id: VOp1_Percent arg_word: {(Lit_Slash /)} ) spids: [944 948] ) } spids: [943] ) ] spids: [943] ) (AndOr ops: [Op_DPipe] children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_GlobEqual left: { (BracedVarSub token: <VSub_Name f> suffix_op: (Slice begin: (ArithWord w:{(Lit_Digits 0)}) length: (ArithWord w:{(Lit_Digits 1)}) ) spids: [953 959] ) } right: {(/)} ) ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:f) op: Equal rhs: {(DQ (/) (${ VSub_Name f))} spids: [969] ) ] spids: [969] ) ] ) (ForEach iter_name: g iter_words: [ { (DQ (BracedVarSub token: <VSub_Name PORTAGE_DOCOMPRESS_SKIP> bracket_op: (WholeArray op_id:Lit_At) spids: [985 990] ) ) } ] do_arg_iter: F body: (DoGroup children: [ (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_GlobEqual left: {(${ VSub_Name f)} right: {(DQ (${ VSub_Name g))} ) ) (ControlFlow token: <ControlFlow_Continue continue> arg_word: {(2)} ) ] ) ] spids: [994 1020] ) spids: [983 992] ) (C {(PORTAGE_DOCOMPRESS_SKIP) (Lit_Other '[') (BracedVarSub token: <VSub_Name PORTAGE_DOCOMPRESS_SKIP> prefix_op: VSub_Pound bracket_op: (WholeArray op_id:Lit_At) spids: [1025 1031] ) (Lit_Other ']') (Lit_Other '=') (${ VSub_Name f) } ) ] spids: [928 1039] ) spids: [16777215 16777215] ) ] spids: [16777215 917] ) ] else_action: [ (ForEach iter_name: f do_arg_iter: T body: (DoGroup children: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:f) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(__strip_duplicate_slashes)} {(DQ (${ VSub_Name f))}) ] ) left_token: <Left_CommandSub '$('> spids: [1054 1062] ) } spids: [1053] ) ] spids: [1053] ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:f) op: Equal rhs: { (BracedVarSub token: <VSub_Name f> suffix_op: (StringUnary op_id: VOp1_Percent arg_word: {(Lit_Slash /)} ) spids: [1066 1070] ) } spids: [1065] ) ] spids: [1065] ) (AndOr ops: [Op_DPipe] children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_GlobEqual left: { (BracedVarSub token: <VSub_Name f> suffix_op: (Slice begin: (ArithWord w:{(Lit_Digits 0)}) length: (ArithWord w:{(Lit_Digits 1)}) ) spids: [1075 1081] ) } right: {(/)} ) ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:f) op: Equal rhs: {(DQ (/) (${ VSub_Name f))} spids: [1091] ) ] spids: [1091] ) ] ) (ForEach iter_name: g iter_words: [ { (DQ (BracedVarSub token: <VSub_Name PORTAGE_DOCOMPRESS> bracket_op: (WholeArray op_id:Lit_At) spids: [1107 1112] ) ) } ] do_arg_iter: F body: (DoGroup children: [ (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_GlobEqual left: {(${ VSub_Name f)} right: {(DQ (${ VSub_Name g))} ) ) (ControlFlow token: <ControlFlow_Continue continue> arg_word: {(2)} ) ] ) ] spids: [1116 1142] ) spids: [1105 1114] ) (C {(PORTAGE_DOCOMPRESS) (Lit_Other '[') (BracedVarSub token: <VSub_Name PORTAGE_DOCOMPRESS> prefix_op: VSub_Pound bracket_op: (WholeArray op_id:Lit_At) spids: [1147 1153] ) (Lit_Other ']') (Lit_Other '=') (${ VSub_Name f) } ) ] spids: [1050 1161] ) spids: [16777215 16777215] ) ] spids: [1042 1164] ) ] spids: [880] ) spids: [876 879] ) (FuncDef name: useq body: (BraceGroup children: [ (AndOr ops: [Op_DPipe] children: [ (C {(has)} {($ VSub_Name '$EBUILD_PHASE')} {(prerm)} {(postrm)}) (C {(eqawarn)} {(DQ ("QA Notice: The 'useq' function is deprecated (replaced by 'use')"))} ) ] ) (C {(use)} {(${ VSub_Number 1)}) ] spids: [1173] ) spids: [1169 1172] ) (FuncDef name: usev body: (BraceGroup children: [ (If arms: [ (if_arm cond: [(Sentence child:(C {(use)} {(${ VSub_Number 1)}) terminator:<Op_Semi ';'>)] action: [ (C {(echo)} { (DQ (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{('!')}) spids: [1226 1230] ) ) } ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [16777215 1220] ) ] spids: [16777215 1239] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] spids: [1208] ) spids: [1204 1207] ) (If arms: [ (if_arm cond: [(Sentence child:(C {(___eapi_has_usex)}) terminator:<Op_Semi ';'>)] action: [ (FuncDef name: usex body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(use)} {(DQ ($ VSub_Number '$1'))}) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} { (DQ (BracedVarSub token: <VSub_Number 2> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(yes)}) spids: [1279 1283] ) ($ VSub_Number '$4') ) } ) ] spids: [16777215 1273] ) ] else_action: [ (C {(echo)} { (DQ (BracedVarSub token: <VSub_Number 3> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(no)}) spids: [1294 1298] ) ($ VSub_Number '$5') ) } ) ] spids: [1288 1303] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [1261] ) spids: [1257 1260] ) ] spids: [16777215 1254] ) ] spids: [16777215 1313] ) (FuncDef name: use body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:u) op: Equal rhs: {($ VSub_Number '$1')} spids: [1325] ) ] spids: [1323] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:found) op:Equal rhs:{(0)} spids:[1331])] spids: [1329] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: { (BracedVarSub token: <VSub_Name u> suffix_op: (Slice begin: (ArithWord w:{(Lit_Digits 0)}) length: (ArithWord w:{(Lit_Digits 1)}) ) spids: [1344 1350] ) } right: {(DQ ('!'))} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:u) op: Equal rhs: { (BracedVarSub token: <VSub_Name u> suffix_op: (Slice begin:(ArithWord w:{(Lit_Digits 1)})) spids: [1366 1370] ) } spids: [1365] ) ] spids: [1365] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:found) op:Equal rhs:{(1)} spids:[1373])] spids: [1373] ) ] spids: [16777215 1362] ) ] spids: [16777215 1377] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobEqual left: {($ VSub_Name '$EBUILD_PHASE')} right: {(depend)} ) ) terminator: <Op_Semi ';'> ) ] action: [(C {(true)})] spids: [16777215 1395] ) (if_arm cond: [ (Sentence child: (DBracket expr: (LogicalAnd left: (BoolUnary op_id:BoolUnary_n child:{($ VSub_Name '$PORTAGE_IUSE')}) right: (LogicalAnd left: (BoolUnary op_id: BoolUnary_n child: {($ VSub_Name '$EBUILD_PHASE')} ) right: (BoolUnary op_id: BoolUnary_n child: {($ VSub_Name '$PORTAGE_INTERNAL_CALLER')} ) ) ) ) terminator: <Op_Semi ';'> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (LogicalNot child: (BoolBinary op_id: BoolBinary_EqualTilde left: {($ VSub_Name '$u')} right: {($ VSub_Name '$PORTAGE_IUSE')} ) ) ) terminator: <Op_Semi ';'> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (LogicalNot child: (BoolBinary op_id: BoolBinary_EqualTilde left: {(${ VSub_Name EAPI)} right: {(Lit_Other '^') ('(') (0) ('|') (1) ('|') (2) ('|') (3) ('|') (4) ('|') (4-python) ('|') (4-slot-abi) (')') (Lit_Other '$') } ) ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(die)} { (DQ ("USE Flag '") (${ VSub_Name u) ("' not in IUSE for ") (${ VSub_Name CATEGORY) (/) (${ VSub_Name PF) ) } ) ] spids: [16777215 1523] ) ] spids: [16777215 1552] ) (C {(eqawarn)} {(DQ ("QA Notice: USE Flag '") (${ VSub_Name u) ("' not"))} {(DQ ('in IUSE for ') (${ VSub_Name CATEGORY) (/) (${ VSub_Name PF))} ) ] spids: [16777215 1486] ) ] spids: [16777215 1579] ) ] spids: [1442 1467] ) ] spids: [16777215 1582] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:IFS) op: Equal rhs: { (SingleQuotedPart left: <Left_DollarSingleQuote "$'"> tokens: [<Char_Literals ' '> <Char_OneChar '\\t'> <Char_OneChar '\\n'>] ) } spids: [1588] ) (assign_pair lhs: (LhsName name:prev_shopts) op: Equal rhs: {($ VSub_Hyphen '$-')} spids: [1595] ) (assign_pair lhs:(LhsName name:ret) op:Equal spids:[1598]) ] spids: [1586] ) (C {(set)} {(-f)}) (If arms: [ (if_arm cond: [ (Sentence child: (C {(has)} {(${ VSub_Name u)} {(${ VSub_Name USE)}) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ret) op: Equal rhs: {(${ VSub_Name found)} spids: [1623] ) ] spids: [1623] ) ] spids: [16777215 1620] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ret) op: Equal rhs: { (ArithSubPart anode: (ArithUnary op_id:Arith_Bang child:(ArithVarRef name:found)) spids: [1633 1637] ) } spids: [1632] ) ] spids: [1632] ) ] spids: [1629 1640] ) (AndOr ops: [Op_DPipe] children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(${ VSub_Name prev_shopts)} right: {(Lit_Other '*') (f) (Lit_Other '*')} ) ) (C {(set)} {(Lit_Other '+') (f)}) ] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(${ VSub_Name ret)}) ] spids: [1320] ) spids: [1316 1319] ) (FuncDef name: use_with body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Number '$1'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [{(echo)} {(DQ ('!!! use_with() called without a parameter.'))}] redirects: [ (Redir op_id: Redir_GreatAnd fd: 16777215 arg_word: {(2)} spids: [1703] ) ] ) (SimpleCommand words: [{(echo)} {(DQ ('!!! use_with <USEFLAG> [<flagname> [value]]'))}] redirects: [ (Redir op_id: Redir_GreatAnd fd: 16777215 arg_word: {(2)} spids: [1713] ) ] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] spids: [16777215 1694] ) ] spids: [16777215 1722] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(___eapi_use_enable_and_use_with_support_empty_third_argument)}) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:UW_SUFFIX) op: Equal rhs: { (BracedVarSub token: <VSub_Number 3> suffix_op: (StringUnary op_id: VTest_Plus arg_word: {('=') ($ VSub_Number '$3')} ) spids: [1737 1742] ) } spids: [1736] ) ] spids: [1734] ) ] spids: [16777215 1731] ) ] else_action: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:UW_SUFFIX) op: Equal rhs: { (BracedVarSub token: <VSub_Number 3> suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: {('=') ($ VSub_Number '$3')} ) spids: [1751 1756] ) } spids: [1750] ) ] spids: [1748] ) ] spids: [1745 1759] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:UWORD) op: Equal rhs: { (BracedVarSub token: <VSub_Number 2> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {($ VSub_Number '$1')} ) spids: [1765 1769] ) } spids: [1764] ) ] spids: [1762] ) (If arms: [ (if_arm cond: [(Sentence child:(C {(use)} {($ VSub_Number '$1')}) terminator:<Op_Semi ';'>)] action: [(C {(echo)} {(DQ (--with-) (${ VSub_Name UWORD) (${ VSub_Name UW_SUFFIX))})] spids: [16777215 1780] ) ] else_action: [(C {(echo)} {(DQ (--without-) (${ VSub_Name UWORD))})] spids: [1796 1809] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [1678] ) spids: [1674 1677] ) (FuncDef name: use_enable body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Number '$1'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [{(echo)} {(DQ ('!!! use_enable() called without a parameter.'))}] redirects: [ (Redir op_id: Redir_GreatAnd fd: 16777215 arg_word: {(2)} spids: [1848] ) ] ) (SimpleCommand words: [{(echo)} {(DQ ('!!! use_enable <USEFLAG> [<flagname> [value]]'))}] redirects: [ (Redir op_id: Redir_GreatAnd fd: 16777215 arg_word: {(2)} spids: [1858] ) ] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] spids: [16777215 1839] ) ] spids: [16777215 1867] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(___eapi_use_enable_and_use_with_support_empty_third_argument)}) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:UE_SUFFIX) op: Equal rhs: { (BracedVarSub token: <VSub_Number 3> suffix_op: (StringUnary op_id: VTest_Plus arg_word: {('=') ($ VSub_Number '$3')} ) spids: [1882 1887] ) } spids: [1881] ) ] spids: [1879] ) ] spids: [16777215 1876] ) ] else_action: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:UE_SUFFIX) op: Equal rhs: { (BracedVarSub token: <VSub_Number 3> suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: {('=') ($ VSub_Number '$3')} ) spids: [1896 1901] ) } spids: [1895] ) ] spids: [1893] ) ] spids: [1890 1904] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:UWORD) op: Equal rhs: { (BracedVarSub token: <VSub_Number 2> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {($ VSub_Number '$1')} ) spids: [1910 1914] ) } spids: [1909] ) ] spids: [1907] ) (If arms: [ (if_arm cond: [(Sentence child:(C {(use)} {($ VSub_Number '$1')}) terminator:<Op_Semi ';'>)] action: [(C {(echo)} {(DQ (--enable-) (${ VSub_Name UWORD) (${ VSub_Name UE_SUFFIX))})] spids: [16777215 1925] ) ] else_action: [(C {(echo)} {(DQ (--disable-) (${ VSub_Name UWORD))})] spids: [1941 1954] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [1823] ) spids: [1819 1822] ) (FuncDef name: unpack body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:srcdir) op:Equal spids:[1973])] spids: [1971] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:x) op:Equal spids:[1978])] spids: [1976] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs:(LhsName name:y) op:Equal spids:[1983]) (assign_pair lhs:(LhsName name:y_insensitive) op:Equal spids:[1985]) ] spids: [1981] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs:(LhsName name:suffix) op:Equal spids:[1990]) (assign_pair lhs: (LhsName name:suffix_insensitive) op: Equal spids: [1992] ) ] spids: [1988] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:myfail) op:Equal spids:[1997])] spids: [1995] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:eapi) op: Equal rhs: { (BracedVarSub token: <VSub_Name EAPI> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(0)}) spids: [2003 2007] ) } spids: [2002] ) ] spids: [2000] ) (AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Star '$*'))} {(Lit_Other ']')}) (C {(die)} {(DQ ("Nothing passed to the 'unpack' command"))}) ] ) (ForEach iter_name: x iter_words: [{(DQ ($ VSub_At '$@'))}] do_arg_iter: F body: (DoGroup children: [ (C {(__vecho)} {(DQ ('>>> Unpacking ') (${ VSub_Name x) (' to ') (${ VSub_Name PWD))} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:suffix) op: Equal rhs: { (BracedVarSub token: <VSub_Name x> suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{('*.')}) spids: [2059 2063] ) } spids: [2058] ) ] spids: [2058] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:suffix_insensitive) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [{(tr)} {(DQ ('[:upper:]'))} {(DQ ('[:lower:]'))}] redirects: [ (Redir op_id: Redir_TLess fd: 16777215 arg_word: {(DQ (${ VSub_Name suffix))} spids: [2081] ) ] more_env: [(env_pair name:LC_ALL val:{(C)} spids:[2068])] ) ] ) left_token: <Left_CommandSub '$('> spids: [2067 2088] ) } spids: [2066] ) ] spids: [2066] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:y) op: Equal rhs: { (BracedVarSub token: <VSub_Name x> suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{('.*')}) spids: [2092 2096] ) } spids: [2091] ) ] spids: [2091] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:y) op: Equal rhs: { (BracedVarSub token: <VSub_Name y> suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{('*.')}) spids: [2100 2104] ) } spids: [2099] ) ] spids: [2099] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:y_insensitive) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [{(tr)} {(DQ ('[:upper:]'))} {(DQ ('[:lower:]'))}] redirects: [ (Redir op_id: Redir_TLess fd: 16777215 arg_word: {(DQ (${ VSub_Name y))} spids: [2122] ) ] more_env: [(env_pair name:LC_ALL val:{(C)} spids:[2109])] ) ] ) left_token: <Left_CommandSub '$('> spids: [2108 2129] ) } spids: [2107] ) ] spids: [2107] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobNEqual left: {(${ VSub_Name x)} right: {(Lit_Other '*') (/) (Lit_Other '*')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:srcdir) op: Equal rhs: {(${ VSub_Name DISTDIR) (/)} spids: [2161] ) ] spids: [2161] ) ] spids: [16777215 2154] ) (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(${ VSub_Name x)} right: {(./) (Lit_Other '*')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:srcdir) op: Equal rhs: {(EmptyPart)} spids: [2191] ) ] spids: [2191] ) ] spids: [2168 2184] ) ] else_action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(___eapi_unpack_supports_absolute_paths)}) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:srcdir) op: Equal rhs: {(EmptyPart)} spids: [2213] ) ] spids: [2213] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(${ VSub_Name x)} right: { (BracedVarSub token: <VSub_Name DISTDIR> suffix_op: (StringUnary op_id: VOp1_Percent arg_word: {(Lit_Slash /)} ) spids: [2227 2231] ) (/) (Lit_Other '*') } ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(eqawarn)} { (DQ ('QA Notice: unpack called with redundant ') (EscapedLiteralPart token: <Lit_EscapedChar '\\$'> ) ('{DISTDIR} in path') ) } ) ] spids: [16777215 2238] ) ] spids: [16777215 2250] ) ] spids: [16777215 2206] ) (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(${ VSub_Name x)} right: { (BracedVarSub token: <VSub_Name DISTDIR> suffix_op: (StringUnary op_id: VOp1_Percent arg_word: {(Lit_Slash /)} ) spids: [2263 2267] ) (/) (Lit_Other '*') } ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(die)} { (DQ ('Arguments to unpack() cannot begin with ') (EscapedLiteralPart token: <Lit_EscapedChar '\\$'> ) ('{DISTDIR} in EAPI ') (${ VSub_Name EAPI) ) } ) ] spids: [2253 2274] ) (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(${ VSub_Name x)} right: {(/) (Lit_Other '*')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(die)} { (DQ ('Arguments to unpack() cannot be absolute in EAPI ') (${ VSub_Name EAPI) ) } ) ] spids: [2289 2306] ) ] else_action: [ (C {(die)} { (DQ ( "Relative paths to unpack() must be prefixed with './' in EAPI " ) (${ VSub_Name EAPI) ) } ) ] spids: [2319 2332] ) ] spids: [2194 2335] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (LogicalNot child: (BoolUnary op_id: BoolUnary_s child: {(${ VSub_Name srcdir) (${ VSub_Name x)} ) ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(__helpers_die)} {(DQ ('unpack: ') (${ VSub_Name x) (' does not exist'))} ) (ControlFlow token: <ControlFlow_Return return> arg_word: {(1)} ) ] spids: [16777215 2356] ) ] spids: [16777215 2375] ) (FuncDef name: __unpack_tar body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(${ VSub_Name y_insensitive)} right: {(tar)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DAmp] children: [ (C {(___eapi_unpack_is_case_sensitive)}) (DBracket expr: (BoolBinary op_id: BoolBinary_GlobNEqual left: {(tar)} right: {(${ VSub_Name y)} ) ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (C {(eqawarn)} {(DQ ('QA Notice: unpack called with'))} { (DQ ("secondary suffix '") (${ VSub_Name y) ("' which is unofficially") ) } {(DQ ("supported with EAPI '") (${ VSub_Name EAPI) ("'. Instead use 'tar'."))} ) ] spids: [16777215 2427] ) ] spids: [16777215 2457] ) (Pipeline children: [ (C {($ VSub_Number '$1')} {(-c)} {(--)} {(DQ ($ VSub_Name '$srcdir') ($ VSub_Name '$x'))} ) (C {(tar)} {(xof)} {(-)}) ] negated: F ) (AndOr ops: [Op_DPipe] children: [ (C {(__assert_sigpipe_ok)} {(DQ ($ VSub_Name '$myfail'))}) (ControlFlow token: <ControlFlow_Return return> arg_word: {(1)} ) ] ) ] spids: [16777215 2402] ) ] else_action: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:cwd_dest) op: Equal rhs: { (BracedVarSub token: <VSub_Name x> suffix_op: (StringUnary op_id: VOp1_DPound arg_word: {('*') (Lit_Slash /)} ) spids: [2499 2504] ) } spids: [2498] ) ] spids: [2496] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cwd_dest) op: Equal rhs: { (BracedVarSub token: <VSub_Name cwd_dest> suffix_op: (StringUnary op_id: VOp1_Percent arg_word: {('.*')} ) spids: [2508 2512] ) } spids: [2507] ) ] spids: [2507] ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (SimpleCommand words: [ {($ VSub_Number '$1')} {(-c)} {(--)} {(DQ (${ VSub_Name srcdir) (${ VSub_Name x))} ] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ (${ VSub_Name cwd_dest))} spids: [2534] ) ] ) ] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (C {(__helpers_die)} {(DQ ($ VSub_Name '$myfail'))}) (ControlFlow token: <ControlFlow_Return return> arg_word: {(1)} ) ] spids: [16777215 2543] ) ] spids: [16777215 2558] ) ] spids: [2493 2561] ) ] spids: [2383] ) spids: [2379 2382] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:myfail) op: Equal rhs: {(DQ ('unpack: failure unpacking ') (${ VSub_Name x))} spids: [2568] ) ] spids: [2568] ) (Case to_match: {(DQ (${ VSub_Name suffix_insensitive))} arms: [ (case_arm pat_list: [{(tar)}] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DAmp] children: [ (C {(___eapi_unpack_is_case_sensitive)}) (DBracket expr: (BoolBinary op_id: BoolBinary_GlobNEqual left: {(tar)} right: {(${ VSub_Name suffix)} ) ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (C {(eqawarn)} {(DQ ('QA Notice: unpack called with'))} { (DQ ("suffix '") (${ VSub_Name suffix) ("' which is unofficially supported") ) } {(DQ ("with EAPI '") (${ VSub_Name EAPI) ("'. Instead use 'tar'."))} ) ] spids: [16777215 2614] ) ] spids: [16777215 2644] ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (C {(tar)} {(xof)} {(DQ ($ VSub_Name '$srcdir') ($ VSub_Name '$x'))} ) ] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (C {(__helpers_die)} {(DQ ($ VSub_Name '$myfail'))}) (ControlFlow token: <ControlFlow_Return return> arg_word: {(1)} ) ] spids: [16777215 2661] ) ] spids: [16777215 2676] ) ] spids: [2588 2589 2679 16777215] ) (case_arm pat_list: [{(tgz)}] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DAmp] children: [ (C {(___eapi_unpack_is_case_sensitive)}) (DBracket expr: (BoolBinary op_id: BoolBinary_GlobNEqual left: {(tgz)} right: {(${ VSub_Name suffix)} ) ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (C {(eqawarn)} {(DQ ('QA Notice: unpack called with'))} { (DQ ("suffix '") (${ VSub_Name suffix) ("' which is unofficially supported") ) } {(DQ ("with EAPI '") (${ VSub_Name EAPI) ("'. Instead use 'tgz'."))} ) ] spids: [16777215 2708] ) ] spids: [16777215 2738] ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (C {(tar)} {(xozf)} {(DQ ($ VSub_Name '$srcdir') ($ VSub_Name '$x'))} ) ] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (C {(__helpers_die)} {(DQ ($ VSub_Name '$myfail'))}) (ControlFlow token: <ControlFlow_Return return> arg_word: {(1)} ) ] spids: [16777215 2755] ) ] spids: [16777215 2770] ) ] spids: [2682 2683 2773 16777215] ) (case_arm pat_list: [{(tbz)} {(tbz2)}] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DAmp] children: [ (C {(___eapi_unpack_is_case_sensitive)}) (DBracket expr: (BoolBinary op_id: BoolBinary_GlobNEqual left: {(DQ (' tbz tbz2 '))} right: {(Lit_Other '*') (DQ (' ') (${ VSub_Name suffix) (' ')) (Lit_Other '*') } ) ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (C {(eqawarn)} {(DQ ('QA Notice: unpack called with'))} { (DQ ("suffix '") (${ VSub_Name suffix) ("' which is unofficially supported") ) } {(DQ ("with EAPI '") (${ VSub_Name EAPI) ("'. Instead use 'tbz' or 'tbz2'."))} ) ] spids: [16777215 2812] ) ] spids: [16777215 2842] ) (Pipeline children: [ (C { (BracedVarSub token: <VSub_Name PORTAGE_BUNZIP2_COMMAND> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {(${ VSub_Name PORTAGE_BZIP2_COMMAND) (' -d')} ) spids: [2845 2852] ) } {(-c)} {(--)} {(DQ ($ VSub_Name '$srcdir') ($ VSub_Name '$x'))} ) (C {(tar)} {(xof)} {(-)}) ] negated: F ) (AndOr ops: [Op_DPipe] children: [ (C {(__assert_sigpipe_ok)} {(DQ ($ VSub_Name '$myfail'))}) (ControlFlow token: <ControlFlow_Return return> arg_word: {(1)} ) ] ) ] spids: [2776 2779 2885 16777215] ) (case_arm pat_list: [{(zip)} {(jar)}] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DAmp] children: [ (C {(___eapi_unpack_is_case_sensitive)}) (DBracket expr: (BoolBinary op_id: BoolBinary_GlobNEqual left: {(DQ (' ZIP zip jar '))} right: {(Lit_Other '*') (DQ (' ') (${ VSub_Name suffix) (' ')) (Lit_Other '*') } ) ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (C {(eqawarn)} {(DQ ('QA Notice: unpack called with'))} { (DQ ("suffix '") (${ VSub_Name suffix) ("' which is unofficially supported") ) } {(DQ ("with EAPI '") (${ VSub_Name EAPI) ("'."))} {(DQ ("Instead use 'ZIP', 'zip', or 'jar'."))} ) ] spids: [16777215 2924] ) ] spids: [16777215 2960] ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (C {(unzip)} {(-qo)} {(DQ (${ VSub_Name srcdir) (${ VSub_Name x))} ) ] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (C {(__helpers_die)} {(DQ ($ VSub_Name '$myfail'))}) (ControlFlow token: <ControlFlow_Return return> arg_word: {(1)} ) ] spids: [16777215 2989] ) ] redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: { (CommandSubPart command_list: (CommandList children: [ (Sentence child: (C {(set)} {(Lit_Other '+') (x)}) terminator: <Op_Semi ';'> ) (While cond: [ (Sentence child: (C {(true)}) terminator: <Op_Semi ';'> ) ] body: (DoGroup children: [ (Sentence child: (AndOr ops: [Op_DPipe] children: [ (C {(echo)} {(n)}) (ControlFlow token: <ControlFlow_Break break> ) ] ) terminator: <Op_Semi ';'> ) ] spids: [3022 3034] ) ) ] ) left_token: <Left_ProcSubIn '<('> spids: [3008 3035] ) } spids: [3006] ) ] spids: [16777215 3004] ) ] spids: [2888 2891 3038 16777215] ) (case_arm pat_list: [{(gz)} {(z)}] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DAmp] children: [ (C {(___eapi_unpack_is_case_sensitive)}) (DBracket expr: (BoolBinary op_id: BoolBinary_GlobNEqual left: {(DQ (' gz z Z '))} right: {(Lit_Other '*') (DQ (' ') (${ VSub_Name suffix) (' ')) (Lit_Other '*') } ) ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (C {(eqawarn)} {(DQ ('QA Notice: unpack called with'))} { (DQ ("suffix '") (${ VSub_Name suffix) ("' which is unofficially supported") ) } {(DQ ("with EAPI '") (${ VSub_Name EAPI) ("'. Instead use 'gz', 'z', or 'Z'."))} ) ] spids: [16777215 3077] ) ] spids: [16777215 3107] ) (AndOr ops: [Op_DPipe] children: [ (C {(__unpack_tar)} {(DQ ('gzip -d'))}) (ControlFlow token: <ControlFlow_Return return> arg_word: {(1)} ) ] ) ] spids: [3041 3044 3123 16777215] ) (case_arm pat_list: [{(bz2)} {(bz)}] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DAmp] children: [ (C {(___eapi_unpack_is_case_sensitive)}) (DBracket expr: (BoolBinary op_id: BoolBinary_GlobNEqual left: {(DQ (' bz bz2 '))} right: {(Lit_Other '*') (DQ (' ') (${ VSub_Name suffix) (' ')) (Lit_Other '*') } ) ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (C {(eqawarn)} {(DQ ('QA Notice: unpack called with'))} { (DQ ("suffix '") (${ VSub_Name suffix) ("' which is unofficially supported") ) } {(DQ ("with EAPI '") (${ VSub_Name EAPI) ("'. Instead use 'bz' or 'bz2'."))} ) ] spids: [16777215 3162] ) ] spids: [16777215 3192] ) (AndOr ops: [Op_DPipe] children: [ (C {(__unpack_tar)} { (DQ (BracedVarSub token: <VSub_Name PORTAGE_BUNZIP2_COMMAND> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {(${ VSub_Name PORTAGE_BZIP2_COMMAND) (' -d')} ) spids: [3198 3205] ) ) } ) (ControlFlow token: <ControlFlow_Return return> arg_word: {(1)} ) ] ) ] spids: [3126 3129 3217 16777215] ) (case_arm pat_list: [{(7z)}] action: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:my_output) op: Equal spids: [3226] ) ] spids: [3224] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:my_output) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(7z)} {(x)} {(-y)} {(DQ (${ VSub_Name srcdir) (${ VSub_Name x))} ) ] ) left_token: <Left_CommandSub '$('> spids: [3231 3246] ) ) } spids: [3229] ) ] spids: [3229] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-ne)} {(0)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [{(echo)} {(DQ (${ VSub_Name my_output))}] redirects: [ (Redir op_id: Redir_GreatAnd fd: 16777215 arg_word: {(2)} spids: [3274] ) ] ) (C {(die)} {(DQ ($ VSub_Name '$myfail'))}) ] spids: [16777215 3263] ) ] spids: [16777215 3285] ) ] spids: [3220 3221 3288 16777215] ) (case_arm pat_list: [{(rar)}] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DAmp] children: [ (C {(___eapi_unpack_is_case_sensitive)}) (DBracket expr: (BoolBinary op_id: BoolBinary_GlobNEqual left: {(DQ (' rar RAR '))} right: {(Lit_Other '*') (DQ (' ') (${ VSub_Name suffix) (' ')) (Lit_Other '*') } ) ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (C {(eqawarn)} {(DQ ('QA Notice: unpack called with'))} { (DQ ("suffix '") (${ VSub_Name suffix) ("' which is unofficially supported") ) } {(DQ ("with EAPI '") (${ VSub_Name EAPI) ("'. Instead use 'rar' or 'RAR'."))} ) ] spids: [16777215 3325] ) ] spids: [16777215 3355] ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (C {(unrar)} {(x)} {(-idq)} {(-o) (Lit_Other '+')} {(DQ (${ VSub_Name srcdir) (${ VSub_Name x))} ) ] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (C {(__helpers_die)} {(DQ ($ VSub_Name '$myfail'))}) (ControlFlow token: <ControlFlow_Return return> arg_word: {(1)} ) ] spids: [16777215 3381] ) ] spids: [16777215 3396] ) ] spids: [3291 3292 3399 16777215] ) (case_arm pat_list: [{(lha)} {(lzh)}] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DAmp] children: [ (C {(___eapi_unpack_is_case_sensitive)}) (DBracket expr: (BoolBinary op_id: BoolBinary_GlobNEqual left: {(DQ (' LHA LHa lha lzh '))} right: {(Lit_Other '*') (DQ (' ') (${ VSub_Name suffix) (' ')) (Lit_Other '*') } ) ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (C {(eqawarn)} {(DQ ('QA Notice: unpack called with'))} { (DQ ("suffix '") (${ VSub_Name suffix) ("' which is unofficially supported") ) } {(DQ ("with EAPI '") (${ VSub_Name EAPI) ("'."))} {(DQ ("Instead use 'LHA', 'LHa', 'lha', or 'lzh'."))} ) ] spids: [16777215 3438] ) ] spids: [16777215 3474] ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (C {(lha)} {(xfq)} {(DQ (${ VSub_Name srcdir) (${ VSub_Name x))} ) ] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (C {(__helpers_die)} {(DQ ($ VSub_Name '$myfail'))}) (ControlFlow token: <ControlFlow_Return return> arg_word: {(1)} ) ] spids: [16777215 3495] ) ] spids: [16777215 3510] ) ] spids: [3402 3405 3513 16777215] ) (case_arm pat_list: [{(a)}] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DAmp] children: [ (C {(___eapi_unpack_is_case_sensitive)}) (DBracket expr: (BoolBinary op_id: BoolBinary_GlobNEqual left: {(DQ (' a '))} right: {(Lit_Other '*') (DQ (' ') (${ VSub_Name suffix) (' ')) (Lit_Other '*') } ) ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (C {(eqawarn)} {(DQ ('QA Notice: unpack called with'))} { (DQ ("suffix '") (${ VSub_Name suffix) ("' which is unofficially supported") ) } {(DQ ("with EAPI '") (${ VSub_Name EAPI) ("'. Instead use 'a'."))} ) ] spids: [16777215 3550] ) ] spids: [16777215 3580] ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (C {(ar)} {(x)} {(DQ (${ VSub_Name srcdir) (${ VSub_Name x))}) ] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (C {(__helpers_die)} {(DQ ($ VSub_Name '$myfail'))}) (ControlFlow token: <ControlFlow_Return return> arg_word: {(1)} ) ] spids: [16777215 3601] ) ] spids: [16777215 3616] ) ] spids: [3516 3517 3619 16777215] ) (case_arm pat_list: [{(deb)}] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DAmp] children: [ (C {(___eapi_unpack_is_case_sensitive)}) (DBracket expr: (BoolBinary op_id: BoolBinary_GlobNEqual left: {(DQ (' deb '))} right: {(Lit_Other '*') (DQ (' ') (${ VSub_Name suffix) (' ')) (Lit_Other '*') } ) ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (C {(eqawarn)} {(DQ ('QA Notice: unpack called with'))} { (DQ ("suffix '") (${ VSub_Name suffix) ("' which is unofficially supported") ) } {(DQ ("with EAPI '") (${ VSub_Name EAPI) ("'. Instead use 'deb'."))} ) ] spids: [16777215 3656] ) ] spids: [16777215 3686] ) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_GlobNEqual left: { (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [{(ar)} {(--version)}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [3722] ) ] ) ] ) left_token: <Left_CommandSub '$('> spids: [3717 3724] ) } right: {(DQ ('GNU ar')) (Lit_Other '*')} ) ) (SimpleCommand words: [{(type)} {(-P)} {(deb2targz)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [3745] ) ] ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:y) op: Equal rhs: { (BracedVarSub token: <VSub_Name x> suffix_op: (StringUnary op_id: VOp1_DPound arg_word: {('*') (Lit_Slash /)} ) spids: [3754 3759] ) } spids: [3753] ) ] spids: [3753] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:created_symlink) op: Equal rhs: {(0)} spids: [3764] ) ] spids: [3762] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(KW_Bang '!')} {(DQ ($ VSub_Name '$srcdir') ($ VSub_Name '$x'))} {(-ef)} {(DQ ($ VSub_Name '$y'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (C {(ln)} {(-sf)} { (DQ ($ VSub_Name '$srcdir') ($ VSub_Name '$x') ) } {(DQ ($ VSub_Name '$y'))} ) ] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (C {(__helpers_die)} {(DQ ($ VSub_Name '$myfail'))}) (ControlFlow token: <ControlFlow_Return return> arg_word: {(1)} ) ] spids: [16777215 3822] ) ] spids: [16777215 3837] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:created_symlink) op: Equal rhs: {(1)} spids: [3840] ) ] spids: [3840] ) ] spids: [16777215 3789] ) ] spids: [16777215 3844] ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [(C {(deb2targz)} {(DQ ($ VSub_Name '$y'))})] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (C {(__helpers_die)} {(DQ ($ VSub_Name '$myfail'))}) (ControlFlow token: <ControlFlow_Return return> arg_word: {(1)} ) ] spids: [16777215 3858] ) ] spids: [16777215 3873] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Name '$created_symlink')} {(Lit_Other '=')} {(1)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [(C {(rm)} {(-f)} {(DQ ($ VSub_Name '$y'))})] spids: [16777215 3890] ) ] spids: [16777215 3910] ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (C {(mv)} {(-f)} { (DQ (BracedVarSub token: <VSub_Name y> suffix_op: (StringUnary op_id: VOp1_Percent arg_word: {(.deb)} ) spids: [3922 3926] ) ) (.tar.gz) } {(data.tar.gz)} ) ] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (C {(mv)} {(-f)} { (DQ (BracedVarSub token: <VSub_Name y> suffix_op: (StringUnary op_id: VOp1_Percent arg_word: {(.deb)} ) spids: [3945 3949] ) ) (.tar.xz) } {(data.tar.xz)} ) ] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (C {(__helpers_die)} {(DQ ($ VSub_Name '$myfail'))}) (ControlFlow token: <ControlFlow_Return return> arg_word: {(1)} ) ] spids: [16777215 3956] ) ] spids: [16777215 3971] ) ] spids: [16777215 3933] ) ] spids: [16777215 3974] ) ] spids: [16777215 3750] ) ] else_action: [ (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (C {(ar)} {(x)} {(DQ ($ VSub_Name '$srcdir') ($ VSub_Name '$x'))} ) ] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (C {(__helpers_die)} {(DQ ($ VSub_Name '$myfail'))}) (ControlFlow token: <ControlFlow_Return return> arg_word: {(1)} ) ] spids: [16777215 3994] ) ] spids: [16777215 4009] ) ] spids: [3977 4012] ) ] spids: [3622 3623 4015 16777215] ) (case_arm pat_list: [{(lzma)}] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DAmp] children: [ (C {(___eapi_unpack_is_case_sensitive)}) (DBracket expr: (BoolBinary op_id: BoolBinary_GlobNEqual left: {(DQ (' lzma '))} right: {(Lit_Other '*') (DQ (' ') (${ VSub_Name suffix) (' ')) (Lit_Other '*') } ) ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (C {(eqawarn)} {(DQ ('QA Notice: unpack called with'))} { (DQ ("suffix '") (${ VSub_Name suffix) ("' which is unofficially supported") ) } {(DQ ("with EAPI '") (${ VSub_Name EAPI) ("'. Instead use 'lzma'."))} ) ] spids: [16777215 4052] ) ] spids: [16777215 4082] ) (AndOr ops: [Op_DPipe] children: [ (C {(__unpack_tar)} {(DQ ('lzma -d'))}) (ControlFlow token: <ControlFlow_Return return> arg_word: {(1)} ) ] ) ] spids: [4018 4019 4098 16777215] ) (case_arm pat_list: [{(xz)}] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DAmp] children: [ (C {(___eapi_unpack_is_case_sensitive)}) (DBracket expr: (BoolBinary op_id: BoolBinary_GlobNEqual left: {(DQ (' xz '))} right: {(Lit_Other '*') (DQ (' ') (${ VSub_Name suffix) (' ')) (Lit_Other '*') } ) ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (C {(eqawarn)} {(DQ ('QA Notice: unpack called with'))} { (DQ ("suffix '") (${ VSub_Name suffix) ("' which is unofficially supported") ) } {(DQ ("with EAPI '") (${ VSub_Name EAPI) ("'. Instead use 'xz'."))} ) ] spids: [16777215 4135] ) ] spids: [16777215 4165] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(___eapi_unpack_supports_xz)}) terminator: <Op_Semi ';'> ) ] action: [ (AndOr ops: [Op_DPipe] children: [ (C {(__unpack_tar)} {(DQ ('xz -d'))}) (ControlFlow token: <ControlFlow_Return return> arg_word: {(1)} ) ] ) ] spids: [16777215 4173] ) ] else_action: [ (C {(__vecho)} { (DQ ('unpack ') (${ VSub_Name x) (': file format not recognized. Ignoring.') ) } ) ] spids: [4189 4203] ) ] spids: [4101 4102 4206 16777215] ) (case_arm pat_list: [{(txz)}] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DAmp] children: [ (C {(___eapi_unpack_is_case_sensitive)}) (DBracket expr: (BoolBinary op_id: BoolBinary_GlobNEqual left: {(DQ (' txz '))} right: {(Lit_Other '*') (DQ (' ') (${ VSub_Name suffix) (' ')) (Lit_Other '*') } ) ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (C {(eqawarn)} {(DQ ('QA Notice: unpack called with'))} { (DQ ("suffix '") (${ VSub_Name suffix) ("' which is unofficially supported") ) } {(DQ ("with EAPI '") (${ VSub_Name EAPI) ("'. Instead use 'txz'."))} ) ] spids: [16777215 4243] ) ] spids: [16777215 4273] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(___eapi_unpack_supports_txz)}) terminator: <Op_Semi ';'> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (C {(tar)} {(xof)} { (DQ ($ VSub_Name '$srcdir') ($ VSub_Name '$x')) } ) ] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (C {(__helpers_die)} {(DQ ($ VSub_Name '$myfail'))}) (ControlFlow token: <ControlFlow_Return return> arg_word: {(1)} ) ] spids: [16777215 4298] ) ] spids: [16777215 4313] ) ] spids: [16777215 4281] ) ] else_action: [ (C {(__vecho)} { (DQ ('unpack ') (${ VSub_Name x) (': file format not recognized. Ignoring.') ) } ) ] spids: [4316 4330] ) ] spids: [4209 4210 4333 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (C {(__vecho)} { (DQ ('unpack ') (${ VSub_Name x) (': file format not recognized. Ignoring.') ) } ) ] spids: [4336 4337 4351 16777215] ) ] spids: [2577 2585 4354] ) ] spids: [2041 4357] ) spids: [2035 2039] ) (Pipeline children: [ (C {(find)} {(.)} {(-mindepth)} {(1)} {(-maxdepth)} {(1)} {(KW_Bang '!')} {(-type)} {(l)} {(-print0)} ) (C {(${ VSub_Name XARGS)} {(-0)} {(DQ (${ VSub_Name PORTAGE_BIN_PATH) (/chmod-lite))}) ] negated: F ) ] spids: [1968] ) spids: [1964 1967] ) (FuncDef name: econf body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:x) op:Equal spids:[4417])] spids: [4415] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:pid) op: Equal rhs: { (BracedVarSub token: <VSub_Name BASHPID> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: { (CommandSubPart command_list: (CommandList children:[(C {(__bashpid)})]) left_token: <Left_CommandSub '$('> spids: [4426 4428] ) } ) spids: [4423 4429] ) } spids: [4422] ) ] spids: [4420] ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children:[(C {(___eapi_has_prefix_variables)})] negated:T) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:EPREFIX) op: Equal rhs: {(EmptyPart)} spids: [4445] ) ] spids: [4443] ) ] spids: [16777215 4440] ) ] spids: [16777215 4448] ) (FuncDef name: __hasg body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:x) op: Equal spids: [4461] ) (assign_pair lhs: (LhsName name:s) op: Equal rhs: {($ VSub_Number '$1')} spids: [4463] ) ] spids: [4459] ) (C {(shift)}) (ForEach iter_name: x do_arg_iter: T body: (DoGroup children: [ (Sentence child: (AndOr ops: [Op_DAmp Op_DAmp] children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(${ VSub_Name x)} right: {(${ VSub_Name s)} ) ) (C {(echo)} {(DQ (${ VSub_Name x))}) (ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] ) terminator: <Op_Semi ';'> ) ] spids: [4476 4510] ) spids: [16777215 16777215] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] spids: [4456] ) spids: [4452 4455] ) (FuncDef name: __hasgq body: (BraceGroup children: [ (Sentence child: (SimpleCommand words: [{(__hasg)} {(DQ ($ VSub_At '$@'))}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [4534] ) ] ) terminator: <Op_Semi ';'> ) ] spids: [4526] ) spids: [4522 4525] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:phase_func) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(__ebuild_arg_to_phase)} {(DQ ($ VSub_Name '$EBUILD_PHASE'))}) ] ) left_token: <Left_CommandSub '$('> spids: [4546 4552] ) } spids: [4545] ) ] spids: [4543] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id:BoolUnary_n child:{($ VSub_Name '$phase_func')}) ) terminator: <Op_Semi ';'> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [(C {(___eapi_has_src_configure)})] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_GlobNEqual left: {($ VSub_Name '$phase_func')} right: {(src_compile)} ) ) (C {(eqawarn)} {(DQ ('QA Notice: econf called in'))} {(DQ ($ VSub_Name '$phase_func') (' instead of src_compile'))} ) ] ) ] spids: [16777215 4577] ) ] else_action: [ (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_GlobNEqual left: {($ VSub_Name '$phase_func')} right: {(src_configure)} ) ) (C {(eqawarn)} {(DQ ('QA Notice: econf called in'))} {(DQ ($ VSub_Name '$phase_func') (' instead of src_configure'))} ) ] ) ] spids: [4608 4639] ) ] spids: [16777215 4567] ) ] spids: [16777215 4642] ) (C {(Lit_Other ':')} { (BracedVarSub token: <VSub_Name ECONF_SOURCE> suffix_op: (StringUnary op_id:VTest_ColonEquals arg_word:{(.)}) spids: [4648 4652] ) } ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-x)} {(DQ (${ VSub_Name ECONF_SOURCE) (/configure))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (LogicalAnd left: (BoolUnary op_id: BoolUnary_n child: {($ VSub_Name '$CONFIG_SHELL')} ) right: (BoolBinary op_id: BoolBinary_EqualTilde left: { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(head)} {(-n1)} { (DQ ($ VSub_Name '$ECONF_SOURCE') (/configure) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [4687 4696] ) ) } right: {(Lit_Other '^') (SQ <'#!'>) (Lit_Other '[') (Lit_Other '[') (Lit_Other ':') (space) (Lit_Other ':') (Lit_Other ']') (Lit_Other ']') (Lit_Other '*') (/bin/sh) ('(') (Lit_Other '[') (Lit_Other '[') (Lit_Other ':') (space) (Lit_Other ':') (Lit_Other ']') (Lit_Other ']') ('|') (Lit_Other '$') (')') } ) ) ) terminator: <Op_Semi ';'> ) ] action: [ (AndOr ops: [Op_DPipe] children: [ (C {(cp)} {(-p)} {(DQ (${ VSub_Name ECONF_SOURCE) (/configure))} { (DQ (${ VSub_Name ECONF_SOURCE) (/configure._portage_tmp_.) (${ VSub_Name pid) ) } ) (C {(die)}) ] ) (AndOr ops: [Op_DPipe] children: [ (C {(sed)} {(-i)} {(-e)} { (DQ ('1s:^#![[:space:]]*/bin/sh:#!') ($ VSub_Name '$CONFIG_SHELL') (':') ) } {(DQ (${ VSub_Name ECONF_SOURCE) (/configure._portage_tmp_.) (${ VSub_Name pid))} ) (C {(die)} { (DQ ("Substition of shebang in '") (${ VSub_Name ECONF_SOURCE) ("/configure' failed") ) } ) ] ) (AndOr ops: [Op_DPipe] children: [ (C {(touch)} {(-r)} {(DQ (${ VSub_Name ECONF_SOURCE) (/configure))} { (DQ (${ VSub_Name ECONF_SOURCE) (/configure._portage_tmp_.) (${ VSub_Name pid) ) } ) (C {(die)}) ] ) (AndOr ops: [Op_DPipe] children: [ (C {(mv)} {(-f)} { (DQ (${ VSub_Name ECONF_SOURCE) (/configure._portage_tmp_.) (${ VSub_Name pid) ) } {(DQ (${ VSub_Name ECONF_SOURCE) (/configure))} ) (C {(die)}) ] ) ] spids: [16777215 4730] ) ] spids: [16777215 4856] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-e)} {(DQ (${ VSub_Name EPREFIX)) (/usr/share/gnuconfig/)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Pipeline children: [ (C {(find)} {(DQ (${ VSub_Name WORKDIR))} {(-type)} {(f)} {(SQ <'('>)} {(-name)} {(config.guess)} {(-o)} {(-name)} {(config.sub)} {(SQ <')'>)} {(-print0)} ) (While cond: [ (Sentence child: (C {(read)} {(-r)} {(-d)} { (SingleQuotedPart left: <Left_DollarSingleQuote "$'"> tokens: [<Char_OneChar '\\0'>] ) } {(x)} ) terminator: <Op_Semi ';'> ) ] body: (DoGroup children: [ (C {(__vecho)} { (DQ (' * econf: updating ') (BracedVarSub token: <VSub_Name x> suffix_op: (PatSub pat: {(${ VSub_Name WORKDIR) (EscapedLiteralPart token: <Lit_EscapedChar '\\/'> ) } do_all: F do_prefix: F do_suffix: F ) spids: [4939 4946] ) (' with ') (${ VSub_Name EPREFIX) (/usr/share/gnuconfig/) (BracedVarSub token: <VSub_Name x> suffix_op: (StringUnary op_id: VOp1_DPound arg_word: {('*') (Lit_Slash /)} ) spids: [4952 4957] ) ) } ) (C {(cp)} {(-f)} {(DQ (${ VSub_Name EPREFIX)) (/usr/share/gnuconfig/) (DQ (BracedVarSub token: <VSub_Name x> suffix_op: (StringUnary op_id: VOp1_DPound arg_word: {('*') (Lit_Slash /)} ) spids: [4976 4981] ) ) } {(DQ (${ VSub_Name x) (.) (${ VSub_Name pid))} ) (C {(mv)} {(-f)} {(DQ (${ VSub_Name x) (.) (${ VSub_Name pid))} {(DQ (${ VSub_Name x))} ) ] spids: [4932 5016] ) ) ] negated: F ) ] spids: [16777215 4875] ) ] spids: [16777215 5019] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:conf_args) op: Equal rhs: {(ArrayLiteralPart)} spids: [5025] ) ] spids: [5023] ) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DPipe Op_DPipe] children: [ (C {(___eapi_econf_passes_--disable-dependency-tracking)}) (C {(___eapi_econf_passes_--disable-silent-rules)}) (C {(___eapi_econf_passes_--docdir_and_--htmldir)}) ] ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:conf_help) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [ {(DQ (${ VSub_Name ECONF_SOURCE) (/configure))} {(--help)} ] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [5059] ) ] ) ] ) left_token: <Left_CommandSub '$('> spids: [5049 5061] ) } spids: [5048] ) ] spids: [5046] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(___eapi_econf_passes_--disable-dependency-tracking)}) terminator: <Op_Semi ';'> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(${ VSub_Name conf_help)} right: {(Lit_Other '*') (--disable-dependency-tracking) (Lit_Other '*') } ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:conf_args) op: PlusEqual rhs: { (ArrayLiteralPart words: [{(--disable-dependency-tracking)}] ) } spids: [5093] ) ] spids: [5093] ) ] spids: [16777215 5090] ) ] spids: [16777215 5101] ) ] spids: [16777215 5070] ) ] spids: [16777215 5104] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(___eapi_econf_passes_--disable-silent-rules)}) terminator: <Op_Semi ';'> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(${ VSub_Name conf_help)} right: {(Lit_Other '*') (--disable-silent-rules) (Lit_Other '*') } ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:conf_args) op: PlusEqual rhs: { (ArrayLiteralPart words: [{(--disable-silent-rules)}] ) } spids: [5136] ) ] spids: [5136] ) ] spids: [16777215 5133] ) ] spids: [16777215 5144] ) ] spids: [16777215 5113] ) ] spids: [16777215 5147] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(___eapi_econf_passes_--docdir_and_--htmldir)}) terminator: <Op_Semi ';'> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(${ VSub_Name conf_help)} right: {(Lit_Other '*') (--docdir) (Lit_Other '*')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:conf_args) op: PlusEqual rhs: { (ArrayLiteralPart words: [ {(--docdir) (Lit_Other '=') (DQ (${ VSub_Name EPREFIX)) (/usr/share/doc/) (${ VSub_Name PF) } ] ) } spids: [5179] ) ] spids: [5179] ) ] spids: [16777215 5176] ) ] spids: [16777215 5197] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(${ VSub_Name conf_help)} right: {(Lit_Other '*') (--htmldir) (Lit_Other '*')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:conf_args) op: PlusEqual rhs: { (ArrayLiteralPart words: [ {(--htmldir) (Lit_Other '=') (DQ (${ VSub_Name EPREFIX)) (/usr/share/doc/) (${ VSub_Name PF) (/html) } ] ) } spids: [5221] ) ] spids: [5221] ) ] spids: [16777215 5218] ) ] spids: [16777215 5240] ) ] spids: [16777215 5156] ) ] spids: [16777215 5243] ) ] spids: [16777215 5043] ) ] spids: [16777215 5246] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:CONF_LIBDIR) op: Equal spids: [5260] ) (assign_pair lhs: (LhsName name:LIBDIR_VAR) op: Equal rhs: {(DQ (LIBDIR_) (${ VSub_Name ABI))} spids: [5262] ) ] spids: [5258] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (LogicalAnd left: (BoolUnary op_id:BoolUnary_n child:{(${ VSub_Name ABI)}) right: (BoolUnary op_id: BoolUnary_n child: { (BracedVarSub token: <VSub_Name LIBDIR_VAR> prefix_op: VSub_Bang spids: [5285 5288] ) } ) ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CONF_LIBDIR) op: Equal rhs: { (BracedVarSub token: <VSub_Name LIBDIR_VAR> prefix_op: VSub_Bang spids: [5298 5301] ) } spids: [5297] ) ] spids: [5297] ) ] spids: [16777215 5294] ) ] spids: [16777215 5304] ) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolUnary op_id: BoolUnary_n child: {(${ VSub_Name CONF_LIBDIR)} ) ) (Pipeline children: [ (C {(__hasgq)} {(--libdir) (Lit_Other '=') (EscapedLiteralPart token: <Lit_EscapedChar '\\*'> ) } {(DQ ($ VSub_At '$@'))} ) ] negated: T ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (C {(export)} {(Lit_VarLike 'CONF_PREFIX=') (CommandSubPart command_list: (CommandList children: [ (C {(__hasg)} {(--exec-prefix) (Lit_Other '=') (EscapedLiteralPart token: <Lit_EscapedChar '\\*'> ) } {(DQ ($ VSub_At '$@'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [5341 5351] ) } ) (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolUnary op_id: BoolUnary_z child: {(${ VSub_Name CONF_PREFIX)} ) ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CONF_PREFIX) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(__hasg)} {(--prefix) (Lit_Other '=') (EscapedLiteralPart token: <Lit_EscapedChar '\\*'> ) } {(DQ ($ VSub_At '$@'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [5367 5377] ) } spids: [5366] ) ] spids: [5366] ) ] ) (C {(Lit_Other ':')} { (BracedVarSub token: <VSub_Name CONF_PREFIX> suffix_op: (StringUnary op_id: VTest_ColonEquals arg_word: {(${ VSub_Name EPREFIX) (Lit_Slash /) (usr)} ) spids: [5382 5390] ) } ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CONF_PREFIX) op: Equal rhs: { (BracedVarSub token: <VSub_Name CONF_PREFIX> suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{('*=')}) spids: [5394 5398] ) } spids: [5393] ) ] spids: [5393] ) (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_GlobNEqual left: {(${ VSub_Name CONF_PREFIX)} right: {(/) (Lit_Other '*')} ) ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CONF_PREFIX) op: Equal rhs: {(DQ (/) (${ VSub_Name CONF_PREFIX))} spids: [5416] ) ] spids: [5416] ) ] ) (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_GlobNEqual left: {(${ VSub_Name CONF_LIBDIR)} right: {(/) (Lit_Other '*')} ) ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CONF_LIBDIR) op: Equal rhs: {(DQ (/) (${ VSub_Name CONF_LIBDIR))} spids: [5440] ) ] spids: [5440] ) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:conf_args) op: PlusEqual rhs: { (ArrayLiteralPart words: [ {(--libdir) (Lit_Other '=') (DQ (CommandSubPart command_list: (CommandList children: [ (C {(__strip_duplicate_slashes)} { (DQ (${ VSub_Name CONF_PREFIX) (${ VSub_Name CONF_LIBDIR) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [5456 5467] ) ) } ] ) } spids: [5449] ) ] spids: [5449] ) ] spids: [16777215 5335] ) ] spids: [16777215 5474] ) (C {(eval)} {(DQ ('local -a EXTRA_ECONF=(') (${ VSub_Name EXTRA_ECONF) (')'))}) (C {(set)} {(--)} {(--prefix) (Lit_Other '=') (DQ (${ VSub_Name EPREFIX)) (/usr)} { (BracedVarSub token: <VSub_Name CBUILD> suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: {('--build=') (${ VSub_Name CBUILD)} ) spids: [5511 5518] ) } {(--host) (Lit_Other '=') (${ VSub_Name CHOST)} { (BracedVarSub token: <VSub_Name CTARGET> suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: {('--target=') (${ VSub_Name CTARGET)} ) spids: [5530 5537] ) } {(--mandir) (Lit_Other '=') (DQ (${ VSub_Name EPREFIX)) (/usr/share/man)} {(--infodir) (Lit_Other '=') (DQ (${ VSub_Name EPREFIX)) (/usr/share/info)} {(--datadir) (Lit_Other '=') (DQ (${ VSub_Name EPREFIX)) (/usr/share)} {(--sysconfdir) (Lit_Other '=') (DQ (${ VSub_Name EPREFIX)) (/etc)} {(--localstatedir) (Lit_Other '=') (DQ (${ VSub_Name EPREFIX)) (/var/lib)} { (DQ (BracedVarSub token: <VSub_Name conf_args> bracket_op: (WholeArray op_id:Lit_At) spids: [5597 5602] ) ) } {(DQ ($ VSub_At '$@'))} { (DQ (BracedVarSub token: <VSub_Name EXTRA_ECONF> bracket_op: (WholeArray op_id:Lit_At) spids: [5614 5619] ) ) } ) (C {(__vecho)} {(DQ (${ VSub_Name ECONF_SOURCE) (/configure))} {(DQ ($ VSub_At '$@'))} ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (C {(DQ (${ VSub_Name ECONF_SOURCE) (/configure))} {(DQ ($ VSub_At '$@'))} ) ] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-s)} {(config.log)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)}) (C {(echo)} { (DQ ( '!!! Please attach the following file when seeking support:' ) ) } ) (C {(echo)} {(DQ ('!!! ') (${ VSub_Name PWD) (/config.log))}) ] spids: [16777215 5670] ) ] spids: [16777215 5694] ) (C {(__helpers_die)} {(DQ ('econf failed'))}) (ControlFlow token: <ControlFlow_Return return> arg_word: {(1)} ) ] spids: [16777215 5655] ) ] spids: [16777215 5709] ) ] spids: [16777215 4671] ) (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-f)} {(DQ (${ VSub_Name ECONF_SOURCE) (/configure))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [(C {(die)} {(DQ ('configure is not executable'))})] spids: [5712 5728] ) ] else_action: [(C {(die)} {(DQ ('no configure script found'))})] spids: [5738 5748] ) ] spids: [4412] ) spids: [4408 4411] ) (FuncDef name: einstall body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children:[(C {(___eapi_has_einstall)})] negated:T) terminator: <Op_Semi ';'> ) ] action: [ (C {(die)} { (DQ ("'") (${ VSub_Name FUNCNAME) ("' has been banned for EAPI '") ($ VSub_Name '$EAPI') ("'") ) } ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [16777215 5767] ) ] spids: [16777215 5788] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:LOCAL_EXTRA_EINSTALL) op: Equal rhs: {(DQ (${ VSub_Name EXTRA_EINSTALL))} spids: [5798] ) ] spids: [5796] ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children:[(C {(___eapi_has_prefix_variables)})] negated:T) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:ED) op: Equal rhs: {(${ VSub_Name D)} spids: [5818] ) ] spids: [5816] ) ] spids: [16777215 5813] ) ] spids: [16777215 5824] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:LIBDIR_VAR) op: Equal rhs: {(DQ (LIBDIR_) (${ VSub_Name ABI))} spids: [5827] ) ] spids: [5827] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-n)} {(DQ (${ VSub_Name ABI))} {(-a)} {(-n)} { (DQ (BracedVarSub token: <VSub_Name LIBDIR_VAR> prefix_op: VSub_Bang spids: [5853 5856] ) ) } {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CONF_LIBDIR) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name LIBDIR_VAR> prefix_op: VSub_Bang spids: [5867 5870] ) ) } spids: [5865] ) ] spids: [5865] ) ] spids: [16777215 5862] ) ] spids: [16777215 5874] ) (C {(unset)} {(LIBDIR_VAR)}) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {(-n)} {(DQ (${ VSub_Name CONF_LIBDIR))} {(Lit_Other ']')} ) (C {(Lit_Other '[')} { (DQ (BracedVarSub token: <VSub_Name CONF_PREFIX> suffix_op: (StringUnary op_id:VTest_ColonPlus arg_word:{(set)}) spids: [5901 5905] ) ) } {(Lit_Other '=')} {(set)} {(Lit_Other ']')} ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:EI_DESTLIBDIR) op: Equal rhs: { (DQ (${ VSub_Name D) (/) (${ VSub_Name CONF_PREFIX) (/) (${ VSub_Name CONF_LIBDIR) ) } spids: [5918] ) ] spids: [5918] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:EI_DESTLIBDIR) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(__strip_duplicate_slashes)} {(DQ (${ VSub_Name EI_DESTLIBDIR))} ) ] ) left_token: <Left_CommandSub '$('> spids: [5936 5944] ) ) } spids: [5934] ) ] spids: [5934] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:LOCAL_EXTRA_EINSTALL) op: Equal rhs: { (DQ ('libdir=') (${ VSub_Name EI_DESTLIBDIR) (' ') (${ VSub_Name LOCAL_EXTRA_EINSTALL) ) } spids: [5948] ) ] spids: [5948] ) (C {(unset)} {(EI_DESTLIBDIR)}) ] spids: [16777215 5915] ) ] spids: [16777215 5966] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-f)} {(./) (Lit_Other '[') (mM) (Lit_Other ']') (akefile)} {(-o)} {(-f)} {(./GNUmakefile)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ (${ VSub_Name PORTAGE_DEBUG))} {(Lit_Other '=') (Lit_Other '=')} {(DQ (1))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C { (BracedVarSub token: <VSub_Name MAKE> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(make)}) spids: [6018 6022] ) } {(-n)} {(Lit_VarLike 'prefix=') (DQ (${ VSub_Name ED) (usr))} {(Lit_VarLike 'datadir=') (DQ (${ VSub_Name ED) (usr/share))} {(Lit_VarLike 'infodir=') (DQ (${ VSub_Name ED) (usr/share/info))} {(Lit_VarLike 'localstatedir=') (DQ (${ VSub_Name ED) (var/lib))} {(Lit_VarLike 'mandir=') (DQ (${ VSub_Name ED) (usr/share/man))} {(Lit_VarLike 'sysconfdir=') (DQ (${ VSub_Name ED) (etc))} {(${ VSub_Name LOCAL_EXTRA_EINSTALL)} {(${ VSub_Name MAKEOPTS)} {(-j1)} {(DQ ($ VSub_At '$@'))} {(${ VSub_Name EXTRA_EMAKE)} {(install)} ) ] spids: [16777215 6015] ) ] spids: [16777215 6111] ) (If arms: [ (if_arm cond: [ (Pipeline children: [ (C { (BracedVarSub token: <VSub_Name MAKE> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {(make)} ) spids: [6118 6122] ) } {(Lit_VarLike 'prefix=') (DQ (${ VSub_Name ED) (usr))} {(Lit_VarLike 'datadir=') (DQ (${ VSub_Name ED) (usr/share))} {(Lit_VarLike 'infodir=') (DQ (${ VSub_Name ED) (usr/share/info))} {(Lit_VarLike 'localstatedir=') (DQ (${ VSub_Name ED) (var/lib))} {(Lit_VarLike 'mandir=') (DQ (${ VSub_Name ED) (usr/share/man))} {(Lit_VarLike 'sysconfdir=') (DQ (${ VSub_Name ED) (etc))} {(${ VSub_Name LOCAL_EXTRA_EINSTALL)} {(${ VSub_Name MAKEOPTS)} {(-j1)} {(DQ ($ VSub_At '$@'))} {(${ VSub_Name EXTRA_EMAKE)} {(install)} ) ] negated: T ) ] action: [ (C {(__helpers_die)} {(DQ ('einstall failed'))}) (ControlFlow token: <ControlFlow_Return return> arg_word: {(1)} ) ] spids: [16777215 6209] ) ] spids: [16777215 6224] ) ] spids: [16777215 5992] ) ] else_action: [(C {(die)} {(DQ ('no Makefile found'))})] spids: [6227 6237] ) ] spids: [5757] ) spids: [5753 5756] ) (FuncDef name: __eapi0_pkg_nofetch body: (BraceGroup children: [ (AndOr ops: [Op_DAmp] children: [ (DBracket expr:(BoolUnary op_id:BoolUnary_z child:{(${ VSub_Name A)})) (ControlFlow token:<ControlFlow_Return return>) ] ) (C {(elog)} {(DQ ('The following files cannot be fetched for ') (${ VSub_Name PN) (':'))}) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:x) op:Equal spids:[6278])] spids: [6276] ) (ForEach iter_name: x iter_words: [{(${ VSub_Name A)}] do_arg_iter: F body: (DoGroup children: [(C {(elog)} {(DQ (' ') (${ VSub_Name x))})] spids: [6292 6305] ) spids: [6286 6290] ) ] spids: [6246] ) spids: [6242 6245] ) (FuncDef name: __eapi0_src_unpack body: (BraceGroup children: [ (AndOr ops: [Op_DAmp] children: [ (DBracket expr:(BoolUnary op_id:BoolUnary_n child:{(${ VSub_Name A)})) (C {(unpack)} {(${ VSub_Name A)}) ] ) ] spids: [6314] ) spids: [6310 6313] ) (FuncDef name: __eapi0_src_compile body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-x)} {(./configure)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [(C {(econf)})] spids: [16777215 6357] ) ] spids: [16777215 6363] ) (C {(__eapi2_src_compile)}) ] spids: [6342] ) spids: [6338 6341] ) (FuncDef name: __eapi0_src_test body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:emake_cmd) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name MAKE> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(make)}) spids: [6402 6406] ) (' ') (${ VSub_Name MAKEOPTS) (' ') (${ VSub_Name EXTRA_EMAKE) ) } spids: [6400] ) ] spids: [6398] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:internal_opts) op: Equal rhs: {(EmptyPart)} spids: [6420] ) ] spids: [6418] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(___eapi_default_src_test_disables_parallel_jobs)}) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:internal_opts) op: PlusEqual rhs: {(DQ (' -j1'))} spids: [6431] ) ] spids: [6431] ) ] spids: [16777215 6428] ) ] spids: [16777215 6437] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {($ VSub_Name '$emake_cmd')} {(${ VSub_Name internal_opts)} {(check)} {(-n)}) terminator: <Op_Amp '&'> ) (Sentence child: (SimpleCommand redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [6453] ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [ {(__vecho)} {(DQ (${ VSub_Name emake_cmd) (' ') (${ VSub_Name internal_opts) (' check'))} ] redirects: [ (Redir op_id: Redir_GreatAnd fd: 16777215 arg_word: {(2)} spids: [6474] ) ] ) (AndOr ops: [Op_DPipe] children: [ (C {($ VSub_Name '$emake_cmd')} {(${ VSub_Name internal_opts)} {(check)}) (C {(die)} {(DQ ('Make check failed. See above for details.'))}) ] ) ] spids: [16777215 6458] ) (if_arm cond: [ (Sentence child: (C {($ VSub_Name '$emake_cmd')} {(${ VSub_Name internal_opts)} {(test)} {(-n)}) terminator: <Op_Amp '&'> ) (Sentence child: (SimpleCommand redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [6510] ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [ {(__vecho)} {(DQ (${ VSub_Name emake_cmd) (' ') (${ VSub_Name internal_opts) (' test'))} ] redirects: [ (Redir op_id: Redir_GreatAnd fd: 16777215 arg_word: {(2)} spids: [6531] ) ] ) (AndOr ops: [Op_DPipe] children: [ (C {($ VSub_Name '$emake_cmd')} {(${ VSub_Name internal_opts)} {(test)}) (C {(die)} {(DQ ('Make test failed. See above for details.'))}) ] ) ] spids: [6497 6515] ) ] spids: [16777215 6554] ) ] spids: [6375] ) spids: [6371 6374] ) (FuncDef name: __eapi1_src_compile body: (BraceGroup children: [(C {(__eapi2_src_configure)}) (C {(__eapi2_src_compile)})] spids: [6563] ) spids: [6559 6562] ) (FuncDef name: __eapi2_src_prepare body: (BraceGroup children:[(C {(Lit_Other ':')})] spids:[6578]) spids: [6574 6577] ) (FuncDef name: __eapi2_src_configure body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_x child: { (BracedVarSub token: <VSub_Name ECONF_SOURCE> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(.)}) spids: [6599 6603] ) (/configure) } ) ) terminator: <Op_Semi ';'> ) ] action: [(C {(econf)})] spids: [16777215 6610] ) ] spids: [16777215 6616] ) ] spids: [6590] ) spids: [6586 6589] ) (FuncDef name: __eapi2_src_compile body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DPipe Op_DPipe] children: [ (C {(Lit_Other '[')} {(-f)} {(Makefile)} {(Lit_Other ']')}) (C {(Lit_Other '[')} {(-f)} {(GNUmakefile)} {(Lit_Other ']')}) (C {(Lit_Other '[')} {(-f)} {(makefile)} {(Lit_Other ']')}) ] ) terminator: <Op_Semi ';'> ) ] action: [ (AndOr ops: [Op_DPipe] children: [(C {(emake)}) (C {(die)} {(DQ ('emake failed'))})] ) ] spids: [16777215 6659] ) ] spids: [16777215 6673] ) ] spids: [6625] ) spids: [6621 6624] ) (FuncDef name: __eapi4_src_install body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (LogicalOr left: (BoolUnary op_id:BoolUnary_f child:{(Makefile)}) right: (LogicalOr left: (BoolUnary op_id:BoolUnary_f child:{(GNUmakefile)}) right: (BoolUnary op_id:BoolUnary_f child:{(makefile)}) ) ) ) terminator: <Op_Semi ';'> ) ] action: [(C {(emake)} {(Lit_VarLike 'DESTDIR=') (DQ (${ VSub_Name D))} {(install)})] spids: [16777215 6709] ) ] spids: [16777215 6724] ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [(C {(Assign_Declare declare)} {(-p)} {(DOCS)})] negated: T ) terminator: <Op_Amp '&'> ) (Sentence child: (SimpleCommand redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [6739] ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:d) op:Equal spids:[6749])] spids: [6747] ) (ForEach iter_name: d iter_words: [ {(README) (Lit_Other '*')} {(ChangeLog)} {(AUTHORS)} {(NEWS)} {(TODO)} {(CHANGES)} {(THANKS)} {(BUGS)} {(FAQ)} {(CREDITS)} {(CHANGELOG)} ] do_arg_iter: F body: (DoGroup children: [ (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolUnary op_id:BoolUnary_s child:{(DQ (${ VSub_Name d))}) ) (C {(dodoc)} {(DQ (${ VSub_Name d))}) ] ) ] spids: [6785 6811] ) spids: [6757 6783] ) ] spids: [16777215 6744] ) (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: { (CommandSubPart command_list: (CommandList children: [(C {(Assign_Declare declare)} {(-p)} {(DOCS)})] ) left_token: <Left_CommandSub '$('> spids: [6818 6824] ) } right: {(DQ ('declare -a ')) (Lit_Other '*')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(dodoc)} { (DQ (BracedVarSub token: <VSub_Name DOCS> bracket_op: (WholeArray op_id:Lit_At) spids: [6843 6848] ) ) } ) ] spids: [6814 6837] ) ] else_action: [(C {(dodoc)} {(${ VSub_Name DOCS)})] spids: [6852 6862] ) ] spids: [6682] ) spids: [6678 6681] ) (FuncDef name: __eapi6_src_prepare body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: { (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [{(Assign_Declare declare)} {(-p)} {(PATCHES)}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [6885] ) ] ) ] ) left_token: <Left_CommandSub '$('> spids: [6878 6887] ) } right: {(DQ ('declare -a')) (Lit_Other '*')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolUnary op_id: BoolUnary_n child: { (BracedVarSub token: <VSub_Name PATCHES> bracket_op: (WholeArray op_id:Lit_At) spids: [6906 6911] ) } ) ) (C {(eapply)} { (DQ (BracedVarSub token: <VSub_Name PATCHES> bracket_op: (WholeArray op_id:Lit_At) spids: [6920 6925] ) ) } ) ] ) ] spids: [16777215 6899] ) (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id:BoolUnary_n child:{(${ VSub_Name PATCHES)}) ) terminator: <Op_Semi ';'> ) ] action: [(C {(eapply)} {(${ VSub_Name PATCHES)})] spids: [6929 6942] ) ] spids: [16777215 6952] ) (C {(eapply_user)}) ] spids: [6871] ) spids: [6867 6870] ) (FuncDef name: __eapi6_src_install body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (LogicalOr left: (BoolUnary op_id:BoolUnary_f child:{(Makefile)}) right: (LogicalOr left: (BoolUnary op_id:BoolUnary_f child:{(GNUmakefile)}) right: (BoolUnary op_id:BoolUnary_f child:{(makefile)}) ) ) ) terminator: <Op_Semi ';'> ) ] action: [(C {(emake)} {(Lit_VarLike 'DESTDIR=') (DQ (${ VSub_Name D))} {(install)})] spids: [16777215 6992] ) ] spids: [16777215 7007] ) (C {(einstalldocs)}) ] spids: [6965] ) spids: [6961 6964] ) (FuncDef name: has_version body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs:(LhsName name:atom) op:Equal spids:[7044]) (assign_pair lhs:(LhsName name:eroot) op:Equal spids:[7046]) (assign_pair lhs: (LhsName name:host_root) op: Equal rhs: {(false)} spids: [7048] ) (assign_pair lhs: (LhsName name:root) op: Equal rhs: {(${ VSub_Name ROOT)} spids: [7051] ) ] spids: [7042] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {($ VSub_Number '$1')} right: {(--host-root)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:host_root) op: Equal rhs: {(true)} spids: [7074] ) ] spids: [7074] ) (C {(shift)}) ] spids: [16777215 7071] ) ] spids: [16777215 7081] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:atom) op: Equal rhs: {($ VSub_Number '$1')} spids: [7084] ) ] spids: [7084] ) (C {(shift)}) (AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(-gt)} {(0)} {(Lit_Other ']')}) (C {(die)} { (DQ (BracedVarSub token: <VSub_Name FUNCNAME> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) spids: [7106 7111] ) (': unused argument(s): ') ($ VSub_Star '$*') ) } ) ] ) (If arms: [ (if_arm cond: [(Sentence child:(C {(${ VSub_Name host_root)}) terminator:<Op_Semi ';'>)] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (C {(___eapi_best_version_and_has_version_support_--host-root)}) ] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (C {(die)} { (DQ (BracedVarSub token: <VSub_Name FUNCNAME> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) spids: [7142 7147] ) (': option --host-root is not supported with EAPI ') (${ VSub_Name EAPI) ) } ) ] spids: [16777215 7136] ) ] spids: [16777215 7155] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:root) op:Equal rhs:{(/)} spids:[7158])] spids: [7158] ) ] spids: [16777215 7126] ) ] spids: [16777215 7162] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(___eapi_has_prefix_variables)}) terminator: <Op_Semi ';'> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(${ VSub_Name host_root)}) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:eroot) op: Equal rhs: { (BracedVarSub token: <VSub_Name root> suffix_op: (StringUnary op_id: VOp1_Percent arg_word: {(Lit_Slash /)} ) spids: [7198 7202] ) (${ VSub_Name PORTAGE_OVERRIDE_EPREFIX) (/) } spids: [7197] ) ] spids: [7197] ) ] spids: [16777215 7194] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:eroot) op: Equal rhs: { (BracedVarSub token: <VSub_Name root> suffix_op: (StringUnary op_id: VOp1_Percent arg_word: {(Lit_Slash /)} ) spids: [7213 7217] ) (${ VSub_Name EPREFIX) (/) } spids: [7212] ) ] spids: [7212] ) ] spids: [7209 7224] ) ] spids: [16777215 7171] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:eroot) op: Equal rhs: {(${ VSub_Name root)} spids: [7230] ) ] spids: [7230] ) ] spids: [7227 7236] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_n child: {($ VSub_Name '$PORTAGE_IPC_DAEMON')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(DQ ($ VSub_Name '$PORTAGE_BIN_PATH')) (/ebuild-ipc)} {(has_version)} {(DQ (${ VSub_Name eroot))} {(DQ (${ VSub_Name atom))} ) ] spids: [16777215 7251] ) ] else_action: [ (C {(DQ (${ VSub_Name PORTAGE_BIN_PATH) (/ebuild-helpers/portageq))} {(has_version)} {(DQ (${ VSub_Name eroot))} {(DQ (${ VSub_Name atom))} ) ] spids: [7274 7299] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:retval) op: Equal rhs: {($ VSub_QMark '$?')} spids: [7304] ) ] spids: [7302] ) (Case to_match: {(DQ (${ VSub_Name retval))} arms: [ (case_arm pat_list: [{(0)} {(1)}] action: [ (ControlFlow token: <ControlFlow_Return return> arg_word: {(${ VSub_Name retval)} ) ] spids: [7319 7322 7332 16777215] ) (case_arm pat_list: [{(2)}] action: [ (C {(die)} { (DQ (BracedVarSub token: <VSub_Name FUNCNAME> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) spids: [7342 7347] ) (': invalid atom: ') (${ VSub_Name atom) ) } ) ] spids: [7335 7336 7355 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_n child: {(${ VSub_Name PORTAGE_IPC_DAEMON)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(die)} { (DQ (BracedVarSub token: <VSub_Name FUNCNAME> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) spids: [7381 7386] ) (': unexpected ebuild-ipc exit code: ') (${ VSub_Name retval) ) } ) ] spids: [16777215 7375] ) ] else_action: [ (C {(die)} { (DQ (BracedVarSub token: <VSub_Name FUNCNAME> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) spids: [7400 7405] ) (': unexpected portageq exit code: ') (${ VSub_Name retval) ) } ) ] spids: [7394 7413] ) ] spids: [7358 7359 7416 16777215] ) ] spids: [7308 7316 7419] ) ] spids: [7038] ) spids: [7034 7037] ) (FuncDef name: best_version body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs:(LhsName name:atom) op:Equal spids:[7452]) (assign_pair lhs:(LhsName name:eroot) op:Equal spids:[7454]) (assign_pair lhs: (LhsName name:host_root) op: Equal rhs: {(false)} spids: [7456] ) (assign_pair lhs: (LhsName name:root) op: Equal rhs: {(${ VSub_Name ROOT)} spids: [7459] ) ] spids: [7450] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {($ VSub_Number '$1')} right: {(--host-root)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:host_root) op: Equal rhs: {(true)} spids: [7482] ) ] spids: [7482] ) (C {(shift)}) ] spids: [16777215 7479] ) ] spids: [16777215 7489] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:atom) op: Equal rhs: {($ VSub_Number '$1')} spids: [7492] ) ] spids: [7492] ) (C {(shift)}) (AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(-gt)} {(0)} {(Lit_Other ']')}) (C {(die)} { (DQ (BracedVarSub token: <VSub_Name FUNCNAME> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) spids: [7514 7519] ) (': unused argument(s): ') ($ VSub_Star '$*') ) } ) ] ) (If arms: [ (if_arm cond: [(Sentence child:(C {(${ VSub_Name host_root)}) terminator:<Op_Semi ';'>)] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (C {(___eapi_best_version_and_has_version_support_--host-root)}) ] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (C {(die)} { (DQ (BracedVarSub token: <VSub_Name FUNCNAME> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) spids: [7550 7555] ) (': option --host-root is not supported with EAPI ') (${ VSub_Name EAPI) ) } ) ] spids: [16777215 7544] ) ] spids: [16777215 7563] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:root) op:Equal rhs:{(/)} spids:[7566])] spids: [7566] ) ] spids: [16777215 7534] ) ] spids: [16777215 7570] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(___eapi_has_prefix_variables)}) terminator: <Op_Semi ';'> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(${ VSub_Name host_root)}) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:eroot) op: Equal rhs: { (BracedVarSub token: <VSub_Name root> suffix_op: (StringUnary op_id: VOp1_Percent arg_word: {(Lit_Slash /)} ) spids: [7606 7610] ) (${ VSub_Name PORTAGE_OVERRIDE_EPREFIX) (/) } spids: [7605] ) ] spids: [7605] ) ] spids: [16777215 7602] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:eroot) op: Equal rhs: { (BracedVarSub token: <VSub_Name root> suffix_op: (StringUnary op_id: VOp1_Percent arg_word: {(Lit_Slash /)} ) spids: [7621 7625] ) (${ VSub_Name EPREFIX) (/) } spids: [7620] ) ] spids: [7620] ) ] spids: [7617 7632] ) ] spids: [16777215 7579] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:eroot) op: Equal rhs: {(${ VSub_Name root)} spids: [7638] ) ] spids: [7638] ) ] spids: [7635 7644] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_n child: {($ VSub_Name '$PORTAGE_IPC_DAEMON')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(DQ ($ VSub_Name '$PORTAGE_BIN_PATH')) (/ebuild-ipc)} {(best_version)} {(DQ (${ VSub_Name eroot))} {(DQ (${ VSub_Name atom))} ) ] spids: [16777215 7659] ) ] else_action: [ (C {(DQ (${ VSub_Name PORTAGE_BIN_PATH) (/ebuild-helpers/portageq))} {(best_version)} {(DQ (${ VSub_Name eroot))} {(DQ (${ VSub_Name atom))} ) ] spids: [7682 7707] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:retval) op: Equal rhs: {($ VSub_QMark '$?')} spids: [7712] ) ] spids: [7710] ) (Case to_match: {(DQ (${ VSub_Name retval))} arms: [ (case_arm pat_list: [{(0)} {(1)}] action: [ (ControlFlow token: <ControlFlow_Return return> arg_word: {(${ VSub_Name retval)} ) ] spids: [7727 7730 7740 16777215] ) (case_arm pat_list: [{(2)}] action: [ (C {(die)} { (DQ (BracedVarSub token: <VSub_Name FUNCNAME> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) spids: [7750 7755] ) (': invalid atom: ') (${ VSub_Name atom) ) } ) ] spids: [7743 7744 7763 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_n child: {(${ VSub_Name PORTAGE_IPC_DAEMON)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(die)} { (DQ (BracedVarSub token: <VSub_Name FUNCNAME> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) spids: [7789 7794] ) (': unexpected ebuild-ipc exit code: ') (${ VSub_Name retval) ) } ) ] spids: [16777215 7783] ) ] else_action: [ (C {(die)} { (DQ (BracedVarSub token: <VSub_Name FUNCNAME> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) spids: [7808 7813] ) (': unexpected portageq exit code: ') (${ VSub_Name retval) ) } ) ] spids: [7802 7821] ) ] spids: [7766 7767 7824 16777215] ) ] spids: [7716 7724 7827] ) ] spids: [7446] ) spids: [7442 7445] ) (If arms: [ (if_arm cond: [(Sentence child:(C {(___eapi_has_get_libdir)}) terminator:<Op_Semi ';'>)] action: [ (FuncDef name: get_libdir body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:libdir_var) op: Equal rhs: {(DQ (LIBDIR_) (${ VSub_Name ABI))} spids: [7849] ) ] spids: [7847] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:libdir) op: Equal rhs: {(DQ (lib))} spids: [7860] ) ] spids: [7858] ) (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (LogicalAnd left: (BoolUnary op_id:BoolUnary_n child:{(${ VSub_Name ABI)}) right: (BoolUnary op_id: BoolUnary_n child: { (BracedVarSub token: <VSub_Name libdir_var> prefix_op: VSub_Bang spids: [7879 7882] ) } ) ) ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:libdir) op: Equal rhs: { (BracedVarSub token: <VSub_Name libdir_var> prefix_op: VSub_Bang spids: [7889 7892] ) } spids: [7888] ) ] spids: [7888] ) ] ) (C {(echo)} {(DQ (${ VSub_Name libdir))}) ] spids: [7844] ) spids: [7840 7843] ) ] spids: [16777215 7837] ) ] spids: [16777215 7907] ) (If arms: [ (if_arm cond: [(Sentence child:(C {(___eapi_has_einstalldocs)}) terminator:<Op_Semi ';'>)] action: [ (FuncDef name: einstalldocs body: (BraceGroup children: [ (Subshell child: (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [(C {(Assign_Declare declare)} {(-p)} {(DOCS)})] negated: T ) terminator: <Op_Amp '&'> ) (Sentence child: (SimpleCommand redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [7939] ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:d) op:Equal spids:[7949])] spids: [7947] ) (ForEach iter_name: d iter_words: [ {(README) (Lit_Other '*')} {(ChangeLog)} {(AUTHORS)} {(NEWS)} {(TODO)} {(CHANGES)} {(THANKS)} {(BUGS)} {(FAQ)} {(CREDITS)} {(CHANGELOG)} ] do_arg_iter: F body: (DoGroup children: [ (AndOr ops: [Op_DAmp Op_DAmp] children: [ (DBracket expr: (LogicalAnd left: (BoolUnary op_id: BoolUnary_f child: {(${ VSub_Name d)} ) right: (BoolUnary op_id: BoolUnary_s child: {(${ VSub_Name d)} ) ) ) (C {(docinto)} {(/)}) (C {(dodoc)} {(DQ (${ VSub_Name d))}) ] ) ] spids: [7985 8023] ) spids: [7957 7983] ) ] spids: [16777215 7944] ) (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: { (CommandSubPart command_list: (CommandList children: [ (C {(Assign_Declare declare)} {(-p)} {(DOCS)}) ] ) left_token: <Left_CommandSub '$('> spids: [8030 8036] ) } right: {(DQ ('declare -a')) (Lit_Other '*')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (AndOr ops: [Op_DAmp Op_DAmp] children: [ (DBracket expr: (WordTest w: { (BracedVarSub token: <VSub_Name DOCS> bracket_op: (WholeArray op_id:Lit_At) spids: [8054 8059] ) } ) ) (C {(docinto)} {(/)}) (C {(dodoc)} {(-r)} { (DQ (BracedVarSub token: <VSub_Name DOCS> bracket_op: (WholeArray op_id:Lit_At) spids: [8076 8081] ) ) } ) ] ) ] spids: [8026 8049] ) ] else_action: [ (AndOr ops: [Op_DAmp Op_DAmp] children: [ (DBracket expr: (WordTest w:{(${ VSub_Name DOCS)}) ) (C {(docinto)} {(/)}) (C {(dodoc)} {(-r)} {(${ VSub_Name DOCS)}) ] ) ] spids: [8085 8113] ) spids: [7925 8116] ) (Subshell child: (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: { (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [ {(Assign_Declare declare)} {(-p)} {(HTML_DOCS)} ] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [8134] ) ] ) ] ) left_token: <Left_CommandSub '$('> spids: [8127 8136] ) } right: {(DQ ('declare -a')) (Lit_Other '*')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (AndOr ops: [Op_DAmp Op_DAmp] children: [ (DBracket expr: (WordTest w: { (BracedVarSub token: <VSub_Name HTML_DOCS> bracket_op: (WholeArray op_id:Lit_At) spids: [8154 8159] ) } ) ) (C {(docinto)} {(html)}) (C {(dodoc)} {(-r)} { (DQ (BracedVarSub token: <VSub_Name HTML_DOCS> bracket_op: (WholeArray op_id:Lit_At) spids: [8178 8183] ) ) } ) ] ) ] spids: [16777215 8149] ) ] else_action: [ (AndOr ops: [Op_DAmp Op_DAmp] children: [ (DBracket expr: (WordTest w:{(${ VSub_Name HTML_DOCS)}) ) (C {(docinto)} {(html)}) (C {(dodoc)} {(-r)} {(${ VSub_Name HTML_DOCS)}) ] ) ] spids: [8187 8217] ) spids: [8120 8220] ) ] spids: [7922] ) spids: [7918 7921] ) ] spids: [16777215 7915] ) ] spids: [16777215 8225] ) (If arms: [ (if_arm cond: [(Sentence child:(C {(___eapi_has_eapply)}) terminator:<Op_Semi ';'>)] action: [ (FuncDef name: eapply body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:failed) op: Equal spids: [8245] ) (assign_pair lhs: (LhsName name:patch_cmd) op: Equal rhs: {(patch)} spids: [8247] ) ] spids: [8243] ) (Assignment keyword: Assign_Local flags: [-x] pairs: [ (assign_pair lhs: (LhsName name:LC_COLLATE) op: Equal rhs: {(POSIX)} spids: [8255] ) ] spids: [8251] ) (AndOr ops: [Op_DAmp] children: [ (SimpleCommand words: [{(type)} {(-P)} {(gpatch)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [8270] ) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:patch_cmd) op: Equal rhs: {(gpatch)} spids: [8276] ) ] spids: [8276] ) ] ) (FuncDef name: _eapply_patch body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:f) op: Equal rhs: {(${ VSub_Number 1)} spids: [8290] ) ] spids: [8288] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:prefix) op: Equal rhs: {(${ VSub_Number 2)} spids: [8298] ) ] spids: [8296] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:started_applying) op: Equal rhs: {(1)} spids: [8305] ) ] spids: [8305] ) (C {(ebegin)} { (DQ (BracedVarSub token: <VSub_Name prefix> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {('Applying ')} ) spids: [8312 8316] ) (BracedVarSub token: <VSub_Name f> suffix_op: (StringUnary op_id: VOp1_DPound arg_word: {('*') (Lit_Slash /)} ) spids: [8317 8322] ) ) } ) (SimpleCommand words: [ {(${ VSub_Name patch_cmd)} {(-p1)} {(-f)} {(-s)} {(-g0)} {(--no-backup-if-mismatch)} { (DQ (BracedVarSub token: <VSub_Name patch_options> bracket_op: (WholeArray op_id:Lit_At) spids: [8363 8368] ) ) } ] redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: {(DQ (${ VSub_Name f))} spids: [8371] ) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:failed) op: Equal rhs: {(${ VSub_QMark '?')} spids: [8380] ) ] spids: [8380] ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [(C {(eend)} {(DQ (${ VSub_Name failed))})] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (C {(__helpers_die)} { (DQ ('patch -p1 ') (BracedVarSub token: <VSub_Name patch_options> bracket_op: (WholeArray op_id:Arith_Star) spids: [8406 8411] ) (' failed with ') (${ VSub_Name f) ) } ) ] spids: [16777215 8399] ) ] spids: [16777215 8419] ) ] spids: [8285] ) spids: [8281 8284] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:patch_options) op: Equal rhs: {(ArrayLiteralPart)} spids: [8428] ) (assign_pair lhs: (LhsName name:files) op: Equal rhs: {(ArrayLiteralPart)} spids: [8432] ) ] spids: [8426] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:i) op: Equal spids: [8439] ) (assign_pair lhs: (LhsName name:found_doublehyphen) op: Equal spids: [8441] ) ] spids: [8437] ) (ForExpr init: (BinaryAssign op_id: Arith_Equal left: (LhsName name:i) right: (ArithWord w:{(Lit_Digits 1)}) ) cond: (ArithBinary op_id: Arith_LessEqual left: (ArithVarRef name:i) right: (ArithWord w: { (BracedVarSub token: <VSub_At '@'> prefix_op: VSub_Pound spids: [8463 8466] ) } ) ) update: (UnaryAssign op_id:Arith_DPlus child:(LhsName name:i)) body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: { (BracedVarSub token: <VSub_At '@'> suffix_op: (Slice begin: (ArithVarRef name:i) length: (ArithWord w:{(Lit_Digits 1)}) ) spids: [8483 8489] ) } right: {(--)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:patch_options) op: Equal rhs: { (ArrayLiteralPart words: [ { (DQ (BracedVarSub token: <VSub_At '@'> suffix_op: (Slice begin: (ArithWord w:{(Lit_Digits 1)}) length: (ArithBinary op_id: Arith_Minus left: (ArithVarRef name:i) right: (ArithWord w:{(Lit_Digits 1)}) ) ) spids: [8505 8513] ) ) } ] ) } spids: [8501] ) ] spids: [8501] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:files) op: Equal rhs: { (ArrayLiteralPart words: [ { (DQ (BracedVarSub token: <VSub_At '@'> suffix_op: (Slice begin: (ArithBinary op_id: Arith_Plus left: (ArithVarRef name:i) right: (ArithWord w:{(Lit_Digits 1)}) ) ) spids: [8523 8529] ) ) } ] ) } spids: [8519] ) ] spids: [8519] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:found_doublehyphen) op: Equal rhs: {(1)} spids: [8535] ) ] spids: [8535] ) (ControlFlow token: <ControlFlow_Break break> ) ] spids: [16777215 8498] ) ] spids: [16777215 8542] ) ] spids: [8476 8545] ) ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_z child: {(${ VSub_Name found_doublehyphen)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (ForExpr init: (BinaryAssign op_id: Arith_Equal left: (LhsName name:i) right: (ArithWord w:{(Lit_Digits 1)}) ) cond: (ArithBinary op_id: Arith_LessEqual left: (ArithVarRef name:i) right: (ArithWord w: { (BracedVarSub token: <VSub_At '@'> prefix_op: VSub_Pound spids: [8584 8587] ) } ) ) update: (UnaryAssign op_id:Arith_DPlus child:(LhsName name:i)) body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobNEqual left: { (BracedVarSub token: <VSub_At '@'> suffix_op: (Slice begin: (ArithVarRef name:i) length: (ArithWord w:{(Lit_Digits 1)}) ) spids: [8604 8610] ) } right: {(-) (Lit_Other '*')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:patch_options) op: Equal rhs: { (ArrayLiteralPart words: [ { (DQ (BracedVarSub token: <VSub_At '@'> suffix_op: (Slice begin: (ArithWord w: {(Lit_Digits 1)} ) length: (ArithBinary op_id: Arith_Minus left: (ArithVarRef name:i) right: (ArithWord w: {(Lit_Digits 1)} ) ) ) spids: [8627 8635] ) ) } ] ) } spids: [8623] ) ] spids: [8623] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:files) op: Equal rhs: { (ArrayLiteralPart words: [ { (DQ (BracedVarSub token: <VSub_At '@'> suffix_op: (Slice begin: (ArithVarRef name:i) ) spids: [8645 8649] ) ) } ] ) } spids: [8641] ) ] spids: [8641] ) (ControlFlow token: <ControlFlow_Break break> ) ] spids: [16777215 8620] ) ] spids: [16777215 8658] ) ] spids: [8597 8661] ) ) (ForEach iter_name: i iter_words: [ { (DQ (BracedVarSub token: <VSub_Name files> bracket_op: (WholeArray op_id:Lit_At) spids: [8676 8681] ) ) } ] do_arg_iter: F body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(${ VSub_Name i)} right: {(-) (Lit_Other '*')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(die)} { (DQ ( 'eapply: all options must be passed before non-options' ) ) } ) ] spids: [16777215 8704] ) ] spids: [16777215 8714] ) ] spids: [8685 8717] ) spids: [8674 8683] ) ] spids: [16777215 8566] ) ] spids: [16777215 8720] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_z child: { (BracedVarSub token: <VSub_Name files> bracket_op: (WholeArray op_id:Lit_At) spids: [8730 8735] ) } ) ) terminator: <Op_Semi ';'> ) ] action: [(C {(die)} {(DQ ('eapply: no files specified'))})] spids: [16777215 8740] ) ] spids: [16777215 8750] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:f) op:Equal spids:[8756])] spids: [8754] ) (ForEach iter_name: f iter_words: [ { (DQ (BracedVarSub token: <VSub_Name files> bracket_op: (WholeArray op_id:Lit_At) spids: [8766 8771] ) ) } ] do_arg_iter: F body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id:BoolUnary_d child:{(${ VSub_Name f)}) ) terminator: <Op_Semi ';'> ) ] action: [ (FuncDef name: _eapply_get_files body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:LC_ALL) op: Equal rhs: {(POSIX)} spids: [8803] ) ] spids: [8801] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:prev_shopt) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(shopt)} {(-p)} {(nullglob)}) ] ) left_token: <Left_CommandSub '$('> spids: [8810 8816] ) } spids: [8809] ) ] spids: [8807] ) (C {(shopt)} {(-s)} {(nullglob)}) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:f) op: Equal spids: [8828] ) ] spids: [8826] ) (ForEach iter_name: f iter_words: [ {(DQ (${ VSub_Number 1)) (/) (Lit_Other '*')} ] do_arg_iter: F body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (LogicalOr left: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(${ VSub_Name f)} right: {(Lit_Other '*') (.diff)} ) right: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(${ VSub_Name f)} right: {(Lit_Other '*') (.patch) } ) ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:files) op: PlusEqual rhs: { (ArrayLiteralPart words: [{(DQ (${ VSub_Name f))}] ) } spids: [8879] ) ] spids: [8879] ) ] spids: [16777215 8876] ) ] spids: [16777215 8891] ) ] spids: [8846 8894] ) spids: [8836 8844] ) (C {(${ VSub_Name prev_shopt)}) ] spids: [8798] ) spids: [8794 8797] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:files) op: Equal rhs: {(ArrayLiteralPart)} spids: [8908] ) ] spids: [8906] ) (C {(_eapply_get_files)} {(DQ (${ VSub_Name f))}) (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolUnary op_id: BoolUnary_z child: { (BracedVarSub token: <VSub_Name files> bracket_op: (WholeArray op_id:Lit_At) spids: [8926 8931] ) } ) ) (C {(die)} { (DQ ('No *.{patch,diff} files in directory ') (${ VSub_Name f) ) } ) ] ) (C {(einfo)} {(DQ ('Applying patches from ') (${ VSub_Name f) (' ...'))} ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:f2) op: Equal spids: [8961] ) ] spids: [8959] ) (ForEach iter_name: f2 iter_words: [ { (DQ (BracedVarSub token: <VSub_Name files> bracket_op: (WholeArray op_id:Lit_At) spids: [8971 8976] ) ) } ] do_arg_iter: F body: (DoGroup children: [ (C {(_eapply_patch)} {(DQ (${ VSub_Name f2))} {(SQ <' '>)}) (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_ne left: {(${ VSub_Name failed)} right: {(0)} ) ) (ControlFlow token: <ControlFlow_Return return> arg_word: {(DQ (${ VSub_Name failed))} ) ] ) ] spids: [8980 9024] ) spids: [8969 8978] ) ] spids: [16777215 8791] ) ] else_action: [ (C {(_eapply_patch)} {(DQ (${ VSub_Name f))}) (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_ne left: {(${ VSub_Name failed)} right: {(0)} ) ) (ControlFlow token: <ControlFlow_Return return> arg_word: {(DQ (${ VSub_Name failed))} ) ] ) ] spids: [9027 9067] ) ] spids: [8775 9070] ) spids: [8764 8773] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [8240] ) spids: [8236 8239] ) ] spids: [16777215 8233] ) ] spids: [16777215 9081] ) (If arms: [ (if_arm cond: [(Sentence child:(C {(___eapi_has_eapply_user)}) terminator:<Op_Semi ';'>)] action: [ (FuncDef name: eapply_user body: (BraceGroup children: [ (AndOr ops: [Op_DPipe] children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(${ VSub_Name EBUILD_PHASE)} right: {(prepare)} ) ) (C {(die)} { (DQ ('eapply_user() called during invalid phase: ') (${ VSub_Name EBUILD_PHASE) ) } ) ] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:tagfile) op: Equal rhs: {(${ VSub_Name T) (/.portage_user_patches_applied)} spids: [9131] ) ] spids: [9129] ) (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolUnary op_id:BoolUnary_f child:{(${ VSub_Name tagfile)}) ) (ControlFlow token:<ControlFlow_Return return>) ] ) (SimpleCommand redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {(DQ (${ VSub_Name tagfile))} spids: [9153] ) ] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:basedir) op: Equal rhs: { (BracedVarSub token: <VSub_Name PORTAGE_CONFIGROOT> suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(Lit_Slash /)}) spids: [9166 9170] ) (/etc/portage/patches) } spids: [9165] ) ] spids: [9163] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:applied) op: Equal spids: [9177] ) (assign_pair lhs: (LhsName name:d) op: Equal spids: [9179] ) (assign_pair lhs: (LhsName name:f) op: Equal spids: [9181] ) ] spids: [9175] ) (Assignment keyword: Assign_Local flags: [-A] pairs: [ (assign_pair lhs: (LhsName name:_eapply_user_patches) op: Equal spids: [9188] ) ] spids: [9184] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:prev_shopt) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(shopt)} {(-p)} {(nullglob)})] ) left_token: <Left_CommandSub '$('> spids: [9194 9200] ) } spids: [9193] ) ] spids: [9191] ) (C {(shopt)} {(-s)} {(nullglob)}) (ForEach iter_name: d iter_words: [ (BracedWordTree parts: [ (DQ (${ VSub_Name basedir)) (/) (${ VSub_Name CATEGORY) (/) (BracedAltPart words: [ {(${ VSub_Name P) (-) (${ VSub_Name PR)} {(${ VSub_Name P)} {(${ VSub_Name PN)} ] ) (BracedAltPart words: [ {(Lit_Other ':') (BracedVarSub token: <VSub_Name SLOT> suffix_op: (StringUnary op_id: VOp1_Percent arg_word: {(Lit_Slash /) ('*')} ) spids: [9298 9303] ) } {} ] ) ] ) ] do_arg_iter: F body: (DoGroup children: [ (ForEach iter_name: f iter_words: [{(DQ (${ VSub_Name d)) (/) (Lit_Other '*')}] do_arg_iter: F body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (LogicalAnd left: (LogicalOr left: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(${ VSub_Name f)} right: {(Lit_Other '*') (.diff)} ) right: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(${ VSub_Name f)} right: {(Lit_Other '*') (.patch)} ) ) right: (BoolUnary op_id: BoolUnary_z child: { (BracedVarSub token: <VSub_Name _eapply_user_patches> bracket_op: (ArrayIndex expr: (ArithWord w: { (BracedVarSub token: <VSub_Name f> suffix_op: (StringUnary op_id: VOp1_DPound arg_word: {('*') (Lit_Slash /) } ) spids: [9365 9370] ) } ) ) spids: [9362 9372] ) } ) ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(_eapply_user_patches) (Lit_Other '[') (BracedVarSub token: <VSub_Name f> suffix_op: (StringUnary op_id: VOp1_DPound arg_word: {('*') (Lit_Slash /)} ) spids: [9382 9387] ) (Lit_Other ']') (Lit_Other '=') (${ VSub_Name f) } ) ] spids: [16777215 9377] ) ] spids: [16777215 9395] ) ] spids: [9326 9398] ) spids: [9316 9324] ) ] spids: [9308 9401] ) spids: [9268 9306] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_gt left: { (BracedVarSub token: <VSub_Name _eapply_user_patches> prefix_op: VSub_Pound bracket_op: (WholeArray op_id:Lit_At) spids: [9409 9415] ) } right: {(0)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (While cond: [ (Sentence child: (C {(read)} {(-r)} {(-d)} {(SQ )} {(f)}) terminator: <Op_Semi ';'> ) ] body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:f) op: Equal rhs: { (BracedVarSub token: <VSub_Name _eapply_user_patches> bracket_op: (ArrayIndex expr: (ArithWord w:{(${ VSub_Name f)}) ) spids: [9445 9452] ) } spids: [9444] ) ] spids: [9444] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_s child: {(${ VSub_Name f)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(eapply)} {(DQ (${ VSub_Name f))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:applied) op: Equal rhs: {(1)} spids: [9480] ) ] spids: [9480] ) ] spids: [16777215 9468] ) ] spids: [16777215 9484] ) ] spids: [9441 9487] ) redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(printf)} {(--)} {(SQ <'%s\\0'>)} { (DQ (BracedVarSub token: <VSub_Name _eapply_user_patches> prefix_op: VSub_Bang bracket_op: (WholeArray op_id:Lit_At) spids: [9501 9507] ) ) } ) (SimpleCommand words: [{(sort)} {(-z)}] more_env: [ (env_pair name: LC_ALL val: {(C)} spids: [9513] ) ] ) ] negated: F ) ] ) left_token: <Left_ProcSubIn '<('> spids: [9491 9519] ) } spids: [9489] ) ] ) ] spids: [16777215 9424] ) ] spids: [16777215 9522] ) (C {(${ VSub_Name prev_shopt)}) (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolUnary op_id:BoolUnary_n child:{(${ VSub_Name applied)}) ) (C {(ewarn)} {(DQ ('User patches applied.'))}) ] ) ] spids: [9096] ) spids: [9092 9095] ) ] spids: [16777215 9089] ) ] spids: [16777215 9553] ) (If arms: [ (if_arm cond: [(Sentence child:(C {(___eapi_has_in_iuse)}) terminator:<Op_Semi ';'>)] action: [ (FuncDef name: in_iuse body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:use) op: Equal rhs: {(${ VSub_Number 1)} spids: [9573] ) ] spids: [9571] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id:BoolUnary_z child:{(DQ (${ VSub_Name use))}) ) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [{(echo)} {(DQ ('!!! in_iuse() called without a parameter.'))}] redirects: [ (Redir op_id: Redir_GreatAnd fd: 16777215 arg_word: {(2)} spids: [9604] ) ] ) (SimpleCommand words: [{(echo)} {(DQ ('!!! in_iuse <USEFLAG>'))}] redirects: [ (Redir op_id: Redir_GreatAnd fd: 16777215 arg_word: {(2)} spids: [9614] ) ] ) (C {(die)} {(DQ ('in_iuse() called without a parameter'))}) ] spids: [16777215 9595] ) ] spids: [16777215 9625] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:liuse) op: Equal rhs: {(ArrayLiteralPart words:[{(${ VSub_Name IUSE_EFFECTIVE)}])} spids: [9631] ) ] spids: [9629] ) (C {(has)} {(DQ (${ VSub_Name use))} { (DQ (BracedVarSub token: <VSub_Name liuse> bracket_op: (WholeArray op_id:Lit_At) suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{('[+-]')}) spids: [9651 9658] ) ) } ) ] spids: [9568] ) spids: [9564 9567] ) ] spids: [16777215 9561] ) ] spids: [16777215 9664] ) (If arms: [ (if_arm cond: [(Sentence child:(C {(___eapi_has_master_repositories)}) terminator:<Op_Semi ';'>)] action: [ (FuncDef name: master_repositories body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:output) op: Equal spids: [9684] ) (assign_pair lhs: (LhsName name:repository) op: Equal rhs: {($ VSub_Number '$1')} spids: [9686] ) (assign_pair lhs: (LhsName name:retval) op: Equal spids: [9689] ) ] spids: [9682] ) (C {(shift)}) (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolBinary op_id:BoolBinary_gt left:{($ VSub_Pound '$#')} right:{(0)}) ) (C {(die)} { (DQ (BracedVarSub token: <VSub_Name FUNCNAME> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) spids: [9710 9715] ) (': unused argument(s): ') ($ VSub_Star '$*') ) } ) ] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_n child: {(${ VSub_Name PORTAGE_IPC_DAEMON)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(DQ (${ VSub_Name PORTAGE_BIN_PATH) (/ebuild-ipc))} {(master_repositories)} {(DQ (${ VSub_Name EROOT))} {(DQ (${ VSub_Name repository))} ) ] spids: [16777215 9735] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:output) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C { (DQ (${ VSub_Name PORTAGE_BIN_PATH) (/ebuild-helpers/portageq) ) } {(master_repositories)} {(DQ (${ VSub_Name EROOT))} {(DQ (${ VSub_Name repository))} ) ] ) left_token: <Left_CommandSub '$('> spids: [9764 9785] ) } spids: [9763] ) ] spids: [9763] ) ] spids: [9760 9788] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:retval) op: Equal rhs: {($ VSub_QMark '$?')} spids: [9791] ) ] spids: [9791] ) (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolUnary op_id:BoolUnary_n child:{(${ VSub_Name output)}) ) (C {(echo)} {(DQ (${ VSub_Name output))}) ] ) (Case to_match: {(DQ (${ VSub_Name retval))} arms: [ (case_arm pat_list: [{(0)} {(1)}] action: [ (ControlFlow token: <ControlFlow_Return return> arg_word: {(${ VSub_Name retval)} ) ] spids: [9827 9830 9840 16777215] ) (case_arm pat_list: [{(2)}] action: [ (C {(die)} { (DQ (BracedVarSub token: <VSub_Name FUNCNAME> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) spids: [9850 9855] ) (': invalid repository: ') (${ VSub_Name repository) ) } ) ] spids: [9843 9844 9863 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_n child: {(${ VSub_Name PORTAGE_IPC_DAEMON)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(die)} { (DQ (BracedVarSub token: <VSub_Name FUNCNAME> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) spids: [9889 9894] ) (': unexpected ebuild-ipc exit code: ') (${ VSub_Name retval) ) } ) ] spids: [16777215 9883] ) ] else_action: [ (C {(die)} { (DQ (BracedVarSub token: <VSub_Name FUNCNAME> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) spids: [9908 9913] ) (': unexpected portageq exit code: ') (${ VSub_Name retval) ) } ) ] spids: [9902 9921] ) ] spids: [9866 9867 9924 16777215] ) ] spids: [9816 9824 9927] ) ] spids: [9679] ) spids: [9675 9678] ) ] spids: [16777215 9672] ) ] spids: [16777215 9932] ) (If arms: [ (if_arm cond: [(Sentence child:(C {(___eapi_has_repository_path)}) terminator:<Op_Semi ';'>)] action: [ (FuncDef name: repository_path body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:output) op: Equal spids: [9952] ) (assign_pair lhs: (LhsName name:repository) op: Equal rhs: {($ VSub_Number '$1')} spids: [9954] ) (assign_pair lhs: (LhsName name:retval) op: Equal spids: [9957] ) ] spids: [9950] ) (C {(shift)}) (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolBinary op_id:BoolBinary_gt left:{($ VSub_Pound '$#')} right:{(0)}) ) (C {(die)} { (DQ (BracedVarSub token: <VSub_Name FUNCNAME> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) spids: [9978 9983] ) (': unused argument(s): ') ($ VSub_Star '$*') ) } ) ] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_n child: {(${ VSub_Name PORTAGE_IPC_DAEMON)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(DQ (${ VSub_Name PORTAGE_BIN_PATH) (/ebuild-ipc))} {(repository_path)} {(DQ (${ VSub_Name EROOT))} {(DQ (${ VSub_Name repository))} ) ] spids: [16777215 10003] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:output) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C { (DQ (${ VSub_Name PORTAGE_BIN_PATH) (/ebuild-helpers/portageq) ) } {(get_repo_path)} {(DQ (${ VSub_Name EROOT))} {(DQ (${ VSub_Name repository))} ) ] ) left_token: <Left_CommandSub '$('> spids: [10032 10053] ) } spids: [10031] ) ] spids: [10031] ) ] spids: [10028 10056] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:retval) op: Equal rhs: {($ VSub_QMark '$?')} spids: [10059] ) ] spids: [10059] ) (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolUnary op_id:BoolUnary_n child:{(${ VSub_Name output)}) ) (C {(echo)} {(DQ (${ VSub_Name output))}) ] ) (Case to_match: {(DQ (${ VSub_Name retval))} arms: [ (case_arm pat_list: [{(0)} {(1)}] action: [ (ControlFlow token: <ControlFlow_Return return> arg_word: {(${ VSub_Name retval)} ) ] spids: [10095 10098 10108 16777215] ) (case_arm pat_list: [{(2)}] action: [ (C {(die)} { (DQ (BracedVarSub token: <VSub_Name FUNCNAME> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) spids: [10118 10123] ) (': invalid repository: ') (${ VSub_Name repository) ) } ) ] spids: [10111 10112 10131 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_n child: {(${ VSub_Name PORTAGE_IPC_DAEMON)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(die)} { (DQ (BracedVarSub token: <VSub_Name FUNCNAME> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) spids: [10157 10162] ) (': unexpected ebuild-ipc exit code: ') (${ VSub_Name retval) ) } ) ] spids: [16777215 10151] ) ] else_action: [ (C {(die)} { (DQ (BracedVarSub token: <VSub_Name FUNCNAME> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) spids: [10176 10181] ) (': unexpected portageq exit code: ') (${ VSub_Name retval) ) } ) ] spids: [10170 10189] ) ] spids: [10134 10135 10192 16777215] ) ] spids: [10084 10092 10195] ) ] spids: [9947] ) spids: [9943 9946] ) ] spids: [16777215 9940] ) ] spids: [16777215 10200] ) (If arms: [ (if_arm cond: [(Sentence child:(C {(___eapi_has_available_eclasses)}) terminator:<Op_Semi ';'>)] action: [ (FuncDef name: available_eclasses body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:output) op: Equal spids: [10220] ) (assign_pair lhs: (LhsName name:repository) op: Equal rhs: {(${ VSub_Name PORTAGE_REPO_NAME)} spids: [10222] ) (assign_pair lhs: (LhsName name:retval) op: Equal spids: [10227] ) ] spids: [10218] ) (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolBinary op_id:BoolBinary_gt left:{($ VSub_Pound '$#')} right:{(0)}) ) (C {(die)} { (DQ (BracedVarSub token: <VSub_Name FUNCNAME> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) spids: [10245 10250] ) (': unused argument(s): ') ($ VSub_Star '$*') ) } ) ] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_n child: {(${ VSub_Name PORTAGE_IPC_DAEMON)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(DQ (${ VSub_Name PORTAGE_BIN_PATH) (/ebuild-ipc))} {(available_eclasses)} {(DQ (${ VSub_Name EROOT))} {(DQ (${ VSub_Name repository))} ) ] spids: [16777215 10270] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:output) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C { (DQ (${ VSub_Name PORTAGE_BIN_PATH) (/ebuild-helpers/portageq) ) } {(available_eclasses)} {(DQ (${ VSub_Name EROOT))} {(DQ (${ VSub_Name repository))} ) ] ) left_token: <Left_CommandSub '$('> spids: [10299 10320] ) } spids: [10298] ) ] spids: [10298] ) ] spids: [10295 10323] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:retval) op: Equal rhs: {($ VSub_QMark '$?')} spids: [10326] ) ] spids: [10326] ) (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolUnary op_id:BoolUnary_n child:{(${ VSub_Name output)}) ) (C {(echo)} {(DQ (${ VSub_Name output))}) ] ) (Case to_match: {(DQ (${ VSub_Name retval))} arms: [ (case_arm pat_list: [{(0)} {(1)}] action: [ (ControlFlow token: <ControlFlow_Return return> arg_word: {(${ VSub_Name retval)} ) ] spids: [10362 10365 10375 16777215] ) (case_arm pat_list: [{(2)}] action: [ (C {(die)} { (DQ (BracedVarSub token: <VSub_Name FUNCNAME> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) spids: [10385 10390] ) (': invalid repository: ') (${ VSub_Name repository) ) } ) ] spids: [10378 10379 10398 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_n child: {(${ VSub_Name PORTAGE_IPC_DAEMON)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(die)} { (DQ (BracedVarSub token: <VSub_Name FUNCNAME> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) spids: [10424 10429] ) (': unexpected ebuild-ipc exit code: ') (${ VSub_Name retval) ) } ) ] spids: [16777215 10418] ) ] else_action: [ (C {(die)} { (DQ (BracedVarSub token: <VSub_Name FUNCNAME> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) spids: [10443 10448] ) (': unexpected portageq exit code: ') (${ VSub_Name retval) ) } ) ] spids: [10437 10456] ) ] spids: [10401 10402 10459 16777215] ) ] spids: [10351 10359 10462] ) ] spids: [10215] ) spids: [10211 10214] ) ] spids: [16777215 10208] ) ] spids: [16777215 10467] ) (If arms: [ (if_arm cond: [(Sentence child:(C {(___eapi_has_eclass_path)}) terminator:<Op_Semi ';'>)] action: [ (FuncDef name: eclass_path body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:eclass) op: Equal rhs: {($ VSub_Number '$1')} spids: [10487] ) (assign_pair lhs: (LhsName name:output) op: Equal spids: [10490] ) (assign_pair lhs: (LhsName name:repository) op: Equal rhs: {(${ VSub_Name PORTAGE_REPO_NAME)} spids: [10492] ) (assign_pair lhs: (LhsName name:retval) op: Equal spids: [10497] ) ] spids: [10485] ) (C {(shift)}) (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolBinary op_id:BoolBinary_gt left:{($ VSub_Pound '$#')} right:{(0)}) ) (C {(die)} { (DQ (BracedVarSub token: <VSub_Name FUNCNAME> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) spids: [10518 10523] ) (': unused argument(s): ') ($ VSub_Star '$*') ) } ) ] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_n child: {(${ VSub_Name PORTAGE_IPC_DAEMON)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(DQ (${ VSub_Name PORTAGE_BIN_PATH) (/ebuild-ipc))} {(eclass_path)} {(DQ (${ VSub_Name EROOT))} {(DQ (${ VSub_Name repository))} {(DQ (${ VSub_Name eclass))} ) ] spids: [16777215 10543] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:output) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C { (DQ (${ VSub_Name PORTAGE_BIN_PATH) (/ebuild-helpers/portageq) ) } {(eclass_path)} {(DQ (${ VSub_Name EROOT))} {(DQ (${ VSub_Name repository))} {(DQ (${ VSub_Name eclass))} ) ] ) left_token: <Left_CommandSub '$('> spids: [10578 10605] ) } spids: [10577] ) ] spids: [10577] ) ] spids: [10574 10608] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:retval) op: Equal rhs: {($ VSub_QMark '$?')} spids: [10611] ) ] spids: [10611] ) (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolUnary op_id:BoolUnary_n child:{(${ VSub_Name output)}) ) (C {(echo)} {(DQ (${ VSub_Name output))}) ] ) (Case to_match: {(DQ (${ VSub_Name retval))} arms: [ (case_arm pat_list: [{(0)} {(1)}] action: [ (ControlFlow token: <ControlFlow_Return return> arg_word: {(${ VSub_Name retval)} ) ] spids: [10647 10650 10660 16777215] ) (case_arm pat_list: [{(2)}] action: [ (C {(die)} { (DQ (BracedVarSub token: <VSub_Name FUNCNAME> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) spids: [10670 10675] ) (': invalid repository: ') (${ VSub_Name repository) ) } ) ] spids: [10663 10664 10683 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_n child: {(${ VSub_Name PORTAGE_IPC_DAEMON)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(die)} { (DQ (BracedVarSub token: <VSub_Name FUNCNAME> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) spids: [10709 10714] ) (': unexpected ebuild-ipc exit code: ') (${ VSub_Name retval) ) } ) ] spids: [16777215 10703] ) ] else_action: [ (C {(die)} { (DQ (BracedVarSub token: <VSub_Name FUNCNAME> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) spids: [10728 10733] ) (': unexpected portageq exit code: ') (${ VSub_Name retval) ) } ) ] spids: [10722 10741] ) ] spids: [10686 10687 10744 16777215] ) ] spids: [10636 10644 10747] ) ] spids: [10482] ) spids: [10478 10481] ) ] spids: [16777215 10475] ) ] spids: [16777215 10752] ) (If arms: [ (if_arm cond: [(Sentence child:(C {(___eapi_has_license_path)}) terminator:<Op_Semi ';'>)] action: [ (FuncDef name: license_path body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:license) op: Equal rhs: {($ VSub_Number '$1')} spids: [10772] ) (assign_pair lhs: (LhsName name:output) op: Equal spids: [10775] ) (assign_pair lhs: (LhsName name:repository) op: Equal rhs: {(${ VSub_Name PORTAGE_REPO_NAME)} spids: [10777] ) (assign_pair lhs: (LhsName name:retval) op: Equal spids: [10782] ) ] spids: [10770] ) (C {(shift)}) (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolBinary op_id:BoolBinary_gt left:{($ VSub_Pound '$#')} right:{(0)}) ) (C {(die)} { (DQ (BracedVarSub token: <VSub_Name FUNCNAME> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) spids: [10803 10808] ) (': unused argument(s): ') ($ VSub_Star '$*') ) } ) ] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_n child: {(${ VSub_Name PORTAGE_IPC_DAEMON)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(DQ (${ VSub_Name PORTAGE_BIN_PATH) (/ebuild-ipc))} {(license_path)} {(DQ (${ VSub_Name EROOT))} {(DQ (${ VSub_Name repository))} {(DQ (${ VSub_Name license))} ) ] spids: [16777215 10828] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:output) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C { (DQ (${ VSub_Name PORTAGE_BIN_PATH) (/ebuild-helpers/portageq) ) } {(license_path)} {(DQ (${ VSub_Name EROOT))} {(DQ (${ VSub_Name repository))} {(DQ (${ VSub_Name license))} ) ] ) left_token: <Left_CommandSub '$('> spids: [10863 10890] ) } spids: [10862] ) ] spids: [10862] ) ] spids: [10859 10893] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:retval) op: Equal rhs: {($ VSub_QMark '$?')} spids: [10896] ) ] spids: [10896] ) (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolUnary op_id:BoolUnary_n child:{(${ VSub_Name output)}) ) (C {(echo)} {(DQ (${ VSub_Name output))}) ] ) (Case to_match: {(DQ (${ VSub_Name retval))} arms: [ (case_arm pat_list: [{(0)} {(1)}] action: [ (ControlFlow token: <ControlFlow_Return return> arg_word: {(${ VSub_Name retval)} ) ] spids: [10932 10935 10945 16777215] ) (case_arm pat_list: [{(2)}] action: [ (C {(die)} { (DQ (BracedVarSub token: <VSub_Name FUNCNAME> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) spids: [10955 10960] ) (': invalid repository: ') (${ VSub_Name repository) ) } ) ] spids: [10948 10949 10968 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_n child: {(${ VSub_Name PORTAGE_IPC_DAEMON)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(die)} { (DQ (BracedVarSub token: <VSub_Name FUNCNAME> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) spids: [10994 10999] ) (': unexpected ebuild-ipc exit code: ') (${ VSub_Name retval) ) } ) ] spids: [16777215 10988] ) ] else_action: [ (C {(die)} { (DQ (BracedVarSub token: <VSub_Name FUNCNAME> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) spids: [11013 11018] ) (': unexpected portageq exit code: ') (${ VSub_Name retval) ) } ) ] spids: [11007 11026] ) ] spids: [10971 10972 11029 16777215] ) ] spids: [10921 10929 11032] ) ] spids: [10767] ) spids: [10763 10766] ) ] spids: [16777215 10760] ) ] spids: [16777215 11037] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(___eapi_has_package_manager_build_user)}) terminator: <Op_Semi ';'> ) ] action: [ (FuncDef name: package_manager_build_user body: (BraceGroup children: [(C {(echo)} {(DQ (${ VSub_Name PORTAGE_BUILD_USER))})] spids: [11052] ) spids: [11048 11051] ) ] spids: [16777215 11045] ) ] spids: [16777215 11066] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(___eapi_has_package_manager_build_group)}) terminator: <Op_Semi ';'> ) ] action: [ (FuncDef name: package_manager_build_group body: (BraceGroup children: [(C {(echo)} {(DQ (${ VSub_Name PORTAGE_BUILD_GROUP))})] spids: [11081] ) spids: [11077 11080] ) ] spids: [16777215 11074] ) ] spids: [16777215 11095] ) ] )