(CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PORTAGE_READONLY_METADATA) op: Equal rhs: { (DQ ('DEFINED_PHASES DEPEND DESCRIPTION\n') ('\tEAPI HDEPEND HOMEPAGE INHERITED IUSE REQUIRED_USE KEYWORDS LICENSE\n') ('\tPDEPEND PROVIDE RDEPEND REPOSITORY RESTRICT SLOT SRC_URI') ) } spids: [23] ) ] spids: [23] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PORTAGE_READONLY_VARS) op: Equal rhs: { (DQ ('D EBUILD EBUILD_PHASE EBUILD_PHASE_FUNC ') ('\tEBUILD_SH_ARGS ECLASSDIR EMERGE_FROM FILESDIR MERGE_TYPE ') ('\tPM_EBUILD_HOOK_DIR ') ('\tPORTAGE_ACTUAL_DISTDIR PORTAGE_ARCHLIST PORTAGE_BASHRC ') ('\tPORTAGE_BINPKG_FILE PORTAGE_BINPKG_TAR_OPTS PORTAGE_BINPKG_TMPFILE ') ('\tPORTAGE_BIN_PATH PORTAGE_BUILDDIR PORTAGE_BUILD_GROUP ') ('\tPORTAGE_BUILD_USER PORTAGE_BUNZIP2_COMMAND ') ('\tPORTAGE_BZIP2_COMMAND PORTAGE_COLORMAP PORTAGE_CONFIGROOT ') ('\tPORTAGE_DEBUG PORTAGE_DEPCACHEDIR PORTAGE_EBUILD_EXIT_FILE ') ('\tPORTAGE_ECLASS_LOCATIONS ') ('\tPORTAGE_GID PORTAGE_GRPNAME PORTAGE_INST_GID PORTAGE_INST_UID ') ('\tPORTAGE_INTERNAL_CALLER PORTAGE_IPC_DAEMON PORTAGE_IUSE PORTAGE_LOG_FILE ') ('\tPORTAGE_MUTABLE_FILTERED_VARS PORTAGE_OVERRIDE_EPREFIX ') ('\tPORTAGE_PYM_PATH PORTAGE_PYTHON PORTAGE_PYTHONPATH ') ('\tPORTAGE_READONLY_METADATA PORTAGE_READONLY_VARS ') ('\tPORTAGE_REPO_NAME PORTAGE_REPOSITORIES PORTAGE_RESTRICT ') ('\tPORTAGE_SAVED_READONLY_VARS PORTAGE_SIGPIPE_STATUS ') ('\tPORTAGE_TMPDIR PORTAGE_UPDATE_ENV PORTAGE_USERNAME ') ('\tPORTAGE_VERBOSE PORTAGE_WORKDIR_MODE PORTAGE_XATTR_EXCLUDE ') ('\tPORTDIR ') ('\tREPLACING_VERSIONS REPLACED_BY_VERSION T WORKDIR ') ('\t__PORTAGE_HELPER __PORTAGE_TEST_HARDLINK_LOCKS') ) } spids: [31] ) ] spids: [31] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PORTAGE_SAVED_READONLY_VARS) op: Equal rhs: {(DQ ('A CATEGORY P PF PN PR PV PVR'))} spids: [79] ) ] spids: [79] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PORTAGE_MUTABLE_FILTERED_VARS) op: Equal rhs: {(DQ ('AA HOSTNAME'))} spids: [97] ) ] spids: [97] ) (FuncDef name: __filter_readonly_variables body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs:(LhsName name:x) op:Equal spids:[238]) (assign_pair lhs:(LhsName name:filtered_vars) op:Equal spids:[240]) ] spids: [236] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:readonly_bash_vars) op: Equal rhs: { (DQ ('BASHOPTS BASHPID DIRSTACK EUID\n') ('\t\tFUNCNAME GROUPS PIPESTATUS PPID SHELLOPTS UID') ) } spids: [245] ) ] spids: [243] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:bash_misc_vars) op: Equal rhs: { (DQ ('BASH BASH_.* COLUMNS COMP_WORDBREAKS HISTCMD\n') ('\t\tHISTFILE HOSTNAME HOSTTYPE IFS LINENO MACHTYPE OLDPWD\n') ('\t\tOPTERR OPTIND OSTYPE POSIXLY_CORRECT PS4 PWD RANDOM\n') ('\t\tSECONDS SHLVL _') ) } spids: [254] ) ] spids: [252] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:filtered_sandbox_vars) op: Equal rhs: { (DQ ('SANDBOX_ACTIVE SANDBOX_BASHRC\n') ('\t\tSANDBOX_DEBUG_LOG SANDBOX_DISABLED SANDBOX_LIB\n') ('\t\tSANDBOX_LOG SANDBOX_ON') ) } spids: [265] ) ] spids: [263] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:binpkg_untrusted_vars) op: Equal rhs: {(DQ ('CATEGORY P PF PN PR PV PVR'))} spids: [279] ) ] spids: [277] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:misc_garbage_vars) op: Equal rhs: {(DQ (_portage_filter_opts))} spids: [287] ) ] spids: [285] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:filtered_vars) op: Equal rhs: { (DQ ($ VSub_Name '$readonly_bash_vars') (' ') ($ VSub_Name '$bash_misc_vars') ('\n') ('\t\t') ($ VSub_Name '$PORTAGE_READONLY_VARS') (' ') ($ VSub_Name '$misc_garbage_vars') ) } spids: [293] ) ] spids: [293] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(___eapi_has_prefix_variables)}) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:filtered_vars) op: PlusEqual rhs: {(DQ (' ED EPREFIX EROOT'))} spids: [323] ) ] spids: [323] ) ] spids: [16777215 320] ) ] spids: [16777215 329] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(has)} {(--filter-sandbox)} {($ VSub_Star '$*')}) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:filtered_vars) op: Equal rhs: {(DQ (${ VSub_Name filtered_vars) (' SANDBOX_.*'))} spids: [346] ) ] spids: [346] ) ] spids: [16777215 343] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:filtered_vars) op: Equal rhs: { (DQ (${ VSub_Name filtered_vars) (' ') (${ VSub_Name filtered_sandbox_vars)) } spids: [358] ) ] spids: [358] ) ] spids: [355 370] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(has)} {(--filter-features)} {($ VSub_Star '$*')}) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:filtered_vars) op: Equal rhs: {(DQ (${ VSub_Name filtered_vars) (' FEATURES PORTAGE_FEATURES'))} spids: [386] ) ] spids: [386] ) ] spids: [16777215 383] ) ] spids: [16777215 395] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(has)} {(--filter-path)} {($ VSub_Star '$*')}) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:filtered_vars) op: PlusEqual rhs: {(DQ (' PATH'))} spids: [411] ) ] spids: [411] ) ] spids: [16777215 408] ) ] spids: [16777215 417] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(has)} {(--filter-locale)} {($ VSub_Star '$*')}) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:filtered_vars) op: PlusEqual rhs: { (DQ (' LANG LC_ALL LC_COLLATE\n') ('\t\t\tLC_CTYPE LC_MESSAGES LC_MONETARY\n') ('\t\t\tLC_NUMERIC LC_PAPER LC_TIME') ) } spids: [433] ) ] spids: [433] ) ] spids: [16777215 430] ) ] spids: [16777215 441] ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [(C {(has)} {(--allow-extra-vars)} {($ VSub_Star '$*')})] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ (${ VSub_Name EMERGE_FROM))} {(Lit_Other '=')} {(binary)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:filtered_vars) op: PlusEqual rhs: {(DQ (' ') (${ VSub_Name binpkg_untrusted_vars))} spids: [488] ) ] spids: [488] ) ] spids: [16777215 477] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:filtered_vars) op: PlusEqual rhs: {(DQ (' ') (${ VSub_Name PORTAGE_SAVED_READONLY_VARS))} spids: [500] ) ] spids: [500] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:filtered_vars) op: PlusEqual rhs: {(DQ (' ') (${ VSub_Name PORTAGE_MUTABLE_FILTERED_VARS))} spids: [509] ) ] spids: [509] ) ] spids: [497 518] ) ] spids: [16777215 456] ) ] spids: [16777215 521] ) (AndOr ops: [Op_DPipe] children: [ (C { (DQ (BracedVarSub token: <VSub_Name PORTAGE_PYTHON> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {(Lit_Slash /) (usr) (Lit_Slash /) (bin) (Lit_Slash /) (python)} ) spids: [526 535] ) ) } {(DQ (${ VSub_Name PORTAGE_BIN_PATH)) (/filter-bash-environment.py)} {(DQ (${ VSub_Name filtered_vars))} ) (C {(die)} {(DQ ('filter-bash-environment.py failed'))}) ] ) ] spids: [233] ) spids: [229 232] ) (FuncDef name: __preprocess_ebuild_env body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:_portage_filter_opts) op: Equal rhs: {(DQ ('--filter-features --filter-locale --filter-path --filter-sandbox'))} spids: [592] ) ] spids: [590] ) (AndOr ops: [Op_DPipe] children: [ (C {(Lit_Other '[')} {(-f)} {(DQ (${ VSub_Name T) (/environment.raw))} {(Lit_Other ']')}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] ) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(__filter_readonly_variables)} {($ VSub_Name '$_portage_filter_opts')}] redirects: [ (Redir op: <Redir_Less '<'> fd: 16777215 arg_word: {(DQ (${ VSub_Name T)) (/environment)} ) (Redir op: <Redir_DGreat '>>'> fd: 16777215 arg_word: {(DQ ($ VSub_Name '$T') (/environment.filtered))} ) ] ) (ControlFlow token: <ControlFlow_Return return> arg_word: {($ VSub_QMark '$?')} ) ] ) (C {(unset)} {(_portage_filter_opts)}) (AndOr ops: [Op_DPipe] children: [ (C {(mv)} {(DQ (${ VSub_Name T)) (/environment.filtered)} {(DQ (${ VSub_Name T)) (/environment)} ) (ControlFlow token: <ControlFlow_Return return> arg_word: {($ VSub_QMark '$?')} ) ] ) (AndOr ops: [Op_DPipe] children: [ (C {(rm)} {(-f)} {(DQ (${ VSub_Name T) (/environment.success))}) (ControlFlow token: <ControlFlow_Return return> arg_word: {($ VSub_QMark '$?')} ) ] ) (Subshell child: (CommandList children: [ (C {(export)} {(Lit_VarLike 'SANDBOX_ON=') (1)}) (AndOr ops: [Op_DPipe] children: [ (C {(source)} {(DQ (${ VSub_Name T) (/environment))}) (ControlFlow token: <ControlFlow_Exit exit> arg_word: {($ VSub_QMark '$?')} ) ] ) (C {(export)} {(Lit_VarLike 'SANDBOX_ON=') (0)}) (AndOr ops: [Op_DPipe] children: [ (C {(source)} {(DQ (${ VSub_Name PORTAGE_BIN_PATH) (/save-ebuild-env.sh))}) (ControlFlow token: <ControlFlow_Exit exit> arg_word: {($ VSub_QMark '$?')} ) ] ) (AndOr ops: [Op_DPipe] children: [ (C {(__save_ebuild_env)}) (ControlFlow token: <ControlFlow_Exit exit> arg_word: {($ VSub_QMark '$?')} ) ] ) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand redirects: [ (Redir op: <Redir_DGreat '>>'> fd: 16777215 arg_word: {(DQ ($ VSub_Name '$T') (/environment.success))} ) ] ) (ControlFlow token: <ControlFlow_Exit exit> arg_word: {($ VSub_QMark '$?')} ) ] ) ] ) redirects: [ (Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(DQ (${ VSub_Name T) (/environment.filtered))} ) ] spids: [727 839] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:retval) op:Equal spids:[853])] spids: [851] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-e)} {(DQ (${ VSub_Name T) (/environment.success))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [{(__filter_readonly_variables)} {(--filter-features)}] redirects: [ (Redir op: <Redir_Less '<'> fd: 16777215 arg_word: {(DQ (${ VSub_Name T) (/environment.filtered))} ) (Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(DQ (${ VSub_Name T) (/environment))} ) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:retval) op: Equal rhs: {($ VSub_QMark '$?')} spids: [901] ) ] spids: [901] ) ] spids: [16777215 873] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:retval) op:Equal rhs:{(1)} spids:[908])] spids: [908] ) ] spids: [905 912] ) (C {(rm)} {(-f)} (BracedWordTree parts: [ (DQ (${ VSub_Name T)) (/environment.) (BracedAltPart words:[{(filtered)} {(raw)} {(success)}]) ] ) ) (ControlFlow token: <ControlFlow_Return return> arg_word: {(${ VSub_Name retval)} ) ] spids: [587] ) spids: [583 586] ) (FuncDef name: __ebuild_phase body: (BraceGroup children: [ (AndOr ops: [Op_DAmp] children: [ (SimpleCommand words: [{(Assign_Declare declare)} {(-F)} {(DQ ($ VSub_Number '$1'))}] redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)})] ) (C {(__qa_call)} {($ VSub_Number '$1')}) ] ) ] spids: [947] ) spids: [943 946] ) (FuncDef name: __ebuild_phase_with_hooks body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs:(LhsName name:x) op:Equal spids:[979]) (assign_pair lhs: (LhsName name:phase_name) op: Equal rhs: {(${ VSub_Number 1)} spids: [981] ) ] spids: [977] ) (ForEach iter_name: x iter_words: [ (BracedWordTree parts: [(BracedAltPart words:[{(pre_)} {} {(post_)}]) (${ VSub_Name phase_name)] ) ] do_arg_iter: F body: (DoGroup children:[(C {(__ebuild_phase)} {(${ VSub_Name x)})] spids:[1005 1015]) spids: [992 1003] ) ] spids: [974] ) spids: [970 973] ) (FuncDef name: __dyn_pretend body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_e child: {($ VSub_Name '$PORTAGE_BUILDDIR') (/.pretended)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(__vecho)} { (DQ (">>> It appears that '") ($ VSub_Name '$PF') ("' is already pretended; skipping.") ) } ) (C {(__vecho)} { (DQ (">>> Remove '") ($ VSub_Name '$PORTAGE_BUILDDIR') ("/.pretended' to force pretend.") ) } ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [16777215 1040] ) ] spids: [16777215 1066] ) (C {(__ebuild_phase)} {(pre_pkg_pretend)}) (C {(__ebuild_phase)} {(pkg_pretend)}) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand redirects: [ (Redir op: <Redir_DGreat '>>'> fd: 16777215 arg_word: {(DQ ($ VSub_Name '$PORTAGE_BUILDDIR') (/.pretended))} ) ] ) (C {(die)} {(DQ ('Failed to create ') ($ VSub_Name '$PORTAGE_BUILDDIR') (/.pretended))}) ] ) (C {(__ebuild_phase)} {(post_pkg_pretend)}) ] spids: [1024] ) spids: [1020 1023] ) (FuncDef name: __dyn_setup body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_e child: {($ VSub_Name '$PORTAGE_BUILDDIR') (/.setuped)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(__vecho)} { (DQ (">>> It appears that '") ($ VSub_Name '$PF') ("' is already setup; skipping.") ) } ) (C {(__vecho)} { (DQ (">>> Remove '") ($ VSub_Name '$PORTAGE_BUILDDIR') ("/.setuped' to force setup.") ) } ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [16777215 1126] ) ] spids: [16777215 1152] ) (C {(__ebuild_phase)} {(pre_pkg_setup)}) (C {(__ebuild_phase)} {(pkg_setup)}) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand redirects: [ (Redir op: <Redir_DGreat '>>'> fd: 16777215 arg_word: {(DQ ($ VSub_Name '$PORTAGE_BUILDDIR') (/.setuped))} ) ] ) (C {(die)} {(DQ ('Failed to create ') ($ VSub_Name '$PORTAGE_BUILDDIR') (/.setuped))}) ] ) (C {(__ebuild_phase)} {(post_pkg_setup)}) ] spids: [1110] ) spids: [1106 1109] ) (FuncDef name: __dyn_unpack body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_f child: {(${ VSub_Name PORTAGE_BUILDDIR) (/.unpacked)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(__vecho)} {(DQ ('>>> WORKDIR is up-to-date, keeping...'))}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [16777215 1214] ) ] spids: [16777215 1229] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(KW_Bang '!')} {(-d)} {(DQ (${ VSub_Name WORKDIR))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (AndOr ops: [Op_DPipe] children: [ (C {(install)} {(-m) (BracedVarSub token: <VSub_Name PORTAGE_WORKDIR_MODE> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(0700)}) spids: [1255 1259] ) } {(-d)} {(DQ (${ VSub_Name WORKDIR))} ) (C {(die)} {(DQ ("Failed to create dir '") (${ VSub_Name WORKDIR) ("'"))}) ] ) ] spids: [16777215 1249] ) ] spids: [16777215 1282] ) (AndOr ops: [Op_DPipe] children: [ (C {(cd)} {(DQ (${ VSub_Name WORKDIR))}) (C {(die)} { (DQ ('Directory change failed: ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("cd '") (${ VSub_Name WORKDIR) ("'") (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ) } ) ] ) (C {(__ebuild_phase)} {(pre_src_unpack)}) (C {(__vecho)} {(DQ ('>>> Unpacking source...'))}) (C {(__ebuild_phase)} {(src_unpack)}) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand redirects: [ (Redir op: <Redir_DGreat '>>'> fd: 16777215 arg_word: {(DQ ($ VSub_Name '$PORTAGE_BUILDDIR') (/.unpacked))} ) ] ) (C {(die)} {(DQ ('Failed to create ') ($ VSub_Name '$PORTAGE_BUILDDIR') (/.unpacked))}) ] ) (C {(__vecho)} {(DQ ('>>> Source unpacked in ') (${ VSub_Name WORKDIR))}) (C {(__ebuild_phase)} {(post_src_unpack)}) ] spids: [1196] ) spids: [1192 1195] ) (FuncDef name: __dyn_clean body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-z)} {(DQ (${ VSub_Name PORTAGE_BUILDDIR))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(DQ ('Aborting clean phase because PORTAGE_BUILDDIR is unset!'))}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] spids: [16777215 1385] ) (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(KW_Bang '!')} {(-d)} {(DQ (${ VSub_Name PORTAGE_BUILDDIR))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [(ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})] spids: [1400 1418] ) ] spids: [16777215 1426] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(has)} {(chflags)} {($ VSub_Name '$FEATURES')}) terminator: <Op_Semi ';'> ) ] action: [ (C {(chflags)} {(-R)} {(noschg) (Lit_Comma ',') (nouchg) (Lit_Comma ',') (nosappnd) (Lit_Comma ',') (nouappnd) } {(DQ (${ VSub_Name PORTAGE_BUILDDIR))} ) (SimpleCommand words: [ {(chflags)} {(-R)} {(nosunlnk) (Lit_Comma ',') (nouunlnk)} {(DQ (${ VSub_Name PORTAGE_BUILDDIR))} ] redirects: [(Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})] ) ] spids: [16777215 1439] ) ] spids: [16777215 1479] ) (AndOr ops: [Op_DPipe] children: [ (C {(cd)} {(DQ (${ VSub_Name PORTAGE_PYM_PATH))}) (C {(die)} {(DQ ("PORTAGE_PYM_PATH does not exist: '") (${ VSub_Name PORTAGE_PYM_PATH) ("'"))} ) ] ) (C {(rm)} {(-rf)} {(DQ (${ VSub_Name PORTAGE_BUILDDIR) (/image))} {(DQ (${ VSub_Name PORTAGE_BUILDDIR) (/homedir))} ) (C {(rm)} {(-f)} {(DQ (${ VSub_Name PORTAGE_BUILDDIR) (/.installed))}) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DPipe Op_DAmp] children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_GlobEqual left: {($ VSub_Name '$EMERGE_FROM')} right: {(binary)} ) ) (Pipeline children: [(C {(has)} {(keeptemp)} {($ VSub_Name '$FEATURES')})] negated: T ) (Pipeline children: [(C {(has)} {(keepwork)} {($ VSub_Name '$FEATURES')})] negated: T ) ] ) terminator: <Op_Semi ';'> ) ] action: [(C {(rm)} {(-rf)} {(DQ (${ VSub_Name T))})] spids: [16777215 1583] ) ] spids: [16777215 1597] ) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DPipe] children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_GlobEqual left: {($ VSub_Name '$EMERGE_FROM')} right: {(binary)} ) ) (Pipeline children: [(C {(has)} {(keepwork)} {($ VSub_Name '$FEATURES')})] negated: T ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (C {(rm)} {(-f)} (BracedWordTree parts: [ (DQ ($ VSub_Name '$PORTAGE_BUILDDIR')) (/.) (BracedAltPart words: [ {(ebuild_changed)} {(logid)} {(pretended)} {(setuped)} {(unpacked)} {(prepared)} ] ) ] ) (BracedWordTree parts: [ (DQ ($ VSub_Name '$PORTAGE_BUILDDIR')) (/.) (BracedAltPart words: [{(configured)} {(compiled)} {(tested)} {(packaged)}] ) ] ) {(DQ ($ VSub_Name '$PORTAGE_BUILDDIR')) (/.die_hooks)} (BracedWordTree parts: [ (DQ ($ VSub_Name '$PORTAGE_BUILDDIR')) (/.ipc_) (BracedAltPart words: [{(KW_In in)} {(out)} {(lock)}] ) ] ) {(DQ ($ VSub_Name '$PORTAGE_BUILDDIR')) (/.exit_status)} ) (C {(rm)} {(-rf)} {(DQ (${ VSub_Name PORTAGE_BUILDDIR) (/build-info))}) (C {(rm)} {(-rf)} {(DQ (${ VSub_Name WORKDIR))}) (C {(rm)} {(-f)} {(DQ (${ VSub_Name PORTAGE_BUILDDIR) (/files))}) ] spids: [16777215 1624] ) ] spids: [16777215 1730] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-f)} {(DQ (${ VSub_Name PORTAGE_BUILDDIR) (/.unpacked))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Pipeline children: [ (C {(find)} {(DQ (${ VSub_Name PORTAGE_BUILDDIR))} {(-type)} {(d)} {(KW_Bang '!')} {(-regex)} {(DQ ('^') (${ VSub_Name WORKDIR))} ) (C {(sort)} {(-r)}) (C {(tr)} {(DQ (Lit_Other '\\') (n))} {(DQ (Lit_Other '\\') (0))}) (SimpleCommand words: [{($ VSub_Name '$XARGS')} {(-0)} {(rmdir)}] redirects: [ (Redir op: <Redir_AndGreat '&>'> fd: 16777215 arg_word: {(/dev/null)} ) ] ) ] negated: F ) ] spids: [16777215 1750] ) ] spids: [16777215 1808] ) (C {(rm)} {(-rf)} {(DQ (${ VSub_Name PORTAGE_BUILDDIR) (/distdir))}) (SimpleCommand words: [{(rmdir)} {(DQ ($ VSub_Name '$PORTAGE_BUILDDIR'))}] redirects: [(Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})] ) (C {(true)}) ] spids: [1367] ) spids: [1363 1366] ) (FuncDef name: __abort_handler body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:msg) op:Equal spids:[1858])] spids: [1856] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$2'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ (fail))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:msg) op: Equal rhs: { (DQ (${ VSub_Name EBUILD) (': ') (${ VSub_Number 1) (' aborted; exiting.')) } spids: [1882] ) ] spids: [1882] ) ] spids: [16777215 1879] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:msg) op: Equal rhs: {(DQ (${ VSub_Name EBUILD) (': ') (${ VSub_Number 1) (' failed; exiting.'))} spids: [1898] ) ] spids: [1898] ) ] spids: [1895 1911] ) (C {(echo)}) (C {(echo)} {(DQ ($ VSub_Name '$msg'))}) (C {(echo)}) (C {(eval)} {(${ VSub_Number 3)}) (C {(trap)} {(-)} {(SIGINT)} {(SIGQUIT)}) ] spids: [1853] ) spids: [1849 1852] ) (FuncDef name: __abort_prepare body: (BraceGroup children: [ (C {(__abort_handler)} {(src_prepare)} {($ VSub_Number '$1')}) (C {(rm)} {(-f)} {(DQ ($ VSub_Name '$PORTAGE_BUILDDIR') (/.prepared))}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [1953] ) spids: [1949 1952] ) (FuncDef name: __abort_configure body: (BraceGroup children: [ (C {(__abort_handler)} {(src_configure)} {($ VSub_Number '$1')}) (C {(rm)} {(-f)} {(DQ ($ VSub_Name '$PORTAGE_BUILDDIR') (/.configured))}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [1984] ) spids: [1980 1983] ) (FuncDef name: __abort_compile body: (BraceGroup children: [ (C {(__abort_handler)} {(DQ (src_compile))} {($ VSub_Number '$1')}) (C {(rm)} {(-f)} {(DQ (${ VSub_Name PORTAGE_BUILDDIR) (/.compiled))}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [2015] ) spids: [2011 2014] ) (FuncDef name: __abort_test body: (BraceGroup children: [ (C {(__abort_handler)} {(DQ (__dyn_test))} {($ VSub_Number '$1')}) (C {(rm)} {(-f)} {(DQ (${ VSub_Name PORTAGE_BUILDDIR) (/.tested))}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [2050] ) spids: [2046 2049] ) (FuncDef name: __abort_install body: (BraceGroup children: [ (C {(__abort_handler)} {(DQ (src_install))} {($ VSub_Number '$1')}) (C {(rm)} {(-rf)} {(DQ (${ VSub_Name PORTAGE_BUILDDIR) (/image))}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [2085] ) spids: [2081 2084] ) (FuncDef name: __has_phase_defined_up_to body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:phase) op:Equal spids:[2125])] spids: [2123] ) (ForEach iter_name: phase iter_words: [{(unpack)} {(prepare)} {(configure)} {(compile)} {(install)}] do_arg_iter: F body: (DoGroup children: [ (AndOr ops: [Op_DAmp] children: [ (C {(has)} {(${ VSub_Name phase)} {(${ VSub_Name DEFINED_PHASES)}) (ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] ) (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(${ VSub_Name phase)} right: {($ VSub_Number '$1')} ) ) (ControlFlow token: <ControlFlow_Return return> arg_word: {(1)} ) ] ) ] spids: [2145 2184] ) spids: [2133 2143] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] spids: [2120] ) spids: [2116 2119] ) (FuncDef name: __dyn_prepare body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_e child: {($ VSub_Name '$PORTAGE_BUILDDIR') (/.prepared)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(__vecho)} { (DQ (">>> It appears that '") ($ VSub_Name '$PF') ("' is already prepared; skipping.") ) } ) (C {(__vecho)} { (DQ (">>> Remove '") ($ VSub_Name '$PORTAGE_BUILDDIR') ("/.prepared' to force prepare.") ) } ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [16777215 2219] ) ] spids: [16777215 2245] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr:(BoolUnary op_id:BoolUnary_d child:{($ VSub_Name '$S')})) terminator: <Op_Semi ';'> ) ] action: [(C {(cd)} {(DQ (${ VSub_Name S))})] spids: [16777215 2261] ) (if_arm cond: [ (Sentence child: (C {(___eapi_has_S_WORKDIR_fallback)}) terminator: <Op_Semi ';'> ) ] action: [(C {(cd)} {(DQ (${ VSub_Name WORKDIR))})] spids: [2273 2278] ) (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolUnary op_id:BoolUnary_z child:{(${ VSub_Name A)}) ) (Pipeline children: [(C {(__has_phase_defined_up_to)} {(prepare)})] negated: T ) ] ) terminator: <Op_Semi ';'> ) ] action: [(C {(cd)} {(DQ (${ VSub_Name WORKDIR))})] spids: [2290 2311] ) ] else_action: [ (C {(die)} {(DQ ("The source directory '") (${ VSub_Name S) ("' doesn't exist"))}) ] spids: [2323 2337] ) (C {(trap)} {(__abort_prepare)} {(SIGINT)} {(SIGQUIT)}) (C {(__ebuild_phase)} {(pre_src_prepare)}) (C {(__vecho)} {(DQ ('>>> Preparing source in ') ($ VSub_Name '$PWD') (' ...'))}) (C {(__ebuild_phase)} {(src_prepare)}) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DAmp] children: [ (C {(___eapi_has_eapply_user)}) (DBracket expr: (LogicalNot child: (BoolUnary op_id: BoolUnary_f child: {(${ VSub_Name T) (/.portage_user_patches_applied)} ) ) ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (C {(die)} {(DQ ('eapply_user (or default) must be called in src_prepare()!'))}) ] spids: [16777215 2395] ) ] spids: [16777215 2405] ) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand redirects: [ (Redir op: <Redir_DGreat '>>'> fd: 16777215 arg_word: {(DQ ($ VSub_Name '$PORTAGE_BUILDDIR') (/.prepared))} ) ] ) (C {(die)} {(DQ ('Failed to create ') ($ VSub_Name '$PORTAGE_BUILDDIR') (/.prepared))}) ] ) (C {(__vecho)} {(DQ ('>>> Source prepared.'))}) (C {(__ebuild_phase)} {(post_src_prepare)}) (C {(trap)} {(-)} {(SIGINT)} {(SIGQUIT)}) ] spids: [2202] ) spids: [2198 2201] ) (FuncDef name: __start_distcc body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DAmp] children: [ (C {(has)} {(distcc)} {($ VSub_Name '$FEATURES')}) (C {(has)} {(distcc-pump)} {($ VSub_Name '$FEATURES')}) ] ) terminator: <Op_Semi ';'> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DPipe] children: [ (DBracket expr: (BoolUnary op_id: BoolUnary_z child: {($ VSub_Name '$INCLUDE_SERVER_PORT')} ) ) (DBracket expr: (LogicalNot child: (BoolUnary op_id: BoolUnary_w child: {($ VSub_Name '$INCLUDE_SERVER_PORT')} ) ) ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (C {(eval)} { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(pump)} {(--startup)}) (C {(grep)} {(-v)} {(PATH)}) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [2523 2535] ) } ) (C {(trap)} {(DQ ('pump --shutdown >/dev/null'))} {(EXIT)}) ] spids: [16777215 2514] ) ] spids: [16777215 2547] ) ] spids: [16777215 2487] ) ] spids: [16777215 2550] ) ] spids: [2466] ) spids: [2462 2465] ) (FuncDef name: __dyn_configure body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_e child: {($ VSub_Name '$PORTAGE_BUILDDIR') (/.configured)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(__vecho)} { (DQ (">>> It appears that '") ($ VSub_Name '$PF') ("' is already configured; skipping.") ) } ) (C {(__vecho)} { (DQ (">>> Remove '") ($ VSub_Name '$PORTAGE_BUILDDIR') ("/.configured' to force configuration.") ) } ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [16777215 2576] ) ] spids: [16777215 2602] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr:(BoolUnary op_id:BoolUnary_d child:{($ VSub_Name '$S')})) terminator: <Op_Semi ';'> ) ] action: [(C {(cd)} {(DQ (${ VSub_Name S))})] spids: [16777215 2618] ) (if_arm cond: [ (Sentence child: (C {(___eapi_has_S_WORKDIR_fallback)}) terminator: <Op_Semi ';'> ) ] action: [(C {(cd)} {(DQ (${ VSub_Name WORKDIR))})] spids: [2630 2635] ) (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolUnary op_id:BoolUnary_z child:{(${ VSub_Name A)}) ) (Pipeline children: [(C {(__has_phase_defined_up_to)} {(configure)})] negated: T ) ] ) terminator: <Op_Semi ';'> ) ] action: [(C {(cd)} {(DQ (${ VSub_Name WORKDIR))})] spids: [2647 2668] ) ] else_action: [ (C {(die)} {(DQ ("The source directory '") (${ VSub_Name S) ("' doesn't exist"))}) ] spids: [2680 2694] ) (C {(trap)} {(__abort_configure)} {(SIGINT)} {(SIGQUIT)}) (C {(__start_distcc)}) (C {(__ebuild_phase)} {(pre_src_configure)}) (C {(__vecho)} {(DQ ('>>> Configuring source in ') ($ VSub_Name '$PWD') (' ...'))}) (C {(__ebuild_phase)} {(src_configure)}) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand redirects: [ (Redir op: <Redir_DGreat '>>'> fd: 16777215 arg_word: {(DQ ($ VSub_Name '$PORTAGE_BUILDDIR') (/.configured))} ) ] ) (C {(die)} {(DQ ('Failed to create ') ($ VSub_Name '$PORTAGE_BUILDDIR') (/.configured))}) ] ) (C {(__vecho)} {(DQ ('>>> Source configured.'))}) (C {(__ebuild_phase)} {(post_src_configure)}) (C {(trap)} {(-)} {(SIGINT)} {(SIGQUIT)}) ] spids: [2559] ) spids: [2555 2558] ) (FuncDef name: __dyn_compile body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_e child: {($ VSub_Name '$PORTAGE_BUILDDIR') (/.compiled)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(__vecho)} { (DQ (">>> It appears that '") (${ VSub_Name PF) ("' is already compiled; skipping.") ) } ) (C {(__vecho)} { (DQ (">>> Remove '") ($ VSub_Name '$PORTAGE_BUILDDIR') ("/.compiled' to force compilation.") ) } ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [16777215 2797] ) ] spids: [16777215 2825] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr:(BoolUnary op_id:BoolUnary_d child:{($ VSub_Name '$S')})) terminator: <Op_Semi ';'> ) ] action: [(C {(cd)} {(DQ (${ VSub_Name S))})] spids: [16777215 2841] ) (if_arm cond: [ (Sentence child: (C {(___eapi_has_S_WORKDIR_fallback)}) terminator: <Op_Semi ';'> ) ] action: [(C {(cd)} {(DQ (${ VSub_Name WORKDIR))})] spids: [2853 2858] ) (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolUnary op_id:BoolUnary_z child:{(${ VSub_Name A)}) ) (Pipeline children: [(C {(__has_phase_defined_up_to)} {(compile)})] negated: T ) ] ) terminator: <Op_Semi ';'> ) ] action: [(C {(cd)} {(DQ (${ VSub_Name WORKDIR))})] spids: [2870 2891] ) ] else_action: [ (C {(die)} {(DQ ("The source directory '") (${ VSub_Name S) ("' doesn't exist"))}) ] spids: [2903 2917] ) (C {(trap)} {(__abort_compile)} {(SIGINT)} {(SIGQUIT)}) (C {(__start_distcc)}) (C {(__ebuild_phase)} {(pre_src_compile)}) (C {(__vecho)} {(DQ ('>>> Compiling source in ') ($ VSub_Name '$PWD') (' ...'))}) (C {(__ebuild_phase)} {(src_compile)}) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand redirects: [ (Redir op: <Redir_DGreat '>>'> fd: 16777215 arg_word: {(DQ ($ VSub_Name '$PORTAGE_BUILDDIR') (/.compiled))} ) ] ) (C {(die)} {(DQ ('Failed to create ') ($ VSub_Name '$PORTAGE_BUILDDIR') (/.compiled))}) ] ) (C {(__vecho)} {(DQ ('>>> Source compiled.'))}) (C {(__ebuild_phase)} {(post_src_compile)}) (C {(trap)} {(-)} {(SIGINT)} {(SIGQUIT)}) ] spids: [2780] ) spids: [2776 2779] ) (FuncDef name: __dyn_test body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_e child: {($ VSub_Name '$PORTAGE_BUILDDIR') (/.tested)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(__vecho)} { (DQ ('>>> It appears that ') (${ VSub_Name PN) (' has already been tested; skipping.') ) } ) (C {(__vecho)} { (DQ (">>> Remove '") (${ VSub_Name PORTAGE_BUILDDIR) ("/.tested' to force test.") ) } ) (ControlFlow token:<ControlFlow_Return return>) ] spids: [16777215 3020] ) ] spids: [16777215 3048] ) (C {(trap)} {(DQ (__abort_test))} {(SIGINT)} {(SIGQUIT)}) (C {(__start_distcc)}) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-d)} {(DQ (${ VSub_Name S))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [(C {(cd)} {(DQ (${ VSub_Name S))})] spids: [16777215 3082] ) ] else_action: [(C {(cd)} {(DQ (${ VSub_Name WORKDIR))})] spids: [3094 3106] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(has)} {(test)} {(${ VSub_Name RESTRICT)}) terminator: <Op_Semi ';'> ) ] action: [ (C {(einfo)} {(DQ ('Skipping make test/check due to ebuild restriction.'))}) (C {(__vecho)} { (DQ ('>>> Test phase [disabled because of RESTRICT=test]: ') (${ VSub_Name CATEGORY) (/) (${ VSub_Name PF) ) } ) ] spids: [16777215 3122] ) (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_GlobNEqual left: {(${ VSub_Name EBUILD_FORCE_TEST)} right: {(1)} ) ) (Pipeline children: [(C {(has)} {(test)} {(${ VSub_Name FEATURES)})] negated: T ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (C {(__vecho)} { (DQ ('>>> Test phase [not enabled]: ') (${ VSub_Name CATEGORY) (/) (${ VSub_Name PF) ) } ) ] spids: [3155 3183] ) ] else_action: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:save_sp) op: Equal rhs: {(${ VSub_Name SANDBOX_PREDICT)} spids: [3205] ) ] spids: [3203] ) (C {(addpredict)} {(/)}) (C {(__ebuild_phase)} {(pre_src_test)}) (C {(__vecho)} {(DQ ('>>> Test phase: ') (${ VSub_Name CATEGORY) (/) (${ VSub_Name PF))}) (C {(__ebuild_phase)} {(src_test)}) (C {(__vecho)} {(DQ ('>>> Completed testing ') (${ VSub_Name CATEGORY) (/) (${ VSub_Name PF))} ) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand redirects: [ (Redir op: <Redir_DGreat '>>'> fd: 16777215 arg_word: {(DQ ($ VSub_Name '$PORTAGE_BUILDDIR') (/.tested))} ) ] ) (C {(die)} {(DQ ('Failed to create ') ($ VSub_Name '$PORTAGE_BUILDDIR') (/.tested))}) ] ) (C {(__ebuild_phase)} {(post_src_test)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SANDBOX_PREDICT) op: Equal rhs: {(${ VSub_Name save_sp)} spids: [3281] ) ] spids: [3281] ) ] spids: [3200 3287] ) (C {(trap)} {(-)} {(SIGINT)} {(SIGQUIT)}) ] spids: [3003] ) spids: [2999 3002] ) (FuncDef name: __dyn_install body: (BraceGroup children: [ (AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$PORTAGE_BUILDDIR'))} {(Lit_Other ']')}) (C {(die)} {(DQ (${ VSub_Name FUNCNAME) (': PORTAGE_BUILDDIR is unset'))}) ] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(has)} {(noauto)} {($ VSub_Name '$FEATURES')}) terminator: <Op_Semi ';'> ) ] action: [(C {(rm)} {(-f)} {(DQ (${ VSub_Name PORTAGE_BUILDDIR) (/.installed))})] spids: [16777215 3341] ) (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_e child: {($ VSub_Name '$PORTAGE_BUILDDIR') (/.installed)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(__vecho)} { (DQ (">>> It appears that '") (${ VSub_Name PF) ("' is already installed; skipping.") ) } ) (C {(__vecho)} { (DQ (">>> Remove '") (${ VSub_Name PORTAGE_BUILDDIR) ("/.installed' to force install.") ) } ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [3356 3369] ) ] spids: [16777215 3399] ) (C {(trap)} {(DQ (__abort_install))} {(SIGINT)} {(SIGQUIT)}) (C {(__start_distcc)}) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id:BoolUnary_n child:{($ VSub_Name '$QA_PREBUILT')}) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:QA_EXECSTACK) op: PlusEqual rhs: {(DQ (' ') ($ VSub_Name '$QA_PREBUILT'))} spids: [3452] ) ] spids: [3452] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:QA_TEXTRELS) op: PlusEqual rhs: {(DQ (' ') ($ VSub_Name '$QA_PREBUILT'))} spids: [3459] ) ] spids: [3459] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:QA_WX_LOAD) op: PlusEqual rhs: {(DQ (' ') ($ VSub_Name '$QA_PREBUILT'))} spids: [3466] ) ] spids: [3466] ) (ForEach iter_name: x iter_words: [{(QA_DT_NEEDED)} {(QA_FLAGS_IGNORED)} {(QA_PRESTRIPPED)} {(QA_SONAME)}] do_arg_iter: F body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobEqual left: { (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [ {(Assign_Declare declare)} {(-p)} {($ VSub_Name '$x')} ] redirects: [ (Redir op: <Redir_Great '2>'> fd: 2 arg_word: {(/dev/null)} ) ] ) ] ) left_token: <Left_CommandSub '$('> spids: [3505 3514] ) } right: {(declare) (EscapedLiteralPart token: <Lit_EscapedChar '\\ '> ) (BoolUnary_a -a) (Lit_Other '*') } ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(eval)} { (DQ ($ VSub_Name '$x') ('=(') (EscapedLiteralPart token: <Lit_EscapedChar '\\"'> ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('{') ($ VSub_Name '$x') ('[@]}') (EscapedLiteralPart token: <Lit_EscapedChar '\\"'> ) (' ') (BracedVarSub token: <VSub_Name QA_PREBUILT> suffix_op: (PatSub pat: { (EscapedLiteralPart token: <Lit_EscapedChar '\\*'> ) } replace: {('.*')} do_all: T do_prefix: F do_suffix: F ) spids: [3542 3549] ) (')') ) } ) ] spids: [16777215 3527] ) ] else_action: [ (C {(eval)} { (DQ ($ VSub_Name '$x') ('+=') (EscapedLiteralPart token: <Lit_EscapedChar '\\"'> ) (' ') (BracedVarSub token: <VSub_Name QA_PREBUILT> suffix_op: (PatSub pat: {(EscapedLiteralPart token:<Lit_EscapedChar '\\*'>)} replace: {('.*')} do_all: T do_prefix: F do_suffix: F ) spids: [3564 3571] ) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ) } ) ] spids: [3554 3576] ) ] spids: [3498 3579] ) spids: [3487 3496] ) (C {(unset)} {(x)}) ] spids: [16777215 3445] ) ] spids: [16777215 3588] ) (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolUnary op_id:BoolUnary_n child:{($ VSub_Name '$QA_PRESTRIPPED')}) ) (C {(export)} {(QA_PRESTRIPPED)}) ] ) (C {(eval)} { (DQ ('[[ -n ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (QA_PRESTRIPPED_) (BracedVarSub token: <VSub_Name ARCH> suffix_op: (PatSub pat:{(-)} replace:{(_)} do_all:F do_prefix:F do_suffix:F) spids: [3616 3622] ) (' ]] && ') ('\t\texport QA_PRESTRIPPED_') (BracedVarSub token: <VSub_Name ARCH> suffix_op: (PatSub pat:{(-)} replace:{(_)} do_all:F do_prefix:F do_suffix:F) spids: [3626 3632] ) ) } ) (C {(__ebuild_phase)} {(pre_src_install)}) (If arms: [ (if_arm cond: [ (Sentence child: (C {(___eapi_has_prefix_variables)}) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_x) op: Equal rhs: {(${ VSub_Name ED)} spids: [3651] ) ] spids: [3651] ) ] spids: [16777215 3648] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_x) op: Equal rhs: {(${ VSub_Name D)} spids: [3660] ) ] spids: [3660] ) ] spids: [3657 3666] ) (C {(rm)} {(-rf)} {(DQ (${ VSub_Name D))}) (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name _x))}) (C {(unset)} {(_x)}) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr:(BoolUnary op_id:BoolUnary_d child:{($ VSub_Name '$S')})) terminator: <Op_Semi ';'> ) ] action: [(C {(cd)} {(DQ (${ VSub_Name S))})] spids: [16777215 3709] ) (if_arm cond: [ (Sentence child: (C {(___eapi_has_S_WORKDIR_fallback)}) terminator: <Op_Semi ';'> ) ] action: [(C {(cd)} {(DQ (${ VSub_Name WORKDIR))})] spids: [3721 3726] ) (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolUnary op_id:BoolUnary_z child:{(${ VSub_Name A)}) ) (Pipeline children: [(C {(__has_phase_defined_up_to)} {(install)})] negated: T ) ] ) terminator: <Op_Semi ';'> ) ] action: [(C {(cd)} {(DQ (${ VSub_Name WORKDIR))})] spids: [3738 3759] ) ] else_action: [ (C {(die)} {(DQ ("The source directory '") (${ VSub_Name S) ("' doesn't exist"))}) ] spids: [3771 3785] ) (C {(__vecho)}) (C {(__vecho)} { (DQ ('>>> Install ') (${ VSub_Name PF) (' into ') (${ VSub_Name D) (' category ') (${ VSub_Name CATEGORY) ) } ) (C {(export)} {(S)} {(D)}) (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 {(__ebuild_phase)} {(src_install)}) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand redirects: [ (Redir op: <Redir_DGreat '>>'> fd: 16777215 arg_word: {(DQ ($ VSub_Name '$PORTAGE_BUILDDIR') (/.installed))} ) ] ) (C {(die)} {(DQ ('Failed to create ') ($ VSub_Name '$PORTAGE_BUILDDIR') (/.installed))}) ] ) (C {(__vecho)} {(DQ ('>>> Completed installing ') (${ VSub_Name PF) (' into ') (${ VSub_Name D))} ) (C {(__vecho)}) (C {(__ebuild_phase)} {(post_src_install)}) (If arms: [ (if_arm cond: [ (Sentence child: (SimpleCommand words: [{(type)} {(-P)} {(du)}] redirects: [ (Redir op: <Redir_AndGreat '&>'> fd: 16777215 arg_word: {(/dev/null)} ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:nsz) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [(C {(du)} {(-ks)} {(DQ (${ VSub_Name WORKDIR))})] ) left_token: <Left_CommandSub '$('> spids: [3938 3948] ) } ] ) } spids: [3935] ) ] spids: [3933] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:isz) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [(C {(du)} {(-ks)} {(DQ (${ VSub_Name D))})] ) left_token: <Left_CommandSub '$('> spids: [3958 3968] ) } ] ) } spids: [3955] ) ] spids: [3953] ) (Subshell child: (CommandList children: [ (FuncDef name: padl body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:s1) op: Equal rhs: {($ VSub_Number '$1')} spids: [3998] ) ] spids: [3996] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:s2) op: Equal rhs: {($ VSub_Number '$2')} spids: [4004] ) ] spids: [4002] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:width) op: Equal rhs: { (BracedVarSub token: <VSub_Name s1> prefix_op: VSub_Pound spids: [4011 4014] ) } spids: [4010] ) ] spids: [4008] ) (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_gt left: { (BracedVarSub token: <VSub_Name s2> prefix_op: VSub_Pound spids: [4019 4022] ) } right: {(${ VSub_Name width)} ) ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:width) op: Equal rhs: { (BracedVarSub token: <VSub_Name s2> prefix_op: VSub_Pound spids: [4035 4038] ) } spids: [4034] ) ] spids: [4034] ) ] ) (C {(printf)} {(DQ ('%*s'))} {(${ VSub_Name width)} {(DQ (${ VSub_Name s1))} ) ] spids: [3993] ) spids: [3989 3992] ) (FuncDef name: human body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:s1) op: Equal rhs: {($ VSub_Number '$1')} spids: [4075] ) ] spids: [4073] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:units) op: Equal rhs: { (ArrayLiteralPart words: [{(KiB)} {(MiB)} {(GiB)} {(TiB)}] ) } spids: [4081] ) ] spids: [4079] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:s1) op: Equal rhs: { (ArithSubPart anode: (ArithBinary op_id: Arith_Star left: (ArithVarRef name:s1) right: (ArithWord w:{(Lit_Digits 10)}) ) spids: [4097 4104] ) } spids: [4096] ) ] spids: [4096] ) (WhileUntil keyword: <KW_While while> cond: [ (Sentence child: (DBracket expr: (LogicalAnd left: (BoolBinary op_id: BoolBinary_gt left: {(${ VSub_Name s1)} right: {(10240)} ) right: (BoolBinary op_id: BoolBinary_gt left: { (BracedVarSub token: <VSub_Name units> prefix_op: VSub_Pound bracket_op: (WholeArray op_id:Lit_At) spids: [4121 4127] ) } right: {(1)} ) ) ) terminator: <Op_Semi ';'> ) ] body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:s1) op: Equal rhs: { (ArithSubPart anode: (ArithBinary op_id: Arith_Slash left: (ArithVarRef name:s1) right: (ArithWord w:{(Lit_Digits 1024)}) ) spids: [4141 4149] ) } spids: [4140] ) ] spids: [4140] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:units) op: Equal rhs: { (ArrayLiteralPart words: [ { (BracedVarSub token: <VSub_Name units> bracket_op: (WholeArray op_id:Lit_At) suffix_op: (Slice begin: (ArithWord w:{(Lit_Digits 1)}) ) spids: [4155 4162] ) } ] ) } spids: [4152] ) ] spids: [4152] ) ] spids: [4137 4167] ) ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:r) op: Equal rhs: { (BracedVarSub token: <VSub_Name s1> suffix_op: (Slice begin: (ArithUnary op_id: Node_UnaryMinus child: (ArithWord w:{(Lit_Digits 1)}) ) ) spids: [4174 4180] ) } spids: [4173] ) ] spids: [4171] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:s1) op: Equal rhs: { (ArithSubPart anode: (ArithBinary op_id: Arith_Slash left: (ArithVarRef name:s1) right: (ArithWord w:{(Lit_Digits 10)}) ) spids: [4184 4191] ) } spids: [4183] ) ] spids: [4183] ) (C {(printf)} {(DQ ('%s.%s %s'))} {(DQ (${ VSub_Name s1))} {(DQ (${ VSub_Name r))} { (DQ (BracedVarSub token: <VSub_Name units> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) spids: [4213 4218] ) ) } ) ] spids: [4070] ) spids: [4066 4069] ) (FuncDef name: size body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:s1) op: Equal rhs: {($ VSub_Number '$1')} spids: [4235] ) ] spids: [4233] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:s2) op: Equal rhs: {($ VSub_Number '$2')} spids: [4241] ) ] spids: [4239] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:out) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(padl)} {(DQ (${ VSub_Name s1))} {(DQ (${ VSub_Name s2))} ) ] ) left_token: <Left_CommandSub '$('> spids: [4249 4263] ) (' KiB') ) } spids: [4247] ) ] spids: [4245] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_gt left: {(${ VSub_Name s1)} right: {(1024)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:s1) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(human)} {(${ VSub_Name s1)}) ] ) left_token: <Left_CommandSub '$('> spids: [4289 4295] ) } spids: [4288] ) ] spids: [4288] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_gt left: {(${ VSub_Name s2)} right: {(1024)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:s2) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(human)} {(${ VSub_Name s2)}) ] ) left_token: <Left_CommandSub '$('> spids: [4318 4324] ) } spids: [4317] ) ] spids: [4317] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:s1) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(padl)} {(DQ (${ VSub_Name s1))} {(DQ (${ VSub_Name s2))} ) ] ) left_token: <Left_CommandSub '$('> spids: [4328 4342] ) } spids: [4327] ) ] spids: [4327] ) ] spids: [16777215 4314] ) ] spids: [16777215 4345] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:out) op: PlusEqual rhs: {(DQ (' (') (${ VSub_Name s1) (')'))} spids: [4348] ) ] spids: [4348] ) ] spids: [16777215 4285] ) ] spids: [16777215 4358] ) (C {(echo)} {(DQ (${ VSub_Name out))}) ] spids: [4230] ) spids: [4226 4229] ) (C {(einfo)} { (DQ ('Final size of build directory: ') (CommandSubPart command_list: (CommandList children: [ (C {(size)} { (BracedVarSub token: <VSub_Name nsz> bracket_op: (ArrayIndex expr: (ArithWord w:{(Lit_Digits 0)}) ) spids: [4380 4385] ) } { (BracedVarSub token: <VSub_Name isz> bracket_op: (ArrayIndex expr: (ArithWord w:{(Lit_Digits 0)}) ) spids: [4387 4392] ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [4377 4393] ) ) } ) (C {(einfo)} { (DQ ('Final size of installed tree: ') (CommandSubPart command_list: (CommandList children: [ (C {(size)} { (BracedVarSub token: <VSub_Name isz> bracket_op: (ArrayIndex expr: (ArithWord w:{(Lit_Digits 0)}) ) spids: [4404 4409] ) } { (BracedVarSub token: <VSub_Name nsz> bracket_op: (ArrayIndex expr: (ArithWord w:{(Lit_Digits 0)}) ) spids: [4411 4416] ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [4401 4417] ) ) } ) ] ) spids: [3982 4421] ) (C {(__vecho)}) ] spids: [16777215 3930] ) ] spids: [16777215 4427] ) (C {(cd)} {(DQ (${ VSub_Name PORTAGE_BUILDDIR)) (/build-info)}) (C {(set)} {(-f)}) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs:(LhsName name:f) op:Equal spids:[4448]) (assign_pair lhs:(LhsName name:x) op:Equal spids:[4450]) ] spids: [4446] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:IFS) op: Equal rhs: { (SingleQuotedPart left: <Left_DollarSingleQuote "$'"> tokens: [ <Char_Literals ' '> <Char_OneChar '\\t'> <Char_OneChar '\\n'> <Char_OneChar '\\r'> ] spids: [4454 4459] ) } spids: [4453] ) ] spids: [4453] ) (ForEach iter_name: f iter_words: [ {(CATEGORY)} {(DEFINED_PHASES)} {(FEATURES)} {(INHERITED)} {(IUSE)} {(PF)} {(PKGUSE)} {(SLOT)} {(KEYWORDS)} {(HOMEPAGE)} {(DESCRIPTION)} ] do_arg_iter: F body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:x) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(echo)} {(-n)} { (BracedVarSub token: <VSub_Name f> prefix_op: VSub_Bang spids: [4503 4506] ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [4498 4507] ) } spids: [4497] ) ] spids: [4497] ) (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolUnary op_id:BoolUnary_n child:{($ VSub_Name '$x')}) ) (SimpleCommand words: [{(echo)} {(DQ ($ VSub_Name '$x'))}] redirects: [ (Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {($ VSub_Name '$f')} ) ] ) ] ) ] spids: [4494 4531] ) spids: [4467 4492] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobNEqual left: {($ VSub_Name '$CATEGORY')} right: {(virtual)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (ForEach iter_name: f iter_words: [ {(ASFLAGS)} {(CBUILD)} {(CC)} {(CFLAGS)} {(CHOST)} {(CTARGET)} {(CXX)} {(CXXFLAGS)} {(EXTRA_ECONF)} {(EXTRA_EINSTALL)} {(EXTRA_MAKE)} {(LDFLAGS)} {(LIBCFLAGS)} {(LIBCXXFLAGS)} {(QA_CONFIGURE_OPTIONS)} {(QA_DESKTOP_FILE)} {(QA_PREBUILT)} {(PROVIDES_EXCLUDE)} {(REQUIRES_EXCLUDE)} ] do_arg_iter: F body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:x) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(echo)} {(-n)} { (BracedVarSub token: <VSub_Name f> prefix_op: VSub_Bang spids: [4612 4615] ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [4607 4616] ) } spids: [4606] ) ] spids: [4606] ) (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolUnary op_id:BoolUnary_n child:{($ VSub_Name '$x')}) ) (SimpleCommand words: [{(echo)} {(DQ ($ VSub_Name '$x'))}] redirects: [ (Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {($ VSub_Name '$f')} ) ] ) ] ) ] spids: [4603 4640] ) spids: [4556 4601] ) (ForEach iter_name: f iter_words: [{(QA_AM_MAINTAINER_MODE)}] do_arg_iter: F body: (DoGroup children: [ (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolUnary op_id: BoolUnary_n child: { (BracedVarSub token: <VSub_Name f> prefix_op: VSub_Bang spids: [4664 4667] ) } ) ) (SimpleCommand words: [ {(echo)} { (DQ (BracedVarSub token: <VSub_Name f> prefix_op: VSub_Bang spids: [4676 4679] ) ) } ] redirects: [ (Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {($ VSub_Name '$f')} ) ] ) ] ) ] spids: [4657 4687] ) spids: [4652 4655] ) ] spids: [16777215 4548] ) ] spids: [16777215 4690] ) (SimpleCommand words: [{(echo)} {(DQ (${ VSub_Name USE))}] redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(USE)})] ) (SimpleCommand words: [ {(echo)} { (DQ (BracedVarSub token: <VSub_Name EAPI> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(0)}) spids: [4709 4713] ) ) } ] redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(EAPI)})] ) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DAmp] children: [ (C {(___eapi_has_prefix_variables)}) (DBracket expr: (BoolUnary op_id:BoolUnary_n child:{(${ VSub_Name EPREFIX)}) ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [{(echo)} {(DQ (${ VSub_Name EPREFIX))}] redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(EPREFIX)})] ) ] spids: [16777215 4751] ) ] spids: [16777215 4767] ) (C {(set)} {(Lit_Other '+') (f)}) (C {(unset)} {(f)}) (C {(cd)} {(DQ (${ VSub_Name PORTAGE_PYM_PATH))}) (Pipeline children: [ (C {(__save_ebuild_env)} {(--exclude-init-phases)}) (SimpleCommand words: [ {(__filter_readonly_variables)} {(--filter-path)} {(--filter-sandbox)} {(--allow-extra-vars)} ] redirects: [ (Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(DQ (${ VSub_Name PORTAGE_BUILDDIR)) (/build-info/environment)} ) ] ) ] negated: F ) (C {(assert)} {(DQ ('__save_ebuild_env failed'))}) (AndOr ops: [Op_DPipe] children: [(C {(cd)} {(DQ (${ VSub_Name PORTAGE_BUILDDIR)) (/build-info)}) (C {(die)})] ) (C {(${ VSub_Name PORTAGE_BZIP2_COMMAND)} {(-f9)} {(environment)}) (C {(cp)} {(DQ (${ VSub_Name EBUILD))} {(DQ (${ VSub_Name PF) (.ebuild))}) (AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {(-n)} {(DQ (${ VSub_Name PORTAGE_REPO_NAME))} {(Lit_Other ']')}) (SimpleCommand words: [{(echo)} {(DQ (${ VSub_Name PORTAGE_REPO_NAME))}] redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(repository)})] ) ] ) (If arms: [ (if_arm cond: [ (AndOr ops: [Op_DPipe] children: [ (C {(has)} {(nostrip)} {(${ VSub_Name FEATURES)} {(${ VSub_Name RESTRICT)}) (C {(has)} {(strip)} {(${ VSub_Name RESTRICT)}) ] ) ] action: [ (SimpleCommand redirects: [(Redir op:<Redir_DGreat '>>'> fd:16777215 arg_word:{(DEBUGBUILD)})] ) ] spids: [16777215 4929] ) ] spids: [16777215 4937] ) (C {(trap)} {(-)} {(SIGINT)} {(SIGQUIT)}) ] spids: [3306] ) spids: [3302 3305] ) (FuncDef name: __dyn_help body: (BraceGroup children: [ (C {(echo)}) (C {(echo)} {(DQ (Portage))}) (C {(echo)} {(DQ ('Copyright 1999-2010 Gentoo Foundation'))}) (C {(echo)}) (C {(echo)} {(DQ ('How to use the ebuild command:'))}) (C {(echo)}) (C {(echo)} {(DQ ('The first argument to ebuild should be an existing .ebuild file.'))}) (C {(echo)}) (C {(echo)} {(DQ ('One or more of the following options can then be specified. If more'))}) (C {(echo)} {(DQ ('than one option is specified, each will be executed in order.'))}) (C {(echo)}) (C {(echo)} {(DQ (' help : show this help screen'))}) (C {(echo)} {(DQ (' pretend : execute package specific pretend actions'))}) (C {(echo)} {(DQ (' setup : execute package specific setup actions'))}) (C {(echo)} {(DQ (' fetch : download source archive(s) and patches'))}) (C {(echo)} {(DQ (' nofetch : display special fetch instructions'))}) (C {(echo)} {(DQ (' digest : create a manifest file for the package'))}) (C {(echo)} {(DQ (' manifest : create a manifest file for the package'))}) (C {(echo)} {(DQ (' unpack : unpack sources (auto-dependencies if needed)'))}) (C {(echo)} {(DQ (' prepare : prepare sources (auto-dependencies if needed)'))}) (C {(echo)} {(DQ (' configure : configure sources (auto-fetch/unpack if needed)'))}) (C {(echo)} {(DQ (' compile : compile sources (auto-fetch/unpack/configure if needed)'))} ) (C {(echo)} {(DQ (' test : test package (auto-fetch/unpack/configure/compile if needed)'))} ) (C {(echo)} {(DQ (' preinst : execute pre-install instructions'))}) (C {(echo)} {(DQ (' postinst : execute post-install instructions'))}) (C {(echo)} {(DQ (' install : install the package to the temporary install directory'))} ) (C {(echo)} {(DQ (' qmerge : merge image into live filesystem, recording files in db'))} ) (C {(echo)} {(DQ (' merge : do fetch, unpack, compile, install and qmerge'))}) (C {(echo)} {(DQ (' prerm : execute pre-removal instructions'))}) (C {(echo)} {(DQ (' postrm : execute post-removal instructions'))}) (C {(echo)} {(DQ (' unmerge : remove package from live filesystem'))}) (C {(echo)} {(DQ (' config : execute package specific configuration actions'))}) (C {(echo)} {(DQ (' package : create a tarball package in ') (${ VSub_Name PKGDIR) (/All))} ) (C {(echo)} {(DQ (' rpm : build a RedHat RPM package'))}) (C {(echo)} {(DQ (' clean : clean up all source and temporary files'))}) (C {(echo)}) (C {(echo)} {(DQ ('The following settings will be used for the ebuild process:'))}) (C {(echo)}) (C {(echo)} {(DQ (' package : ') (${ VSub_Name PF))}) (C {(echo)} {(DQ (' slot : ') (${ VSub_Name SLOT))}) (C {(echo)} {(DQ (' category : ') (${ VSub_Name CATEGORY))}) (C {(echo)} {(DQ (' description : ') (${ VSub_Name DESCRIPTION))}) (C {(echo)} {(DQ (' system : ') (${ VSub_Name CHOST))}) (C {(echo)} {(DQ (' c flags : ') (${ VSub_Name CFLAGS))}) (C {(echo)} {(DQ (' c++ flags : ') (${ VSub_Name CXXFLAGS))}) (C {(echo)} {(DQ (' make flags : ') (${ VSub_Name MAKEOPTS))}) (C {(echo)} {(-n)} {(DQ (' build mode : '))}) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DPipe] children: [ (C {(has)} {(nostrip)} {(${ VSub_Name FEATURES)} {(${ VSub_Name RESTRICT)}) (C {(has)} {(strip)} {(${ VSub_Name RESTRICT)}) ] ) terminator: <Op_Semi ';'> ) ] action: [(C {(echo)} {(DQ ('debug (large)'))})] spids: [16777215 5316] ) ] else_action: [(C {(echo)} {(DQ ('production (stripped)'))})] spids: [5326 5336] ) (C {(echo)} {(DQ (' merge to : ') (${ VSub_Name ROOT))}) (C {(echo)}) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$USE'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} { (DQ ( 'Additionally, support for the following optional features will be enabled:' ) ) } ) (C {(echo)}) (C {(echo)} {(DQ (' ') (${ VSub_Name USE))}) ] spids: [16777215 5365] ) ] spids: [16777215 5388] ) (C {(echo)}) ] spids: [4955] ) spids: [4951 4954] ) (FuncDef name: __ebuild_arg_to_phase body: (BraceGroup children: [ (AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(-ne)} {(1)} {(Lit_Other ']')}) (C {(die)} { (DQ ('expected exactly 1 arg, got ') ($ VSub_Pound '$#') (': ') ($ VSub_Star '$*')) } ) ] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:arg) op: Equal rhs: {($ VSub_Number '$1')} spids: [5439] ) ] spids: [5437] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:phase_func) op:Equal rhs:{(DQ )} spids:[5445])] spids: [5443] ) (Case to_match: {(DQ ($ VSub_Name '$arg'))} arms: [ (case_arm pat_list: [{(pretend)}] action: [ (AndOr ops: [Op_DAmp] children: [ (C {(___eapi_has_pkg_pretend)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:phase_func) op: Equal rhs: {(pkg_pretend)} spids: [5470] ) ] spids: [5470] ) ] ) ] spids: [5460 5461 5474 16777215] ) (case_arm pat_list: [{(setup)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:phase_func) op: Equal rhs: {(pkg_setup)} spids: [5481] ) ] spids: [5481] ) ] spids: [5477 5478 5485 16777215] ) (case_arm pat_list: [{(nofetch)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:phase_func) op: Equal rhs: {(pkg_nofetch)} spids: [5492] ) ] spids: [5492] ) ] spids: [5488 5489 5496 16777215] ) (case_arm pat_list: [{(unpack)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:phase_func) op: Equal rhs: {(src_unpack)} spids: [5503] ) ] spids: [5503] ) ] spids: [5499 5500 5507 16777215] ) (case_arm pat_list: [{(prepare)}] action: [ (AndOr ops: [Op_DAmp] children: [ (C {(___eapi_has_src_prepare)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:phase_func) op: Equal rhs: {(src_prepare)} spids: [5520] ) ] spids: [5520] ) ] ) ] spids: [5510 5511 5524 16777215] ) (case_arm pat_list: [{(configure)}] action: [ (AndOr ops: [Op_DAmp] children: [ (C {(___eapi_has_src_configure)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:phase_func) op: Equal rhs: {(src_configure)} spids: [5537] ) ] spids: [5537] ) ] ) ] spids: [5527 5528 5541 16777215] ) (case_arm pat_list: [{(compile)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:phase_func) op: Equal rhs: {(src_compile)} spids: [5548] ) ] spids: [5548] ) ] spids: [5544 5545 5552 16777215] ) (case_arm pat_list: [{(test)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:phase_func) op: Equal rhs: {(src_test)} spids: [5559] ) ] spids: [5559] ) ] spids: [5555 5556 5563 16777215] ) (case_arm pat_list: [{(install)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:phase_func) op: Equal rhs: {(src_install)} spids: [5570] ) ] spids: [5570] ) ] spids: [5566 5567 5574 16777215] ) (case_arm pat_list: [{(preinst)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:phase_func) op: Equal rhs: {(pkg_preinst)} spids: [5581] ) ] spids: [5581] ) ] spids: [5577 5578 5585 16777215] ) (case_arm pat_list: [{(postinst)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:phase_func) op: Equal rhs: {(pkg_postinst)} spids: [5592] ) ] spids: [5592] ) ] spids: [5588 5589 5596 16777215] ) (case_arm pat_list: [{(prerm)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:phase_func) op: Equal rhs: {(pkg_prerm)} spids: [5603] ) ] spids: [5603] ) ] spids: [5599 5600 5607 16777215] ) (case_arm pat_list: [{(postrm)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:phase_func) op: Equal rhs: {(pkg_postrm)} spids: [5614] ) ] spids: [5614] ) ] spids: [5610 5611 5618 16777215] ) ] spids: [5451 5457 5621] ) (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolUnary op_id:BoolUnary_z child:{($ VSub_Name '$phase_func')}) ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] ) (C {(echo)} {(DQ ($ VSub_Name '$phase_func'))}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [5412] ) spids: [5408 5411] ) (FuncDef name: __ebuild_phase_funcs body: (BraceGroup children: [ (AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(-ne)} {(2)} {(Lit_Other ']')}) (C {(die)} { (DQ ('expected exactly 2 args, got ') ($ VSub_Pound '$#') (': ') ($ VSub_Star '$*')) } ) ] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:eapi) op: Equal rhs: {($ VSub_Number '$1')} spids: [5685] ) ] spids: [5683] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:phase_func) op: Equal rhs: {($ VSub_Number '$2')} spids: [5691] ) ] spids: [5689] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:all_phases) op: Equal rhs: { (DQ ('src_compile pkg_config src_configure pkg_info\n') ('\t\tsrc_install pkg_nofetch pkg_postinst pkg_postrm pkg_preinst\n') ('\t\tsrc_prepare pkg_prerm pkg_pretend pkg_setup src_test src_unpack') ) } spids: [5697] ) ] spids: [5695] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:x) op:Equal spids:[5707])] spids: [5705] ) (ForEach iter_name: x iter_words: [{(${ VSub_Name all_phases)}] do_arg_iter: F body: (DoGroup children: [ (C {(eval)} { (DQ (default_) (${ VSub_Name x) ('() {\n') ('\t\t\tdie ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (default_) (${ VSub_Name x) ("() is not supported in EAPI='") (${ VSub_Name eapi) ("' in phase ") (${ VSub_Name phase_func) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('\n') ('\t\t}') ) } ) ] spids: [5727 5758] ) spids: [5720 5725] ) (C {(eval)} {(DQ ('default() {\n') ('\t\tdefault_') (${ VSub_Name phase_func) ('\n') ('\t}'))} ) (Case to_match: {(DQ ($ VSub_Name '$eapi'))} arms: [ (case_arm pat_list: [{(0)} {(1)}] action: [ (ForEach iter_name: x iter_words: [{(pkg_nofetch)} {(src_unpack)} {(src_test)}] do_arg_iter: F body: (DoGroup children: [ (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(Assign_Declare declare)} {(-F)} {($ VSub_Name '$x')}] redirects: [ (Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(/dev/null)} ) ] ) (C {(eval)} { (DQ ($ VSub_Name '$x') ('() { __eapi0_') ($ VSub_Name '$x') ('; }')) } ) ] ) ] spids: [5817 5843] ) spids: [5808 5815] ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (SimpleCommand words: [{(Assign_Declare declare)} {(-F)} {(src_compile)}] redirects: [ (Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(/dev/null)} ) ] ) ] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (Case to_match: {(DQ ($ VSub_Name '$eapi'))} arms: [ (case_arm pat_list: [{(0)}] action: [ (FuncDef name: src_compile body: (BraceGroup children: [ (Sentence child: (C {(__eapi0_src_compile)}) terminator: <Op_Semi ';'> ) ] spids: [5882] ) spids: [5878 5881] ) ] spids: [5874 5875 5890 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (FuncDef name: src_compile body: (BraceGroup children: [ (Sentence child: (C {(__eapi1_src_compile)}) terminator: <Op_Semi ';'> ) ] spids: [5901] ) spids: [5897 5900] ) ] spids: [5893 5894 5909 16777215] ) ] spids: [5865 5871 5912] ) ] spids: [16777215 5862] ) ] spids: [16777215 5915] ) ] spids: [5793 5796 5918 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(${ VSub_Name phase_func)} right: {(pkg_nofetch)} ) ) (FuncDef name: default_pkg_nofetch body: (BraceGroup children: [ (Sentence child: (C {(__eapi0_pkg_nofetch)}) terminator: <Op_Semi ';'> ) ] spids: [5954] ) spids: [5950 5953] ) ] ) (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(${ VSub_Name phase_func)} right: {(src_unpack)} ) ) (FuncDef name: default_src_unpack body: (BraceGroup children: [ (Sentence child: (C {(__eapi0_src_unpack)}) terminator: <Op_Semi ';'> ) ] spids: [5982] ) spids: [5978 5981] ) ] ) (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(${ VSub_Name phase_func)} right: {(src_test)} ) ) (FuncDef name: default_src_test body: (BraceGroup children: [ (Sentence child: (C {(__eapi0_src_test)}) terminator: <Op_Semi ';'> ) ] spids: [6010] ) spids: [6006 6009] ) ] ) (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(${ VSub_Name phase_func)} right: {(src_prepare)} ) ) (FuncDef name: default_src_prepare body: (BraceGroup children: [ (Sentence child: (C {(__eapi2_src_prepare)}) terminator: <Op_Semi ';'> ) ] spids: [6043] ) spids: [6039 6042] ) ] ) (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(${ VSub_Name phase_func)} right: {(src_configure)} ) ) (FuncDef name: default_src_configure body: (BraceGroup children: [ (Sentence child: (C {(__eapi2_src_configure)}) terminator: <Op_Semi ';'> ) ] spids: [6071] ) spids: [6067 6070] ) ] ) (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(${ VSub_Name phase_func)} right: {(src_compile)} ) ) (FuncDef name: default_src_compile body: (BraceGroup children: [ (Sentence child: (C {(__eapi2_src_compile)}) terminator: <Op_Semi ';'> ) ] spids: [6099] ) spids: [6095 6098] ) ] ) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(Assign_Declare declare)} {(-F)} {(pkg_nofetch)}] redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)})] ) (FuncDef name: pkg_nofetch body: (BraceGroup children: [(Sentence child:(C {(default)}) terminator:<Op_Semi ';'>)] spids: [6129] ) spids: [6125 6128] ) ] ) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(Assign_Declare declare)} {(-F)} {(src_unpack)}] redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)})] ) (FuncDef name: src_unpack body: (BraceGroup children: [(Sentence child:(C {(default)}) terminator:<Op_Semi ';'>)] spids: [6154] ) spids: [6150 6153] ) ] ) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(Assign_Declare declare)} {(-F)} {(src_prepare)}] redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)})] ) (FuncDef name: src_prepare body: (BraceGroup children: [(Sentence child:(C {(default)}) terminator:<Op_Semi ';'>)] spids: [6179] ) spids: [6175 6178] ) ] ) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(Assign_Declare declare)} {(-F)} {(src_configure)}] redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)})] ) (FuncDef name: src_configure body: (BraceGroup children: [(Sentence child:(C {(default)}) terminator:<Op_Semi ';'>)] spids: [6204] ) spids: [6200 6203] ) ] ) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(Assign_Declare declare)} {(-F)} {(src_compile)}] redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)})] ) (FuncDef name: src_compile body: (BraceGroup children: [(Sentence child:(C {(default)}) terminator:<Op_Semi ';'>)] spids: [6229] ) spids: [6225 6228] ) ] ) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(Assign_Declare declare)} {(-F)} {(src_test)}] redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)})] ) (FuncDef name: src_test body: (BraceGroup children: [(Sentence child:(C {(default)}) terminator:<Op_Semi ';'>)] spids: [6254] ) spids: [6250 6253] ) ] ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [(C {(has)} {(${ VSub_Name eapi)} {(2)} {(3)})] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(${ VSub_Name phase_func)} right: {(src_install)} ) ) (FuncDef name: default_src_install body: (BraceGroup children: [ (Sentence child: (C {(__eapi4_src_install)}) terminator: <Op_Semi ';'> ) ] spids: [6305] ) spids: [6301 6304] ) ] ) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(Assign_Declare declare)} {(-F)} {(src_install)}] redirects: [ (Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(/dev/null)} ) ] ) (FuncDef name: src_install body: (BraceGroup children: [ (Sentence child: (C {(default)}) terminator: <Op_Semi ';'> ) ] spids: [6331] ) spids: [6327 6330] ) ] ) ] spids: [16777215 6282] ) ] spids: [16777215 6339] ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (C {(has)} {(${ VSub_Name eapi)} {(2)} {(3)} {(4)} {(4-python)} {(4-slot-abi)} {(5)} {(5-progress)} {(5-hdepend)} ) ] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(${ VSub_Name phase_func)} right: {(src_prepare)} ) ) (FuncDef name: default_src_prepare body: (BraceGroup children: [ (Sentence child: (C {(__eapi6_src_prepare)}) terminator: <Op_Semi ';'> ) ] spids: [6397] ) spids: [6393 6396] ) ] ) (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(${ VSub_Name phase_func)} right: {(src_install)} ) ) (FuncDef name: default_src_install body: (BraceGroup children: [ (Sentence child: (C {(__eapi6_src_install)}) terminator: <Op_Semi ';'> ) ] spids: [6425] ) spids: [6421 6424] ) ] ) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(Assign_Declare declare)} {(-F)} {(src_prepare)}] redirects: [ (Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(/dev/null)} ) ] ) (FuncDef name: src_prepare body: (BraceGroup children: [ (Sentence child: (C {(default)}) terminator: <Op_Semi ';'> ) ] spids: [6451] ) spids: [6447 6450] ) ] ) ] spids: [16777215 6374] ) ] spids: [16777215 6459] ) ] spids: [5922 5923 6462 16777215] ) ] spids: [5784 5790 6465] ) ] spids: [5658] ) spids: [5654 5657] ) (FuncDef name: __ebuild_main body: (BraceGroup children: [ (C {(export)} {(Lit_VarLike 'EBUILD_MASTER_PID=') (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: [6504 6506] ) } ) spids: [6501 6507] ) } ) (C {(trap)} {(SQ <'exit 1'>)} {(SIGTERM)}) (AndOr ops: [Op_DAmp] children: [ (DBracket expr:(BoolUnary op_id:BoolUnary_z child:{(${ VSub_Name S)})) (C {(export)} {(Lit_VarLike 'S=') (${ VSub_Name WORKDIR) (/) (${ VSub_Name P)}) ] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id:BoolUnary_s child:{($ VSub_Name '$SANDBOX_LOG')}) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:x) op: Equal rhs: {(EmptyPart)} spids: [6578] ) ] spids: [6576] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr:(BoolUnary op_id:BoolUnary_n child:{(SANDBOX_ON)})) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:x) op: Equal rhs: {($ VSub_Name '$SANDBOX_ON')} spids: [6596] ) ] spids: [6596] ) (C {(export)} {(Lit_VarLike 'SANDBOX_ON=') (0)}) ] spids: [16777215 6593] ) ] spids: [16777215 6606] ) (AndOr ops: [Op_DPipe] children: [ (C {(rm)} {(-f)} {(DQ ($ VSub_Name '$SANDBOX_LOG'))}) (C {(die)} { (DQ ("failed to remove stale sandbox log: '") ($ VSub_Name '$SANDBOX_LOG') ("'") ) } ) ] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id:BoolUnary_n child:{($ VSub_Name '$x')}) ) terminator: <Op_Semi ';'> ) ] action: [(C {(export)} {(Lit_VarLike 'SANDBOX_ON=') ($ VSub_Name '$x')})] spids: [16777215 6644] ) ] spids: [16777215 6653] ) (C {(unset)} {(x)}) ] spids: [16777215 6561] ) ] spids: [16777215 6661] ) (AndOr ops: [Op_DPipe] children: [ (C {(has)} {(ccache)} {($ VSub_Name '$FEATURES')}) (C {(export)} {(Lit_VarLike 'CCACHE_DISABLE=') (1)}) ] ) (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: [6691 6697] ) } spids: [6690] ) ] spids: [6688] ) (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolUnary op_id:BoolUnary_n child:{($ VSub_Name '$phase_func')}) ) (C {(__ebuild_phase_funcs)} {(DQ ($ VSub_Name '$EAPI'))} {(DQ ($ VSub_Name '$phase_func'))} ) ] ) (C {(unset)} {(phase_func)}) (C {(__source_all_bashrcs)}) (Case to_match: {(${ VSub_Number 1)} arms: [ (case_arm pat_list: [{(nofetch)}] action: [(C {(__ebuild_phase_with_hooks)} {(pkg_nofetch)})] spids: [6740 6741 6749 16777215] ) (case_arm pat_list: [{(prerm)} {(postrm)} {(preinst)} {(postinst)} {(config)} {(info)}] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DAmp] children: [ (C {(has)} {(DQ (${ VSub_Number 1))} {(config)} {(info)}) (Pipeline children: [ (SimpleCommand words: [ {(Assign_Declare declare)} {(-F)} {(DQ (pkg_) (${ VSub_Number 1))} ] redirects: [ (Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(/dev/null)} ) ] ) ] negated: T ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (C {(ewarn)} { (DQ (pkg_) (${ VSub_Number 1) ("() is not defined: '") (BracedVarSub token: <VSub_Name EBUILD> suffix_op: (StringUnary op_id: VOp1_DPound arg_word: {('*') (Lit_Slash /)} ) spids: [6813 6818] ) ("'") ) } ) ] spids: [16777215 6802] ) ] spids: [16777215 6823] ) (C {(export)} {(Lit_VarLike 'SANDBOX_ON=') (DQ (0))}) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DPipe] children: [ (C {(Lit_Other '[')} {(DQ (${ VSub_Name PORTAGE_DEBUG))} {(KW_Bang '!') (Lit_Other '=')} {(DQ (1))} {(Lit_Other ']')} ) (C {(Lit_Other '[')} { (DQ (BracedVarSub token: <VSub_Hyphen -> suffix_op: (PatSub pat: {(x)} replace: {(EmptyPart)} do_all: F do_prefix: F do_suffix: F ) spids: [6858 6863] ) ) } {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Hyphen '$-'))} {(Lit_Other ']')} ) ] ) terminator: <Op_Semi ';'> ) ] action: [(C {(__ebuild_phase_with_hooks)} {(pkg_) (${ VSub_Number 1)})] spids: [16777215 6876] ) ] else_action: [ (C {(set)} {(-x)}) (C {(__ebuild_phase_with_hooks)} {(pkg_) (${ VSub_Number 1)}) (C {(set)} {(Lit_Other '+') (x)}) ] spids: [6887 6909] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_n child: {($ VSub_Name '$PORTAGE_UPDATE_ENV')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(cd)} {(DQ (${ VSub_Name PORTAGE_PYM_PATH))}) (Pipeline children: [ (C {(__save_ebuild_env)} {(--exclude-init-phases)}) (C {(__filter_readonly_variables)} {(--filter-path)} {(--filter-sandbox)} {(--allow-extra-vars)} ) (SimpleCommand words: [{(${ VSub_Name PORTAGE_BZIP2_COMMAND)} {(-c)} {(-f9)}] redirects: [ (Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(DQ ($ VSub_Name '$PORTAGE_UPDATE_ENV'))} ) ] ) ] negated: F ) (C {(assert)} {(DQ ('__save_ebuild_env failed'))}) ] spids: [16777215 6924] ) ] spids: [16777215 6992] ) ] spids: [6752 6763 6995 16777215] ) (case_arm pat_list: [{(unpack)} {(prepare)} {(configure)} {(compile)} {(test)} {(clean)} {(install)}] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobEqual left: { (BracedVarSub token: <VSub_Name SANDBOX_DISABLED> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {(0)} ) spids: [7018 7022] ) } right: {(0)} ) ) terminator: <Op_Semi ';'> ) ] action: [(C {(export)} {(Lit_VarLike 'SANDBOX_ON=') (DQ (1))})] spids: [16777215 7032] ) ] else_action: [(C {(export)} {(Lit_VarLike 'SANDBOX_ON=') (DQ (0))})] spids: [7043 7054] ) (Case to_match: {(DQ (${ VSub_Number 1))} arms: [ (case_arm pat_list: [{(configure)} {(compile)}] action: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:x) op:Equal spids:[7078])] spids: [7076] ) (ForEach iter_name: x iter_words: [ {(ASFLAGS)} {(CCACHE_DIR)} {(CCACHE_SIZE)} {(CFLAGS)} {(CXXFLAGS)} {(LDFLAGS)} {(LIBCFLAGS)} {(LIBCXXFLAGS)} ] do_arg_iter: F body: (DoGroup children: [ (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_GlobEqual left: { (BracedVarSub token: <VSub_Name x> prefix_op: VSub_Bang suffix_op: (StringUnary op_id: VTest_Plus arg_word: {(set)} ) spids: [7112 7117] ) } right: {(set)} ) ) (C {(export)} {($ VSub_Name '$x')}) ] ) ] spids: [7107 7132] ) spids: [7086 7105] ) (C {(unset)} {(x)}) (AndOr ops: [Op_DAmp Op_DAmp Op_DAmp] children: [ (C {(has)} {(distcc)} {($ VSub_Name '$FEATURES')}) (DBracket expr: (BoolUnary op_id: BoolUnary_n child: {($ VSub_Name '$DISTCC_DIR')} ) ) (DBracket expr: (BoolBinary op_id: BoolBinary_GlobEqual left: { (BracedVarSub token: <VSub_Name SANDBOX_WRITE> suffix_op: (PatSub pat: {($ VSub_Name '$DISTCC_DIR')} do_all: F do_prefix: F do_suffix: F ) spids: [7163 7167] ) } right: {($ VSub_Name '$SANDBOX_WRITE')} ) ) (C {(addwrite)} {(DQ ($ VSub_Name '$DISTCC_DIR'))}) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:x) op: Equal rhs: {(LIBDIR_) ($ VSub_Name '$ABI')} spids: [7187] ) ] spids: [7187] ) (AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$PKG_CONFIG_PATH'))} {(-a)} {(-n)} {(DQ ($ VSub_Name '$ABI'))} {(-a)} {(-n)} { (DQ (BracedVarSub token: <VSub_Name x> prefix_op: VSub_Bang spids: [7213 7216] ) ) } {(Lit_Other ']')} ) (C {(export)} {(Lit_VarLike 'PKG_CONFIG_PATH=') (${ VSub_Name EPREFIX) (/usr/) (BracedVarSub token: <VSub_Name x> prefix_op: VSub_Bang spids: [7232 7235] ) (/pkgconfig) } ) ] ) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DAmp] children: [ (C {(has)} {(noauto)} {($ VSub_Name '$FEATURES')}) (DBracket expr: (LogicalNot child: (BoolUnary op_id: BoolUnary_f child: {($ VSub_Name '$PORTAGE_BUILDDIR') (/.unpacked) } ) ) ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)}) (C {(echo)} {(DQ ("!!! We apparently haven't unpacked..."))} {(DQ ('This is probably not what you'))} ) (C {(echo)} {(DQ ('!!! want to be doing... You are using'))} {(DQ ("FEATURES=noauto so I'll assume"))} ) (C {(echo)} {(DQ ('!!! that you know what you are doing...'))} {(DQ ('You have 5 seconds to abort...'))} ) (C {(echo)}) (C {(sleep)} {(5)}) ] spids: [16777215 7265] ) ] spids: [16777215 7319] ) (C {(cd)} {(DQ ($ VSub_Name '$PORTAGE_BUILDDIR'))}) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(KW_Bang '!')} {(-d)} {(build-info)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(mkdir)} {(build-info)}) (C {(cp)} {(DQ ($ VSub_Name '$EBUILD'))} {(DQ (build-info/) ($ VSub_Name '$PF') (.ebuild))} ) ] spids: [16777215 7344] ) ] spids: [16777215 7365] ) (C {(export)} {(S)} {(D)}) ] spids: [7069 7072 7385 16777215] ) ] spids: [7058 7066 7388] ) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DPipe] children: [ (C {(Lit_Other '[')} {(DQ (${ VSub_Name PORTAGE_DEBUG))} {(KW_Bang '!') (Lit_Other '=')} {(DQ (1))} {(Lit_Other ']')} ) (C {(Lit_Other '[')} { (DQ (BracedVarSub token: <VSub_Hyphen -> suffix_op: (PatSub pat: {(x)} replace: {(EmptyPart)} do_all: F do_prefix: F do_suffix: F ) spids: [7416 7421] ) ) } {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Hyphen '$-'))} {(Lit_Other ']')} ) ] ) terminator: <Op_Semi ';'> ) ] action: [(C {(__dyn_) (${ VSub_Number 1)})] spids: [16777215 7434] ) ] else_action: [ (C {(set)} {(-x)}) (C {(__dyn_) (${ VSub_Number 1)}) (C {(set)} {(Lit_Other '+') (x)}) ] spids: [7443 7463] ) (C {(export)} {(Lit_VarLike 'SANDBOX_ON=') (DQ (0))}) ] spids: [6998 7011 7474 16777215] ) (case_arm pat_list: [{(help)} {(pretend)} {(setup)}] action: [ (C {(export)} {(Lit_VarLike 'SANDBOX_ON=') (DQ (0))}) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DPipe] children: [ (C {(Lit_Other '[')} {(DQ (${ VSub_Name PORTAGE_DEBUG))} {(KW_Bang '!') (Lit_Other '=')} {(DQ (1))} {(Lit_Other ']')} ) (C {(Lit_Other '[')} { (DQ (BracedVarSub token: <VSub_Hyphen -> suffix_op: (PatSub pat: {(x)} replace: {(EmptyPart)} do_all: F do_prefix: F do_suffix: F ) spids: [7529 7534] ) ) } {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Hyphen '$-'))} {(Lit_Other ']')} ) ] ) terminator: <Op_Semi ';'> ) ] action: [(C {(__dyn_) (${ VSub_Number 1)})] spids: [16777215 7547] ) ] else_action: [ (C {(set)} {(-x)}) (C {(__dyn_) (${ VSub_Number 1)}) (C {(set)} {(Lit_Other '+') (x)}) ] spids: [7556 7576] ) ] spids: [7477 7482 7579 16777215] ) (case_arm pat_list: [{(_internal_test)}] spids: [7582 7583 7586 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (C {(export)} {(Lit_VarLike 'SANDBOX_ON=') (DQ (1))}) (C {(echo)} {(DQ ("Unrecognized arg '") (${ VSub_Number 1) ("'"))}) (C {(echo)}) (C {(__dyn_help)}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [7589 7590 7623 16777215] ) ] spids: [6731 6737 7626] ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (C {(has)} {(DQ (${ VSub_Number 1))} {(clean)} {(help)} {(info)} {(nofetch)}) ] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (C {(umask)} {(002)}) (C {(cd)} {(DQ (${ VSub_Name PORTAGE_PYM_PATH))}) (Pipeline children: [ (C {(__save_ebuild_env)}) (SimpleCommand words: [{(__filter_readonly_variables)} {(--filter-features)}] redirects: [ (Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(DQ ($ VSub_Name '$T') (/environment))} ) ] ) ] negated: F ) (C {(assert)} {(DQ ('__save_ebuild_env failed'))}) (C {(chgrp)} { (DQ (BracedVarSub token: <VSub_Name PORTAGE_GRPNAME> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(portage)}) spids: [7705 7709] ) ) } {(DQ ($ VSub_Name '$T') (/environment))} ) (C {(chmod)} {(g) (Lit_Other '+') (w)} {(DQ ($ VSub_Name '$T') (/environment))}) ] spids: [16777215 7656] ) ] spids: [16777215 7730] ) (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolUnary op_id:BoolUnary_n child:{($ VSub_Name '$PORTAGE_EBUILD_EXIT_FILE')}) ) (SimpleCommand redirects: [ (Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(DQ ($ VSub_Name '$PORTAGE_EBUILD_EXIT_FILE'))} ) ] ) ] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_n child: {($ VSub_Name '$PORTAGE_IPC_DAEMON')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (DBracket expr: (LogicalNot child: (BoolUnary op_id:BoolUnary_s child:{($ VSub_Name '$SANDBOX_LOG')}) ) ) (C {(DQ ($ VSub_Name '$PORTAGE_BIN_PATH')) (/ebuild-ipc)} {(ControlFlow_Exit exit)} {($ VSub_QMark '$?')} ) ] spids: [16777215 7762] ) ] spids: [16777215 7786] ) ] spids: [6474] ) spids: [6470 6473] ) ] )