(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: [1589 1593] ) } 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:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (SimpleCommand words: [{(echo)} {(DQ ('!!! use_with <USEFLAG> [<flagname> [value]]'))}] redirects: [(Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (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:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (SimpleCommand words: [{(echo)} {(DQ ('!!! use_enable <USEFLAG> [<flagname> [value]]'))}] redirects: [(Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (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: <Redir_TLess '<<<'> fd: 16777215 arg_word: {(DQ (${ VSub_Name suffix))} ) ] 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: <Redir_TLess '<<<'> fd: 16777215 arg_word: {(DQ (${ VSub_Name y))} ) ] 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: <Redir_Great '>'> fd: 16777215 arg_word: {(DQ (${ VSub_Name cwd_dest))} ) ] ) ] 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: <Redir_Less '<'> fd: 16777215 arg_word: { (CommandSubPart command_list: (CommandList children: [ (Sentence child: (C {(set)} {(Lit_Other '+') (x)}) terminator: <Op_Semi ';'> ) (WhileUntil keyword: <KW_While 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: [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: <Redir_GreatAnd '>&'> fd: 16777215 arg_word: {(2)} ) ] ) (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: <Redir_Great '2>'> fd: 2 arg_word: {(/dev/null)} ) ] ) ] ) left_token: <Left_CommandSub '$('> spids: [3717 3724] ) } right: {(DQ ('GNU ar')) (Lit_Other '*')} ) ) (SimpleCommand words: [{(type)} {(-P)} {(deb2targz)}] redirects: [ (Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(/dev/null)} ) ] ) ] ) 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:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)})] ) 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)} ) (WhileUntil keyword: <KW_While while> cond: [ (Sentence child: (C {(read)} {(-r)} {(-d)} { (SingleQuotedPart left: <Left_DollarSingleQuote "$'"> tokens: [<Char_OneChar '\\0'>] spids: [4924 4926] ) } {(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: <Redir_Great '2>'> fd: 2 arg_word: {(/dev/null)} ) ] ) ] ) 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: (SimpleCommand words: [ {($ VSub_Name '$emake_cmd')} {(${ VSub_Name internal_opts)} {(check)} {(-n)} ] redirects: [ (Redir op: <Redir_AndGreat '&>'> fd: 16777215 arg_word: {(/dev/null)} ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [ {(__vecho)} {(DQ (${ VSub_Name emake_cmd) (' ') (${ VSub_Name internal_opts) (' check'))} ] redirects: [(Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (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 6457] ) (if_arm cond: [ (Sentence child: (SimpleCommand words: [ {($ VSub_Name '$emake_cmd')} {(${ VSub_Name internal_opts)} {(test)} {(-n)} ] redirects: [ (Redir op: <Redir_AndGreat '&>'> fd: 16777215 arg_word: {(/dev/null)} ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [ {(__vecho)} {(DQ (${ VSub_Name emake_cmd) (' ') (${ VSub_Name internal_opts) (' test'))} ] redirects: [(Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (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: [6496 6513] ) ] spids: [16777215 6552] ) ] spids: [6375] ) spids: [6371 6374] ) (FuncDef name: __eapi1_src_compile body: (BraceGroup children: [(C {(__eapi2_src_configure)}) (C {(__eapi2_src_compile)})] spids: [6561] ) spids: [6557 6560] ) (FuncDef name: __eapi2_src_prepare body: (BraceGroup children:[(C {(Lit_Other ':')})] spids:[6576]) spids: [6572 6575] ) (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: [6597 6601] ) (/configure) } ) ) terminator: <Op_Semi ';'> ) ] action: [(C {(econf)})] spids: [16777215 6608] ) ] spids: [16777215 6614] ) ] spids: [6588] ) spids: [6584 6587] ) (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 6657] ) ] spids: [16777215 6671] ) ] spids: [6623] ) spids: [6619 6622] ) (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 6707] ) ] spids: [16777215 6722] ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (SimpleCommand words: [{(Assign_Declare declare)} {(-p)} {(DOCS)}] redirects: [ (Redir op: <Redir_AndGreat '&>'> fd: 16777215 arg_word: {(/dev/null)} ) ] ) ] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:d) op:Equal spids:[6746])] spids: [6744] ) (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: [6782 6808] ) spids: [6754 6780] ) ] spids: [16777215 6741] ) (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: [6815 6821] ) } 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: [6840 6845] ) ) } ) ] spids: [6811 6834] ) ] else_action: [(C {(dodoc)} {(${ VSub_Name DOCS)})] spids: [6849 6859] ) ] spids: [6680] ) spids: [6676 6679] ) (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: <Redir_Great '2>'> fd: 2 arg_word: {(/dev/null)} ) ] ) ] ) left_token: <Left_CommandSub '$('> spids: [6875 6884] ) } 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: [6903 6908] ) } ) ) (C {(eapply)} { (DQ (BracedVarSub token: <VSub_Name PATCHES> bracket_op: (WholeArray op_id:Lit_At) spids: [6917 6922] ) ) } ) ] ) ] spids: [16777215 6896] ) (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: [6926 6939] ) ] spids: [16777215 6949] ) (C {(eapply_user)}) ] spids: [6868] ) spids: [6864 6867] ) (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 6989] ) ] spids: [16777215 7004] ) (C {(einstalldocs)}) ] spids: [6962] ) spids: [6958 6961] ) (FuncDef name: has_version body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs:(LhsName name:atom) op:Equal spids:[7041]) (assign_pair lhs:(LhsName name:eroot) op:Equal spids:[7043]) (assign_pair lhs: (LhsName name:host_root) op: Equal rhs: {(false)} spids: [7045] ) (assign_pair lhs: (LhsName name:root) op: Equal rhs: {(${ VSub_Name ROOT)} spids: [7048] ) ] spids: [7039] ) (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: [7071] ) ] spids: [7071] ) (C {(shift)}) ] spids: [16777215 7068] ) ] spids: [16777215 7078] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:atom) op: Equal rhs: {($ VSub_Number '$1')} spids: [7081] ) ] spids: [7081] ) (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: [7103 7108] ) (': 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: [7139 7144] ) (': option --host-root is not supported with EAPI ') (${ VSub_Name EAPI) ) } ) ] spids: [16777215 7133] ) ] spids: [16777215 7152] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:root) op:Equal rhs:{(/)} spids:[7155])] spids: [7155] ) ] spids: [16777215 7123] ) ] spids: [16777215 7159] ) (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: [7195 7199] ) (${ VSub_Name PORTAGE_OVERRIDE_EPREFIX) (/) } spids: [7194] ) ] spids: [7194] ) ] spids: [16777215 7191] ) ] 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: [7210 7214] ) (${ VSub_Name EPREFIX) (/) } spids: [7209] ) ] spids: [7209] ) ] spids: [7206 7221] ) ] spids: [16777215 7168] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:eroot) op: Equal rhs: {(${ VSub_Name root)} spids: [7227] ) ] spids: [7227] ) ] spids: [7224 7233] ) (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 7248] ) ] else_action: [ (C {(DQ (${ VSub_Name PORTAGE_BIN_PATH) (/ebuild-helpers/portageq))} {(has_version)} {(DQ (${ VSub_Name eroot))} {(DQ (${ VSub_Name atom))} ) ] spids: [7271 7296] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:retval) op: Equal rhs: {($ VSub_QMark '$?')} spids: [7301] ) ] spids: [7299] ) (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: [7316 7319 7329 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: [7339 7344] ) (': invalid atom: ') (${ VSub_Name atom) ) } ) ] spids: [7332 7333 7352 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: [7378 7383] ) (': unexpected ebuild-ipc exit code: ') (${ VSub_Name retval) ) } ) ] spids: [16777215 7372] ) ] else_action: [ (C {(die)} { (DQ (BracedVarSub token: <VSub_Name FUNCNAME> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) spids: [7397 7402] ) (': unexpected portageq exit code: ') (${ VSub_Name retval) ) } ) ] spids: [7391 7410] ) ] spids: [7355 7356 7413 16777215] ) ] spids: [7305 7313 7416] ) ] spids: [7035] ) spids: [7031 7034] ) (FuncDef name: best_version body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs:(LhsName name:atom) op:Equal spids:[7449]) (assign_pair lhs:(LhsName name:eroot) op:Equal spids:[7451]) (assign_pair lhs: (LhsName name:host_root) op: Equal rhs: {(false)} spids: [7453] ) (assign_pair lhs: (LhsName name:root) op: Equal rhs: {(${ VSub_Name ROOT)} spids: [7456] ) ] spids: [7447] ) (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: [7479] ) ] spids: [7479] ) (C {(shift)}) ] spids: [16777215 7476] ) ] spids: [16777215 7486] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:atom) op: Equal rhs: {($ VSub_Number '$1')} spids: [7489] ) ] spids: [7489] ) (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: [7511 7516] ) (': 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: [7547 7552] ) (': option --host-root is not supported with EAPI ') (${ VSub_Name EAPI) ) } ) ] spids: [16777215 7541] ) ] spids: [16777215 7560] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:root) op:Equal rhs:{(/)} spids:[7563])] spids: [7563] ) ] spids: [16777215 7531] ) ] spids: [16777215 7567] ) (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: [7603 7607] ) (${ VSub_Name PORTAGE_OVERRIDE_EPREFIX) (/) } spids: [7602] ) ] spids: [7602] ) ] spids: [16777215 7599] ) ] 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: [7618 7622] ) (${ VSub_Name EPREFIX) (/) } spids: [7617] ) ] spids: [7617] ) ] spids: [7614 7629] ) ] spids: [16777215 7576] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:eroot) op: Equal rhs: {(${ VSub_Name root)} spids: [7635] ) ] spids: [7635] ) ] spids: [7632 7641] ) (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 7656] ) ] else_action: [ (C {(DQ (${ VSub_Name PORTAGE_BIN_PATH) (/ebuild-helpers/portageq))} {(best_version)} {(DQ (${ VSub_Name eroot))} {(DQ (${ VSub_Name atom))} ) ] spids: [7679 7704] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:retval) op: Equal rhs: {($ VSub_QMark '$?')} spids: [7709] ) ] spids: [7707] ) (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: [7724 7727 7737 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: [7747 7752] ) (': invalid atom: ') (${ VSub_Name atom) ) } ) ] spids: [7740 7741 7760 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: [7786 7791] ) (': unexpected ebuild-ipc exit code: ') (${ VSub_Name retval) ) } ) ] spids: [16777215 7780] ) ] else_action: [ (C {(die)} { (DQ (BracedVarSub token: <VSub_Name FUNCNAME> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) spids: [7805 7810] ) (': unexpected portageq exit code: ') (${ VSub_Name retval) ) } ) ] spids: [7799 7818] ) ] spids: [7763 7764 7821 16777215] ) ] spids: [7713 7721 7824] ) ] spids: [7443] ) spids: [7439 7442] ) (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: [7846] ) ] spids: [7844] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:libdir) op: Equal rhs: {(DQ (lib))} spids: [7857] ) ] spids: [7855] ) (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: [7876 7879] ) } ) ) ) (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: [7886 7889] ) } spids: [7885] ) ] spids: [7885] ) ] ) (C {(echo)} {(DQ (${ VSub_Name libdir))}) ] spids: [7841] ) spids: [7837 7840] ) ] spids: [16777215 7834] ) ] spids: [16777215 7904] ) (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: [ (SimpleCommand words: [{(Assign_Declare declare)} {(-p)} {(DOCS)}] redirects: [ (Redir op: <Redir_AndGreat '&>'> fd: 16777215 arg_word: {(/dev/null)} ) ] ) ] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:d) op:Equal spids:[7945])] spids: [7943] ) (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: [7981 8019] ) spids: [7953 7979] ) ] spids: [16777215 7940] ) (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: [8026 8032] ) } 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: [8050 8055] ) } ) ) (C {(docinto)} {(/)}) (C {(dodoc)} {(-r)} { (DQ (BracedVarSub token: <VSub_Name DOCS> bracket_op: (WholeArray op_id:Lit_At) spids: [8072 8077] ) ) } ) ] ) ] spids: [8022 8045] ) ] 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: [8081 8109] ) spids: [7922 8112] ) (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: <Redir_Great '2>'> fd: 2 arg_word: {(/dev/null)} ) ] ) ] ) left_token: <Left_CommandSub '$('> spids: [8123 8132] ) } 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: [8150 8155] ) } ) ) (C {(docinto)} {(html)}) (C {(dodoc)} {(-r)} { (DQ (BracedVarSub token: <VSub_Name HTML_DOCS> bracket_op: (WholeArray op_id:Lit_At) spids: [8174 8179] ) ) } ) ] ) ] spids: [16777215 8145] ) ] 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: [8183 8213] ) spids: [8116 8216] ) ] spids: [7919] ) spids: [7915 7918] ) ] spids: [16777215 7912] ) ] spids: [16777215 8221] ) (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: [8241] ) (assign_pair lhs: (LhsName name:patch_cmd) op: Equal rhs: {(patch)} spids: [8243] ) ] spids: [8239] ) (Assignment keyword: Assign_Local flags: [-x] pairs: [ (assign_pair lhs: (LhsName name:LC_COLLATE) op: Equal rhs: {(POSIX)} spids: [8251] ) ] spids: [8247] ) (AndOr ops: [Op_DAmp] children: [ (SimpleCommand words: [{(type)} {(-P)} {(gpatch)}] redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)})] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:patch_cmd) op: Equal rhs: {(gpatch)} spids: [8272] ) ] spids: [8272] ) ] ) (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: [8286] ) ] spids: [8284] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:prefix) op: Equal rhs: {(${ VSub_Number 2)} spids: [8294] ) ] spids: [8292] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:started_applying) op: Equal rhs: {(1)} spids: [8301] ) ] spids: [8301] ) (C {(ebegin)} { (DQ (BracedVarSub token: <VSub_Name prefix> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {('Applying ')} ) spids: [8308 8312] ) (BracedVarSub token: <VSub_Name f> suffix_op: (StringUnary op_id: VOp1_DPound arg_word: {('*') (Lit_Slash /)} ) spids: [8313 8318] ) ) } ) (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: [8359 8364] ) ) } ] redirects: [ (Redir op: <Redir_Less '<'> fd: 16777215 arg_word: {(DQ (${ VSub_Name f))} ) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:failed) op: Equal rhs: {(${ VSub_QMark '?')} spids: [8376] ) ] spids: [8376] ) (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: [8402 8407] ) (' failed with ') (${ VSub_Name f) ) } ) ] spids: [16777215 8395] ) ] spids: [16777215 8415] ) ] spids: [8281] ) spids: [8277 8280] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:patch_options) op: Equal rhs: {(ArrayLiteralPart)} spids: [8424] ) (assign_pair lhs: (LhsName name:files) op: Equal rhs: {(ArrayLiteralPart)} spids: [8428] ) ] spids: [8422] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:i) op: Equal spids: [8435] ) (assign_pair lhs: (LhsName name:found_doublehyphen) op: Equal spids: [8437] ) ] spids: [8433] ) (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: [8459 8462] ) } ) ) 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: [8479 8485] ) } 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: [8501 8509] ) ) } ] ) } spids: [8497] ) ] spids: [8497] ) (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: [8519 8525] ) ) } ] ) } spids: [8515] ) ] spids: [8515] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:found_doublehyphen) op: Equal rhs: {(1)} spids: [8531] ) ] spids: [8531] ) (ControlFlow token: <ControlFlow_Break break> ) ] spids: [16777215 8494] ) ] spids: [16777215 8538] ) ] spids: [8472 8541] ) ) (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: [8580 8583] ) } ) ) 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: [8600 8606] ) } 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: [8623 8631] ) ) } ] ) } spids: [8619] ) ] spids: [8619] ) (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: [8641 8645] ) ) } ] ) } spids: [8637] ) ] spids: [8637] ) (ControlFlow token: <ControlFlow_Break break> ) ] spids: [16777215 8616] ) ] spids: [16777215 8654] ) ] spids: [8593 8657] ) ) (ForEach iter_name: i iter_words: [ { (DQ (BracedVarSub token: <VSub_Name files> bracket_op: (WholeArray op_id:Lit_At) spids: [8672 8677] ) ) } ] 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 8700] ) ] spids: [16777215 8710] ) ] spids: [8681 8713] ) spids: [8670 8679] ) ] spids: [16777215 8562] ) ] spids: [16777215 8716] ) (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: [8726 8731] ) } ) ) terminator: <Op_Semi ';'> ) ] action: [(C {(die)} {(DQ ('eapply: no files specified'))})] spids: [16777215 8736] ) ] spids: [16777215 8746] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:f) op:Equal spids:[8752])] spids: [8750] ) (ForEach iter_name: f iter_words: [ { (DQ (BracedVarSub token: <VSub_Name files> bracket_op: (WholeArray op_id:Lit_At) spids: [8762 8767] ) ) } ] 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: [8799] ) ] spids: [8797] ) (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: [8806 8812] ) } spids: [8805] ) ] spids: [8803] ) (C {(shopt)} {(-s)} {(nullglob)}) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:f) op: Equal spids: [8824] ) ] spids: [8822] ) (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: [8875] ) ] spids: [8875] ) ] spids: [16777215 8872] ) ] spids: [16777215 8887] ) ] spids: [8842 8890] ) spids: [8832 8840] ) (C {(${ VSub_Name prev_shopt)}) ] spids: [8794] ) spids: [8790 8793] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:files) op: Equal rhs: {(ArrayLiteralPart)} spids: [8904] ) ] spids: [8902] ) (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: [8922 8927] ) } ) ) (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: [8957] ) ] spids: [8955] ) (ForEach iter_name: f2 iter_words: [ { (DQ (BracedVarSub token: <VSub_Name files> bracket_op: (WholeArray op_id:Lit_At) spids: [8967 8972] ) ) } ] 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: [8976 9020] ) spids: [8965 8974] ) ] spids: [16777215 8787] ) ] 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: [9023 9063] ) ] spids: [8771 9066] ) spids: [8760 8769] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [8236] ) spids: [8232 8235] ) ] spids: [16777215 8229] ) ] spids: [16777215 9077] ) (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: [9127] ) ] spids: [9125] ) (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: <Redir_DGreat '>>'> fd: 16777215 arg_word: {(DQ (${ VSub_Name tagfile))} ) ] ) (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: [9162 9166] ) (/etc/portage/patches) } spids: [9161] ) ] spids: [9159] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:applied) op: Equal spids: [9173] ) (assign_pair lhs: (LhsName name:d) op: Equal spids: [9175] ) (assign_pair lhs: (LhsName name:f) op: Equal spids: [9177] ) ] spids: [9171] ) (Assignment keyword: Assign_Local flags: [-A] pairs: [ (assign_pair lhs: (LhsName name:_eapply_user_patches) op: Equal spids: [9184] ) ] spids: [9180] ) (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: [9190 9196] ) } spids: [9189] ) ] spids: [9187] ) (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: [9294 9299] ) } {} ] ) ] ) ] 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: [9361 9366] ) } ) ) spids: [9358 9368] ) } ) ) ) 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: [9378 9383] ) (Lit_Other ']') (Lit_Other '=') (${ VSub_Name f) } ) ] spids: [16777215 9373] ) ] spids: [16777215 9391] ) ] spids: [9322 9394] ) spids: [9312 9320] ) ] spids: [9304 9397] ) spids: [9264 9302] ) (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: [9405 9411] ) } right: {(0)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (WhileUntil keyword: <KW_While 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: [9441 9448] ) } spids: [9440] ) ] spids: [9440] ) (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: [9476] ) ] spids: [9476] ) ] spids: [16777215 9464] ) ] spids: [16777215 9480] ) ] spids: [9437 9483] ) redirects: [ (Redir op: <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: [9497 9503] ) ) } ) (SimpleCommand words: [{(sort)} {(-z)}] more_env: [ (env_pair name: LC_ALL val: {(C)} spids: [9509] ) ] ) ] negated: F ) ] ) left_token: <Left_ProcSubIn '<('> spids: [9487 9515] ) } ) ] ) ] spids: [16777215 9420] ) ] spids: [16777215 9518] ) (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: [9092] ) spids: [9088 9091] ) ] spids: [16777215 9085] ) ] spids: [16777215 9549] ) (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: [9569] ) ] spids: [9567] ) (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:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (SimpleCommand words: [{(echo)} {(DQ ('!!! in_iuse <USEFLAG>'))}] redirects: [(Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (C {(die)} {(DQ ('in_iuse() called without a parameter'))}) ] spids: [16777215 9591] ) ] spids: [16777215 9621] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:liuse) op: Equal rhs: {(ArrayLiteralPart words:[{(${ VSub_Name IUSE_EFFECTIVE)}])} spids: [9627] ) ] spids: [9625] ) (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: [9647 9654] ) ) } ) ] spids: [9564] ) spids: [9560 9563] ) ] spids: [16777215 9557] ) ] spids: [16777215 9660] ) (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: [9680] ) (assign_pair lhs: (LhsName name:repository) op: Equal rhs: {($ VSub_Number '$1')} spids: [9682] ) (assign_pair lhs: (LhsName name:retval) op: Equal spids: [9685] ) ] spids: [9678] ) (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: [9706 9711] ) (': 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 9731] ) ] 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: [9760 9781] ) } spids: [9759] ) ] spids: [9759] ) ] spids: [9756 9784] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:retval) op: Equal rhs: {($ VSub_QMark '$?')} spids: [9787] ) ] spids: [9787] ) (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: [9823 9826 9836 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: [9846 9851] ) (': invalid repository: ') (${ VSub_Name repository) ) } ) ] spids: [9839 9840 9859 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: [9885 9890] ) (': unexpected ebuild-ipc exit code: ') (${ VSub_Name retval) ) } ) ] spids: [16777215 9879] ) ] else_action: [ (C {(die)} { (DQ (BracedVarSub token: <VSub_Name FUNCNAME> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) spids: [9904 9909] ) (': unexpected portageq exit code: ') (${ VSub_Name retval) ) } ) ] spids: [9898 9917] ) ] spids: [9862 9863 9920 16777215] ) ] spids: [9812 9820 9923] ) ] spids: [9675] ) spids: [9671 9674] ) ] spids: [16777215 9668] ) ] spids: [16777215 9928] ) (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: [9948] ) (assign_pair lhs: (LhsName name:repository) op: Equal rhs: {($ VSub_Number '$1')} spids: [9950] ) (assign_pair lhs: (LhsName name:retval) op: Equal spids: [9953] ) ] spids: [9946] ) (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: [9974 9979] ) (': 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 9999] ) ] 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: [10028 10049] ) } spids: [10027] ) ] spids: [10027] ) ] spids: [10024 10052] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:retval) op: Equal rhs: {($ VSub_QMark '$?')} spids: [10055] ) ] spids: [10055] ) (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: [10091 10094 10104 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: [10114 10119] ) (': invalid repository: ') (${ VSub_Name repository) ) } ) ] spids: [10107 10108 10127 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: [10153 10158] ) (': unexpected ebuild-ipc exit code: ') (${ VSub_Name retval) ) } ) ] spids: [16777215 10147] ) ] else_action: [ (C {(die)} { (DQ (BracedVarSub token: <VSub_Name FUNCNAME> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) spids: [10172 10177] ) (': unexpected portageq exit code: ') (${ VSub_Name retval) ) } ) ] spids: [10166 10185] ) ] spids: [10130 10131 10188 16777215] ) ] spids: [10080 10088 10191] ) ] spids: [9943] ) spids: [9939 9942] ) ] spids: [16777215 9936] ) ] spids: [16777215 10196] ) (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: [10216] ) (assign_pair lhs: (LhsName name:repository) op: Equal rhs: {(${ VSub_Name PORTAGE_REPO_NAME)} spids: [10218] ) (assign_pair lhs: (LhsName name:retval) op: Equal spids: [10223] ) ] spids: [10214] ) (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: [10241 10246] ) (': 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 10266] ) ] 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: [10295 10316] ) } spids: [10294] ) ] spids: [10294] ) ] spids: [10291 10319] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:retval) op: Equal rhs: {($ VSub_QMark '$?')} spids: [10322] ) ] spids: [10322] ) (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: [10358 10361 10371 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: [10381 10386] ) (': invalid repository: ') (${ VSub_Name repository) ) } ) ] spids: [10374 10375 10394 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: [10420 10425] ) (': unexpected ebuild-ipc exit code: ') (${ VSub_Name retval) ) } ) ] spids: [16777215 10414] ) ] else_action: [ (C {(die)} { (DQ (BracedVarSub token: <VSub_Name FUNCNAME> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) spids: [10439 10444] ) (': unexpected portageq exit code: ') (${ VSub_Name retval) ) } ) ] spids: [10433 10452] ) ] spids: [10397 10398 10455 16777215] ) ] spids: [10347 10355 10458] ) ] spids: [10211] ) spids: [10207 10210] ) ] spids: [16777215 10204] ) ] spids: [16777215 10463] ) (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: [10483] ) (assign_pair lhs: (LhsName name:output) op: Equal spids: [10486] ) (assign_pair lhs: (LhsName name:repository) op: Equal rhs: {(${ VSub_Name PORTAGE_REPO_NAME)} spids: [10488] ) (assign_pair lhs: (LhsName name:retval) op: Equal spids: [10493] ) ] spids: [10481] ) (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: [10514 10519] ) (': 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 10539] ) ] 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: [10574 10601] ) } spids: [10573] ) ] spids: [10573] ) ] spids: [10570 10604] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:retval) op: Equal rhs: {($ VSub_QMark '$?')} spids: [10607] ) ] spids: [10607] ) (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: [10643 10646 10656 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: [10666 10671] ) (': invalid repository: ') (${ VSub_Name repository) ) } ) ] spids: [10659 10660 10679 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: [10705 10710] ) (': unexpected ebuild-ipc exit code: ') (${ VSub_Name retval) ) } ) ] spids: [16777215 10699] ) ] else_action: [ (C {(die)} { (DQ (BracedVarSub token: <VSub_Name FUNCNAME> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) spids: [10724 10729] ) (': unexpected portageq exit code: ') (${ VSub_Name retval) ) } ) ] spids: [10718 10737] ) ] spids: [10682 10683 10740 16777215] ) ] spids: [10632 10640 10743] ) ] spids: [10478] ) spids: [10474 10477] ) ] spids: [16777215 10471] ) ] spids: [16777215 10748] ) (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: [10768] ) (assign_pair lhs: (LhsName name:output) op: Equal spids: [10771] ) (assign_pair lhs: (LhsName name:repository) op: Equal rhs: {(${ VSub_Name PORTAGE_REPO_NAME)} spids: [10773] ) (assign_pair lhs: (LhsName name:retval) op: Equal spids: [10778] ) ] spids: [10766] ) (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: [10799 10804] ) (': 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 10824] ) ] 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: [10859 10886] ) } spids: [10858] ) ] spids: [10858] ) ] spids: [10855 10889] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:retval) op: Equal rhs: {($ VSub_QMark '$?')} spids: [10892] ) ] spids: [10892] ) (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: [10928 10931 10941 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: [10951 10956] ) (': invalid repository: ') (${ VSub_Name repository) ) } ) ] spids: [10944 10945 10964 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: [10990 10995] ) (': unexpected ebuild-ipc exit code: ') (${ VSub_Name retval) ) } ) ] spids: [16777215 10984] ) ] else_action: [ (C {(die)} { (DQ (BracedVarSub token: <VSub_Name FUNCNAME> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) spids: [11009 11014] ) (': unexpected portageq exit code: ') (${ VSub_Name retval) ) } ) ] spids: [11003 11022] ) ] spids: [10967 10968 11025 16777215] ) ] spids: [10917 10925 11028] ) ] spids: [10763] ) spids: [10759 10762] ) ] spids: [16777215 10756] ) ] spids: [16777215 11033] ) (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: [11048] ) spids: [11044 11047] ) ] spids: [16777215 11041] ) ] spids: [16777215 11062] ) (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: [11077] ) spids: [11073 11076] ) ] spids: [16777215 11070] ) ] spids: [16777215 11091] ) ] )