(command.CommandList children: [ (command.ShAssignment left: <Id.Lit_VarLike 'PATH='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'PATH='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PATH='> name:PATH) op: assign_op.Equal rhs: {<'/bin'> <Id.Lit_Colon ':'> <'/usr/bin'> <Id.Lit_Colon ':'> <'/usr/sbin'>} ) ] redirects: [] ) (command.ShFunction name_tok: <display_usage> name: display_usage body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'VERSION_NUMBER='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'VERSION_NUMBER='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'VERSION_NUMBER='> name:VERSION_NUMBER) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <grep> more_env: [] words: [ {<grep>} {(DQ <'['> <Id.Lit_Dollar '$'> <']FreeBSD:'>)} {($ Id.VSub_Number 0)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <cut> more_env: [] words: [{<cut>} {<-d>} {(SQ <' '>)} {<-f>} {<4>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 0> var_name: 0 suffix_op: (suffix_op.Unary op: <Id.VOp1_DPound '##'> arg_word: {<Id.Lit_Other '*'> <Id.Lit_Slash '/'>} ) right: <Id.Right_DollarBrace '}'> ) <' version '> (${ Id.VSub_Name VERSION_NUMBER) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ <'Usage: '> (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 0> var_name: 0 suffix_op: (suffix_op.Unary op: <Id.VOp1_DPound '##'> arg_word: {<Id.Lit_Other '*'> <Id.Lit_Slash '/'>} ) right: <Id.Right_DollarBrace '}'> ) <' [-m /path] [-t /path] [-A arch] [-F <make args>] [-D /path]'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'Options:'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} {(DQ <' -m /path/directory Specify location of source to do the make in'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <' -t /path/directory Specify temp root directory'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} {(DQ <' -A architecture Alternative architecture name to pass to make'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} {(DQ <' -F <arguments for make> Specify what to put on the make command line'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} {(SQ <' -D /path/directory Specify the destination directory to install files to'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(SQ )}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShAssignment left: <Id.Lit_VarLike 'TEMPROOT='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'TEMPROOT='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TEMPROOT='> name:TEMPROOT) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <mktemp> more_env: [(EnvPair left:<Id.Lit_VarLike 'TMPDIR='> name:TMPDIR val:{<'/var/tmp'>})] words: [{<mktemp>} {<-d>} {<-t>} {<temproot>}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'MTREEDB='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'MTREEDB='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MTREEDB='> name:MTREEDB) op: assign_op.Equal rhs: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name MTREEDB> var_name: MTREEDB suffix_op: (suffix_op.Unary op: <Id.VTest_ColonHyphen _> arg_word: {<Id.Lit_Slash '/'> <var> <Id.Lit_Slash '/'> <db>} ) right: <Id.Right_DollarBrace '}'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'MTREEFILE='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'MTREEFILE='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MTREEFILE='> name:MTREEFILE) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name MTREEDB) <'/mergemaster.mtree'>)} ) ] redirects: [] ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <getopts> more_env: [] words: [{<getopts>} {(DQ <'m:t:A:F:D:h'>)} {<COMMAND_LINE_ARGUMENT>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{(DQ (${ Id.VSub_Name COMMAND_LINE_ARGUMENT))}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <m> pattern: (pat.Words words:[{<m>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'SOURCEDIR='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'SOURCEDIR='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SOURCEDIR='> name:SOURCEDIR) op: assign_op.Equal rhs: {(${ Id.VSub_Name OPTARG)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <t> pattern: (pat.Words words:[{<t>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'TEMPROOT='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'TEMPROOT='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TEMPROOT='> name:TEMPROOT) op: assign_op.Equal rhs: {(${ Id.VSub_Name OPTARG)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <A> pattern: (pat.Words words:[{<A>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'ARCHSTRING='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ARCHSTRING='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ARCHSTRING='> name:ARCHSTRING) op: assign_op.Equal rhs: {(SQ <'TARGET_ARCH='>) (${ Id.VSub_Name OPTARG)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <F> pattern: (pat.Words words:[{<F>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'MM_MAKE_ARGS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'MM_MAKE_ARGS='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'MM_MAKE_ARGS='> name: MM_MAKE_ARGS ) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name OPTARG))} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <D> pattern: (pat.Words words:[{<D>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'DESTDIR='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'DESTDIR='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DESTDIR='> name:DESTDIR) op: assign_op.Equal rhs: {(${ Id.VSub_Name OPTARG)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <h> pattern: (pat.Words words:[{<h>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <display_usage> more_env: [] words: [{<display_usage>}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {<0>} ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(SQ )}] redirects: [] do_fork: T ) (command.Simple blame_tok: <display_usage> more_env: [] words: [{<display_usage>}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'SOURCEDIR='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'SOURCEDIR='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SOURCEDIR='> name:SOURCEDIR) op: assign_op.Equal rhs: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name SOURCEDIR> var_name: SOURCEDIR suffix_op: (suffix_op.Unary op: <Id.VTest_ColonHyphen _> arg_word: {<Id.Lit_Slash '/'> <usr> <Id.Lit_Slash '/'> <src>} ) right: <Id.Right_DollarBrace '}'> ) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} {(${ Id.VSub_Name SOURCEDIR) <'/Makefile.inc1'>} {<-a>} {<-f>} {(${ Id.VSub_Name SOURCEDIR) <'/../Makefile.inc1'>} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} {(DQ <' *** The source directory you specified ('> (${ Id.VSub_Name SOURCEDIR) <')'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <' will be reset to '> (${ Id.VSub_Name SOURCEDIR) <'/..'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(SQ )}] redirects: [] do_fork: T ) (command.Simple blame_tok: <sleep> more_env: [] words: [{<sleep>} {<3>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'SOURCEDIR='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'SOURCEDIR='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SOURCEDIR='> name:SOURCEDIR) op: assign_op.Equal rhs: {(${ Id.VSub_Name SOURCEDIR) <'/..'>} ) ] redirects: [] ) ] spids: [368 395] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'objp='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'objp='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'objp='> name:objp) op: assign_op.Equal rhs: {(${ Id.VSub_Name MAKEOBJDIRPREFIX)} ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [{<Id.Lit_LBracket '['>} {<-z>} {(DQ (${ Id.VSub_Name objp))} {<Id.Lit_RBracket ']'>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'objp='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'objp='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'objp='> name:objp) op: assign_op.Equal rhs: {<'/usr/obj'>} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'legacydir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'legacydir='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'legacydir='> name:legacydir) op: assign_op.Equal rhs: {(${ Id.VSub_Name objp) (${ Id.VSub_Name SOURCEDIR) <'/tmp/legacy'>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'legacypath='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'legacypath='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'legacypath='> name:legacypath) op: assign_op.Equal rhs: {(${ Id.VSub_Name legacydir) <'/usr/sbin'> <Id.Lit_Colon ':'> (${ Id.VSub_Name legacydir) <'/usr/bin'> <Id.Lit_Colon ':'> (${ Id.VSub_Name legacydir) <'/bin'> } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'MM_MAKE_ARGS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'MM_MAKE_ARGS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MM_MAKE_ARGS='> name:MM_MAKE_ARGS) op: assign_op.Equal rhs: { (DQ (${ Id.VSub_Name MM_MAKE_ARGS) <' PATH='> (${ Id.VSub_Name legacypath) <':'> (${ Id.VSub_Name PATH) ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'MM_MAKE='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'MM_MAKE='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MM_MAKE='> name:MM_MAKE) op: assign_op.Equal rhs: { (DQ <'make '> (${ Id.VSub_Name ARCHSTRING) <' '> (${ Id.VSub_Name MM_MAKE_ARGS) <' -m '> (${ Id.VSub_Name SOURCEDIR) <'/share/mk'> ) } ) ] redirects: [] ) (command.ShFunction name_tok: <delete_temproot> name: delete_temproot body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <rm> more_env: [] words: [{<rm>} {<-rf>} {(DQ (${ Id.VSub_Name TEMPROOT))}] redirects: [(Redir op:<Id.Redir_Great '2>'> loc:(redir_loc.Fd fd:2) arg:{<'/dev/null'>})] do_fork: T ) (command.Simple blame_tok: <chflags> more_env: [] words: [{<chflags>} {<-R>} {<0>} {(DQ (${ Id.VSub_Name TEMPROOT))}] redirects: [(Redir op:<Id.Redir_Great '2>'> loc:(redir_loc.Fd fd:2) arg:{<'/dev/null'>})] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <rm> more_env: [] words: [{<rm>} {<-rf>} {(DQ (${ Id.VSub_Name TEMPROOT))}] redirects: [] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] ops: [<Id.Op_DPipe _>] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<-d>} {(DQ (${ Id.VSub_Name TEMPROOT))} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <delete_temproot> more_env: [] words: [{<delete_temproot>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} {(DQ <'*** Creating the temporary root environment in '> (${ Id.VSub_Name TEMPROOT))} ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <mkdir> more_env: [] words: [{<mkdir>} {<-p>} {(DQ (${ Id.VSub_Name TEMPROOT))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <' *** '> (${ Id.VSub_Name TEMPROOT) <' ready for use'>)}] redirects: [] do_fork: T ) ] spids: [607 620] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-d>} {(DQ (${ Id.VSub_Name TEMPROOT))} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(SQ )}] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <' *** FATAL ERROR: Cannot create '> (${ Id.VSub_Name TEMPROOT))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(SQ )}] redirects: [] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [636 653] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} {(DQ <' *** Creating and populating directory structure in '> (${ Id.VSub_Name TEMPROOT))} ] redirects: [] do_fork: T ) (command.Simple blame_tok:<echo> more_env:[] words:[{<echo>} {(SQ )}] redirects:[] do_fork:T) (command.AndOr children: [ (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.AndOr children: [ (command.Simple blame_tok: <cd> more_env: [] words: [{<cd>} {(${ Id.VSub_Name SOURCEDIR)}] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Sentence child: (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'*** Cannot cd to '> (${ Id.VSub_Name SOURCEDIR))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>}) terminator: <Id.Op_Semi _> ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DPipe _>] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{(DQ (${ Id.VSub_Name DESTDIR))}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Left_SingleQuote '\''> pattern: (pat.Words words:[{(SQ )}]) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <Id.Left_DollarBrace '${'> more_env: [] words: [ {(${ Id.VSub_Name MM_MAKE)} {<Id.Lit_VarLike 'DESTDIR='> (${ Id.VSub_Name DESTDIR)} {<distrib-dirs>} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'od='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'od='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'od='> name:od) op: assign_op.Equal rhs: {(${ Id.VSub_Name TEMPROOT) <'/usr/obj'>} ) ] redirects: [] ) (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <Id.Left_DollarBrace '${'> more_env: [] words: [ {(${ Id.VSub_Name MM_MAKE)} {<Id.Lit_VarLike 'DESTDIR='> (${ Id.VSub_Name TEMPROOT)} {<distrib-dirs>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.Left_DollarBrace '${'> more_env: [ (EnvPair left: <Id.Lit_VarLike 'MAKEOBJDIRPREFIX='> name: MAKEOBJDIRPREFIX val: {($ Id.VSub_DollarName od)} ) ] words: [ {(${ Id.VSub_Name MM_MAKE)} {<_obj>} {<Id.Lit_VarLike 'SUBDIR_OVERRIDE='> <etc>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.Left_DollarBrace '${'> more_env: [ (EnvPair left: <Id.Lit_VarLike 'MAKEOBJDIRPREFIX='> name: MAKEOBJDIRPREFIX val: {($ Id.VSub_DollarName od)} ) ] words: [ {(${ Id.VSub_Name MM_MAKE)} {<everything>} {<Id.Lit_VarLike 'SUBDIR_OVERRIDE='> <etc>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.Left_DollarBrace '${'> more_env: [ (EnvPair left: <Id.Lit_VarLike 'MAKEOBJDIRPREFIX='> name: MAKEOBJDIRPREFIX val: {($ Id.VSub_DollarName od)} ) ] words: [ {(${ Id.VSub_Name MM_MAKE)} {<Id.Lit_VarLike 'DESTDIR='> (${ Id.VSub_Name TEMPROOT)} {<distribution>} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _> <Id.Op_DAmp _> <Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Sentence child: (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(SQ )}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ <' *** FATAL ERROR: Cannot \'cd\' to '> (${ Id.VSub_Name SOURCEDIR) <' and install files to'> ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <' the temproot environment'>)}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(SQ )}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>}) terminator: <Id.Op_Semi _> ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DPipe _>] ) (command.Simple blame_tok: <rm> more_env: [] words: [ {<rm>} {<-f>} {(${ Id.VSub_Name TEMPROOT) <'/etc/'> <Id.Lit_Star '*'> <.db>} {(${ Id.VSub_Name TEMPROOT) <'/etc/passwd'>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <find> more_env: [] words: [{<find>} {(${ Id.VSub_Name TEMPROOT) <'/usr/obj'>} {<-type>} {<f>} {<-delete>}] redirects: [(Redir op:<Id.Redir_Great '2>'> loc:(redir_loc.Fd fd:2) arg:{<'/dev/null'>})] do_fork: T ) (command.Simple blame_tok: <find> more_env: [] words: [{<find>} {(${ Id.VSub_Name TEMPROOT) <'/usr'>} {<-type>} {<l>} {<-delete>}] redirects: [(Redir op:<Id.Redir_Great '2>'> loc:(redir_loc.Fd fd:2) arg:{<'/dev/null'>})] do_fork: T ) (command.Simple blame_tok: <find> more_env: [] words: [{<find>} {(${ Id.VSub_Name TEMPROOT)} {<-type>} {<f>} {<-size>} {<0>} {<-delete>}] redirects: [(Redir op:<Id.Redir_Great '2>'> loc:(redir_loc.Fd fd:2) arg:{<'/dev/null'>})] do_fork: T ) (command.Simple blame_tok: <find> more_env: [] words: [{<find>} {<-d>} {(${ Id.VSub_Name TEMPROOT)} {<-type>} {<d>} {<-empty>} {<-delete>}] redirects: [(Redir op:<Id.Redir_Great '2>'> loc:(redir_loc.Fd fd:2) arg:{<'/dev/null'>})] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'MTREENEW='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'MTREENEW='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MTREENEW='> name:MTREENEW) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <mktemp> more_env: [] words: [{<mktemp>} {<-t>} {<mergemaster.mtree>}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.Simple blame_tok: <mtree> more_env: [] words: [ {<mtree>} {<-nci>} {<-p>} {(${ Id.VSub_Name TEMPROOT)} {<-k>} {<size> <Id.Lit_Comma ','> <md5digest>} ] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(${ Id.VSub_Name MTREENEW)} ) (Redir op:<Id.Redir_Great '2>'> loc:(redir_loc.Fd fd:2) arg:{<'/dev/null'>}) ] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<-s>} {(DQ (${ Id.VSub_Name MTREENEW))} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'*** Saving mtree database for future upgrades'>)}] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-e>} {(DQ (${ Id.VSub_Name DESTDIR) (${ Id.VSub_Name MTREEFILE))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <unlink> more_env: [] words: [{<unlink>} {(${ Id.VSub_Name DESTDIR) (${ Id.VSub_Name MTREEFILE)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <mv> more_env: [] words: [ {<mv>} {(${ Id.VSub_Name MTREENEW)} {(${ Id.VSub_Name DESTDIR) (${ Id.VSub_Name MTREEFILE)} ] redirects: [] do_fork: T ) ] spids: [1033 1048] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <delete_temproot> more_env: [] words: [{<delete_temproot>}] redirects: [] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<0>}) ] )