(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MACH='> name:MACH) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<uname>} {<-p>}) right: <Id.Backtick_Right '`'> ) } spids: [81] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PLIST='> name:PLIST) op: assign_op.Equal rhs: {<'/tmp/protolist.'> ($ Id.VSub_Dollar '$')} spids: [90] ) ] redirects: [] ) (command.ShFunction name: usage body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (C {<echo>} {(DQ <'usage: '> ($ Id.VSub_Number 0) <' <workspace>'>)}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTIND='> name:OPTIND) op: assign_op.Equal rhs: {<1>} spids: [118] ) ] redirects: [] ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands:[(C {<getopts>} {<X>} {<flag>})]) body: (command.DoGroup children: [ (command.Case to_match: {($ Id.VSub_DollarName flag)} arms: [ (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [(C {<usage>})] spids: [139 140 145 -1] ) ] redirects: [] ) ] ) redirects: [] ) (C {<shift>} { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<expr>} {($ Id.VSub_DollarName OPTIND)} {<->} {<1>}) right: <Id.Backtick_Right '`'> ) } ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {($ Id.VSub_Pound '#')} {<Id.Lit_Equals '='>} {<0>} {<-a>} {(DQ (${ Id.VSub_Name CODEMGR_WS))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ )} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WS='> name:WS) op: assign_op.Equal rhs: {(${ Id.VSub_Name CODEMGR_WS)} spids: [198] ) ] redirects: [] ) ] spids: [168 195] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {($ Id.VSub_Pound '#')} {<-ne>} {<1>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<usage>})] spids: [203 216] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WS='> name:WS) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} spids: [224] ) ] redirects: [] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'GUFLAG='> name:GUFLAG) op: assign_op.Equal rhs: {(DQ <-gu>)} spids: [231] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} { (DQ (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name NIGHTLY_OPTIONS> var_name: NIGHTLY_OPTIONS suffix_op: (suffix_op.Unary op: <Id.VOp1_Percent '%'> arg_word: {<o> <Id.Lit_Other '*'>} ) right: <Id.Right_DollarBrace '}'> ) ) } {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName NIGHTLY_OPTIONS))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'GUFLAG='> name:GUFLAG) op: assign_op.Equal rhs: (rhs_word.Empty) spids: [262] ) ] redirects: [] ) ] spids: [236 259] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-d>} {(${ Id.VSub_Name WS)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<echo>} {(DQ (${ Id.VSub_Name WS) <' is not a workspace'>)}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [267 282] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ (${ Id.VSub_Name SRC))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SRC='> name:SRC) op: assign_op.Equal rhs: {(${ Id.VSub_Name WS) <'/usr/src'>} spids: [320] ) ] redirects: [] ) ] spids: [302 317] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PROTO='> name:PROTO) op: assign_op.Equal rhs: {(${ Id.VSub_Name WS) <'/proto/root_'> (${ Id.VSub_Name MACH)} spids: [329] ) ] redirects: [] ) (C {<rm>} {<-f>} {($ Id.VSub_DollarName PLIST)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'pkglocns='> name:pkglocns) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name SRC) <'/pkgdefs'>)} spids: [346] ) ] redirects: [] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<Id.Lit_LBracket '['>} {<-d>} {(${ Id.VSub_Name SRC) <'/../closed/pkgdefs'>} {<Id.Lit_RBracket ']'>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'pkglocns='> name:pkglocns) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName pkglocns) <' '> (${ Id.VSub_Name SRC) <'/../closed/pkgdefs'>) } spids: [367] ) ] redirects: [] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'exceptions='> name:exceptions) op: assign_op.Equal rhs: {(DQ )} spids: [378] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'pkgdefs='> name:pkgdefs) op: assign_op.Equal rhs: {(DQ )} spids: [382] ) ] redirects: [] ) (command.ForEach iter_names: [p] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName pkglocns)}]) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'efile='> name:efile) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName p) <'/etc/exception_list_'> (${ Id.VSub_Name MACH))} spids: [398] ) ] redirects: [] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<Id.Lit_LBracket '['>} {<-f>} {($ Id.VSub_DollarName efile)} {<Id.Lit_RBracket ']'>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'exceptions='> name:exceptions) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName exceptions) <' -e '> ($ Id.VSub_DollarName efile))} spids: [418] ) ] redirects: [] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'pkgdefs='> name:pkgdefs) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName pkgdefs) <' -d '> ($ Id.VSub_DollarName p))} spids: [426] ) ] redirects: [] ) ] ) redirects: [] ) (command.Simple words: [{<protolist>} {(${ Id.VSub_Name PROTO)}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName PLIST)} ) ] more_env: [] do_fork: T ) (C {<protocmp>} {(${ Id.VSub_Name GUFLAG)} {($ Id.VSub_DollarName exceptions)} {($ Id.VSub_DollarName pkgdefs)} {(${ Id.VSub_Name PLIST)} ) (C {<rm>} {<-f>} {($ Id.VSub_DollarName PLIST)}) ] )