(command.CommandList children: [ (command.Simple blame_tok:<set> more_env:[] words:[{<set>} {<-e>}] redirects:[] do_fork:T) (command.ShAssignment left: <Id.Lit_VarLike 'CURDIR='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'CURDIR='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CURDIR='> name:CURDIR) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <pwd> more_env: [] words: [{<pwd>}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'ECHO='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ECHO='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ECHO='> name:ECHO) op: assign_op.Equal rhs: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ECHO> var_name: ECHO suffix_op: (suffix_op.Unary op:<Id.VTest_ColonEquals _> arg_word:{<echo>}) right: <Id.Right_DollarBrace '}'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'tmpfile='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'tmpfile='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'tmpfile='> name:tmpfile) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <mktemp> more_env: [] words: [{<mktemp>} {<osreldate.XXXXXXXX>}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) (command.Simple blame_tok: <trap> more_env: [] words: [{<trap>} {(DQ <'rm -f '> ($ Id.VSub_DollarName tmpfile))} {<EXIT>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.Left_DollarBrace '${'> more_env: [] words: [{(${ Id.VSub_Name ECHO)} {<creating>} {<osreldate.h>} {<from>} {<newvers.sh>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <set> more_env: [] words: [{<set>} {<Id.Lit_Other '+'> <e>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'VARS_ONLY='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'VARS_ONLY='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'VARS_ONLY='> name:VARS_ONLY) op: assign_op.Equal rhs: {<1>} ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <.> more_env: [] words: [ {<.>} { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name NEWVERS_SH> var_name: NEWVERS_SH suffix_op: (suffix_op.Unary op: <Id.VTest_ColonEquals _> arg_word: {($ Id.VSub_DollarName CURDIR) <Id.Lit_Slash '/'> <..> <Id.Lit_Slash '/'> <sys> <Id.Lit_Slash '/'> <conf> <Id.Lit_Slash '/'> <newvers.sh> } ) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] ops: [<Id.Op_DPipe _>] ) (command.Simple blame_tok:<set> more_env:[] words:[{<set>} {<-e>}] redirects:[] do_fork:T) (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName tmpfile)} ) (Redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [ ($ Id.VSub_DollarName COPYRIGHT) <'\n'> <'#ifdef _KERNEL\n'> <'#error '> <Id.Right_DoubleQuote '"'> <'<osreldate.h> cannot be used in the kernel, use <sys/param.h>'> <Id.Right_DoubleQuote '"'> <'\n'> <'#else\n'> <'#undef __FreeBSD_version\n'> <'#define __FreeBSD_version '> ($ Id.VSub_DollarName RELDATE) <'\n'> <'#endif\n'> ] ) ) ] do_fork: T ) (command.Simple blame_tok: <chmod> more_env: [] words: [{<chmod>} {<644>} {($ Id.VSub_DollarName tmpfile)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <mv> more_env: [] words: [{<mv>} {<-f>} {($ Id.VSub_DollarName tmpfile)} {<osreldate.h>}] redirects: [] do_fork: T ) ] )