(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'YPXFR='> name:YPXFR) op: assign_op.Equal rhs: {<'/usr/lib/netsvc/yp/ypxfr'>} spids: [93] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MAKEPATH='> name:MAKEPATH) op: assign_op.Equal rhs: {<'/usr/ccs/bin'>} spids: [96] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'maps='> name:maps) op: assign_op.Equal rhs: {(DQ <'publickey publickey.byname'>)} spids: [99] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'yproot_dir='> name:yproot_dir) op: assign_op.Equal rhs: {<'/var/yp'>} spids: [104] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'yproot_exe='> name:yproot_exe) op: assign_op.Equal rhs: {<'/usr/sbin/yp'>} spids: [107] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'hf='> name:hf) op: assign_op.Equal rhs: {<'/var/run/ypservers.'> ($ Id.VSub_Dollar '$')} spids: [110] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'XFR='> name:XFR) op: assign_op.Equal rhs: {(${ Id.VSub_Name YPXFR)} spids: [114] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'hosts_file='> name:hosts_file) op: assign_op.Equal rhs: {<'/etc/hosts'>} spids: [120] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'hosts6_file='> name:hosts6_file) op: assign_op.Equal rhs: {<'/etc/inet/ipnodes'>} spids: [123] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'clientp='> name:clientp) op: assign_op.Equal rhs: {<F>} spids: [126] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'masterp='> name:masterp) op: assign_op.Equal rhs: {<F>} spids: [129] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'slavep='> name:slavep) op: assign_op.Equal rhs: {<F>} spids: [132] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'host='> name:host) op: assign_op.Equal rhs: {(DQ )} spids: [135] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'def_dom='> name:def_dom) op: assign_op.Equal rhs: {(DQ )} spids: [139] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'master='> name:master) op: assign_op.Equal rhs: {(DQ )} spids: [143] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'got_host_list='> name:got_host_list) op: assign_op.Equal rhs: {<F>} spids: [147] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'first_time='> name:first_time) op: assign_op.Equal rhs: {<T>} spids: [150] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'non_interactive='> name:non_interactive) op: assign_op.Equal rhs: {<F>} spids: [153] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'exit_on_error='> name:exit_on_error) op: assign_op.Equal rhs: {<F>} spids: [156] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'errors_in_setup='> name:errors_in_setup) op: assign_op.Equal rhs: {<F>} spids: [159] ) ] redirects: [] ) (command.ShFunction name: enable_next_boot body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (C {<'/usr/sbin/svcadm'>} {<disable>} {<-t>} {($ Id.VSub_Number 1)}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '?')} {<Id.Lit_Equals '='>} {<0>} {<Id.Lit_RBracket ']'>} ) (C {<echo>} {(DQ <'ypinit: unable to temporarily disable '> ($ Id.VSub_Number 1))}) ] ) (C {<'/usr/sbin/svccfg'>} {<-s>} {($ Id.VSub_Number 1)} {<setprop>} {<'general/enabled'>} {<Id.Lit_Equals '='>} {<true>} ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '?')} {<Id.Lit_Equals '='>} {<0>} {<Id.Lit_RBracket ']'>} ) (C {<echo>} {(DQ <'ypinit: unable to enable '> ($ Id.VSub_Number 1) <' for next boot'>)}) ] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: enable_this_boot body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (C {<'/usr/sbin/svcadm'>} {<enable>} {($ Id.VSub_Number 1)}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '?')} {<Id.Lit_Equals '='>} {<0>} {<Id.Lit_RBracket ']'>} ) (C {<echo>} {(DQ <'ypinit: unable to enable '> ($ Id.VSub_Number 1))}) ] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: is_valid_ipaddr body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {<-n>} { (DQ (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<echo>} {($ Id.VSub_Number 1)}) (C {<awk>} { (SQ <'NF != 1 {exit} \\\n'> <'\t $1 !~ /[0-9]/ || /[;-~]/ || /!--/ || /\\// {exit} \\\n'> <'\t $1 !~ /\\./ {exit} {print}'> ) } ) ] negated: F stderr_indices: [] ) right: <Id.Backtick_Right '`'> ) ) } ) (C {<test>} {<-n>} { (DQ (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<echo>} {($ Id.VSub_Number 1)}) (C {<awk>} { (SQ <'NF != 1 {exit} \\\n'> <'\t ($1 !~ /[0-9]/ && $1 !~ /[A-F]/ && \\\n'> <'\t $1 !~ /[a-f]/) || \\\n'> <'\t /[;-@]/ || /[G-`]/ || /[g-~]/ || /!--/ || \\\n'> <'\t /\\// {exit} \\\n'> <'\t $1 !~ /:/ {exit} {print}'> ) } ) ] negated: F stderr_indices: [] ) right: <Id.Backtick_Right '`'> ) ) } ) ] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShAssignment pairs: [ (assign_pair 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/etc'> <Id.Lit_Colon ':'> <'/usr/sbin'> <Id.Lit_Colon ':'> ($ Id.VSub_DollarName yproot_exe) <Id.Lit_Colon ':'> ($ Id.VSub_DollarName MAKEPATH) <Id.Lit_Colon ':'> ($ Id.VSub_DollarName PATH) } spids: [372] ) ] redirects: [] ) (C {<export>} {<PATH>}) (C {<trap>} {(SQ <'/usr/bin/rm -f $hf'>)} {<0>} {<1>} {<2>} {<3>} {<15>}) (command.Case to_match: {($ Id.VSub_Pound '#')} arms: [ (case_arm pat_list: [{<1>}] action: [ (command.Case to_match: {($ Id.VSub_Number 1)} arms: [ (case_arm pat_list: [{<-c>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'clientp='> name:clientp) op: assign_op.Equal rhs: {<T>} spids: [434] ) ] redirects: [] ) ] spids: [431 432 436 -1] ) (case_arm pat_list: [{<-m>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'masterp='> name:masterp) op: assign_op.Equal rhs: {<T>} spids: [442] ) ] redirects: [] ) ] spids: [439 440 444 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (C {<echo>} {(SQ <'usage:'>)}) (C {<echo>} {(SQ <'\typinit -c [server_name...]'>)}) (C {<echo>} {(SQ <'\typinit -m'>)}) (C {<echo>} {(SQ <'\typinit -s master_server'>)}) (C {<echo>} {(DQ )}) (C {<echo>} {(DQ <'where -c is used to set up a yp client, -m is used to build a master '>)} ) (C {<echo>} {(DQ <'yp server data base, and -s is used for a slave data base.'>)}) (C {<echo>} {(DQ <'master_server must be an existing reachable yp server.'>)}) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] spids: [447 448 511 -1] ) ] redirects: [] ) ] spids: [421 422 515 -1] ) (case_arm pat_list: [{<2>}] action: [ (command.Case to_match: {($ Id.VSub_Number 1)} arms: [ (case_arm pat_list: [{<-s>}] action: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'slavep='> name:slavep) op: assign_op.Equal rhs: {<T>} spids: [531] ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'master='> name:master) op: assign_op.Equal rhs: {($ Id.VSub_Number 2)} spids: [535] ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Subshell child: (command.Simple words: [ {<grep>} {($ Id.VSub_DollarName master)} {($ Id.VSub_DollarName hosts_file)} {($ Id.VSub_DollarName hosts6_file)} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) redirects: [] ) ] ) action: [(C {<echo>} {(DQ )})] spids: [540 559] ) ] else_action: [ (C {<echo>} { (DQ <'server not found in '> ($ Id.VSub_DollarName hosts_file) <' or '> ($ Id.VSub_DollarName hosts6_file) ) } ) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] redirects: [] ) ] spids: [528 529 587 -1] ) (case_arm pat_list: [{<-c>}] action: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'clientp='> name:clientp) op: assign_op.Equal rhs: {<T>} spids: [602] ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'non_interactive='> name: non_interactive ) op: assign_op.Equal rhs: {<T>} spids: [606] ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) ] spids: [599 600 611 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (C {<echo>} {(SQ <'usage:'>)}) (C {<echo>} {(SQ <'\typinit -c [server_name...]'>)}) (C {<echo>} {(SQ <'\typinit -m'>)}) (C {<echo>} {(SQ <'\typinit -s master_server'>)}) (C {<echo>} {(DQ )}) (C {<echo>} {(DQ <'where -c is used to set up a yp client, -m is used to build a master '>)} ) (C {<echo>} {(DQ <'yp server data base, and -s is used for a slave data base.'>)}) (C {<echo>} {(DQ <'master_server must be an existing reachable yp server.'>)}) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] spids: [614 615 678 -1] ) ] redirects: [] ) ] spids: [518 519 682 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.Case to_match: {($ Id.VSub_Number 1)} arms: [ (case_arm pat_list: [{<-c>}] action: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'clientp='> name:clientp) op: assign_op.Equal rhs: {<T>} spids: [706] ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'non_interactive='> name: non_interactive ) op: assign_op.Equal rhs: {<T>} spids: [710] ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) ] spids: [703 704 715 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (C {<echo>} {(SQ <'usage:'>)}) (C {<echo>} {(SQ <'\typinit -c [server_name...]'>)}) (C {<echo>} {(SQ <'\typinit -m'>)}) (C {<echo>} {(SQ <'\typinit -s master_server'>)}) (C {<echo>} {(DQ )}) (C {<echo>} {(DQ <'where -c is used to set up a yp client, -m is used to build a master '>)} ) (C {<echo>} {(DQ <'yp server data base, and -s is used for a slave data base.'>)}) (C {<echo>} {(DQ <'master_server must be an existing reachable yp server.'>)}) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] spids: [718 719 782 -1] ) ] redirects: [] ) ] spids: [684 685 786 -1] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '?')} {<-ne>} {<0>} {<Id.Lit_RBracket ']'>}) ] ) action: [ (C {<echo>} {(DQ <'\x07You have to be the superuser to run this. Please log in as root.'>)}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [791 803] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'host='> name:host) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<uname>} {<-n>}) right: <Id.Backtick_Right '`'> ) } spids: [821] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '?')} {<-ne>} {<0>} {<Id.Lit_RBracket ']'>}) ] ) action: [ (C {<echo>} {(DQ <'\x07Can\'t get local host\'s name. Please check your path.'>)}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [831 843] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ ($ Id.VSub_DollarName host))} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (C {<echo>} {(DQ <'\x07The local host\'s name hasn\'t been set. Please set it.'>)}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [860 872] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'def_dom='> name:def_dom) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<domainname>}) right: <Id.Backtick_Right '`'> ) } spids: [889] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '?')} {<-ne>} {<0>} {<Id.Lit_RBracket ']'>}) ] ) action: [ (C {<echo>} {(DQ <'\x07Can\'t get local host\'s domain name. Please check your path.'>)}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [897 909] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ ($ Id.VSub_DollarName def_dom))} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (C {<echo>} {(DQ <'\x07The local host\'s domain name hasn\'t been set. Please set it.'>)}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [926 938] ) ] else_action: [] redirects: [] ) (C {<domainname>} {($ Id.VSub_DollarName def_dom)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'real_def_dom='> name:real_def_dom) op: assign_op.Equal rhs: {($ Id.VSub_DollarName def_dom)} spids: [959] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ypservers_map='> name:ypservers_map) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<ypalias>} {<ypservers>}) right: <Id.Backtick_Right '`'> ) } spids: [965] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'domain_dir='> name:domain_dir) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName yproot_dir)) (DQ <'/'>) (DQ ($ Id.VSub_DollarName def_dom))} spids: [974] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'binding_dir='> name:binding_dir) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName yproot_dir)) (DQ <'/binding/'>) (DQ ($ Id.VSub_DollarName def_dom)) } spids: [985] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'binding_file='> name:binding_file) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName yproot_dir)) (DQ <'/binding/'>) (DQ ($ Id.VSub_DollarName def_dom)) (DQ <'/ypservers'>) } spids: [996] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-d>} {($ Id.VSub_DollarName yproot_dir)} {<-o>} {<-f>} {($ Id.VSub_DollarName yproot_dir)} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (C {<echo>} { (DQ <'\x07The directory '> ($ Id.VSub_DollarName yproot_dir) <' doesn\'t exist. Restore it from the distribution.'> ) } ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [1011 1029] ) ] else_action: [] redirects: [] ) (command.Simple words: [{<echo>} {<ypservers>} {($ Id.VSub_DollarName ypservers_map)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName yproot_dir) <'/aliases'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<echo>} {($ Id.VSub_DollarName real_def_dom)} {($ Id.VSub_DollarName def_dom)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName yproot_dir) <'/aliases'>} ) ] more_env: [] do_fork: T ) (command.CommandList children: [ (command.Sentence child: (command.Pipeline children: [ (C {<sort>} {($ Id.VSub_DollarName yproot_dir) <'/aliases'>}) (command.Simple words: [{<uniq>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/var/run/.ypaliases'>} ) ] more_env: [] do_fork: T ) ] negated: F stderr_indices: [] ) terminator: <Id.Op_Semi _> ) (C {<mv>} {<'/var/run/.ypaliases'>} {($ Id.VSub_DollarName yproot_dir) <'/aliases'>}) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-d>} {(DQ ($ Id.VSub_DollarName yproot_dir)) <'/binding'>} {<Id.Lit_RBracket ']'>} ) ] ) action: [(C {<mkdir>} {(DQ ($ Id.VSub_DollarName yproot_dir)) <'/binding'>})] spids: [1096 1111] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-d>} {($ Id.VSub_DollarName binding_dir)} {<Id.Lit_RBracket ']'>} ) ] ) action: [(C {<mkdir>} {(DQ ($ Id.VSub_DollarName binding_dir))})] spids: [1124 1136] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName slavep)} {<Id.Lit_Equals '='>} {<F>} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName non_interactive)} {<Id.Lit_Equals '='>} {<F>} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName got_host_list)} {<Id.Lit_Equals '='>} {<F>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) body: (command.DoGroup children: [ (C {<touch>} {($ Id.VSub_DollarName hf)}) (C {<echo>} {(DQ )}) (C {<echo>} { (DQ < 'In order for NIS to operate sucessfully, we have to construct a list of the ' > ) } ) (C {<echo>} { (DQ < 'NIS servers. Please continue to add the names for YP servers in order of' > ) } ) (C {<echo>} { (DQ < 'preference, one per line. When you are done with the list, type a <control D>' > ) } ) (C {<echo>} {(DQ <'or a return on a line by itself.'>)}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName masterp)} {<Id.Lit_Equals '='>} {<T>} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (command.Simple words: [{<echo>} {($ Id.VSub_DollarName host)}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName hf)} ) ] more_env: [] do_fork: T ) (C {<echo>} { (DQ <Id.Lit_BadBackslash '\\'> <'tnext host to add: '> ($ Id.VSub_DollarName host) ) } ) ] spids: [1241 1254] ) (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<-f>} {($ Id.VSub_DollarName binding_file)} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName first_time)} {<Id.Lit_Equals '='>} {<T>} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (command.ForEach iter_names: [h] iterable: (for_iter.Words words: [ { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<cat>} {($ Id.VSub_DollarName binding_file)} ) right: <Id.Backtick_Right '`'> ) } ] ) body: (command.DoGroup children: [ (command.Simple words: [{<echo>} {($ Id.VSub_DollarName h)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName hf)} ) ] more_env: [] do_fork: T ) (C {<echo>} { (DQ <Id.Lit_BadBackslash '\\'> <'tnext host to add: '> ($ Id.VSub_DollarName h) ) } ) ] ) redirects: [] ) ] spids: [1289 1302] ) ] else_action: [] redirects: [] ) ] spids: [1275 1286] ) ] else_action: [] redirects: [] ) (C {<echo>} { (DQ <Id.Lit_BadBackslash '\\'> <'tnext host to add: '> <Id.Lit_BadBackslash '\\'> <c> ) } ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Sentence child: (C {<read>} {<h>}) terminator: <Id.Op_Semi _> ) (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName h))}) ] ) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Subshell child: (command.Simple words: [ {<grep>} {($ Id.VSub_DollarName h)} {($ Id.VSub_DollarName hosts_file)} {($ Id.VSub_DollarName hosts6_file)} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) redirects: [] ) (command.Subshell child: (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {($ Id.VSub_DollarName clientp)} {<Id.Lit_Equals '='>} {<T>} ) (C { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<is_valid_ipaddr>} {($ Id.VSub_DollarName h)} ) right: <Id.Backtick_Right '`'> ) } ) ] ) redirects: [] ) ] ) ] ) action: [ (command.Simple words: [{<echo>} {($ Id.VSub_DollarName h)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName hf)} ) ] more_env: [] do_fork: T ) (C {<echo>} { (DQ <Id.Lit_BadBackslash '\\'> <'tnext host to add: '> <Id.Lit_BadBackslash '\\'> <c> ) } ) ] spids: [1426 1471] ) ] else_action: [ (C {<echo>} { (DQ <'host '> ($ Id.VSub_DollarName h) <' not found in '> ($ Id.VSub_DollarName hosts_file) <' or'> ) } {(DQ ($ Id.VSub_DollarName hosts6_file) <.> <Id.Lit_BadBackslash '\\'> <'nNot added to the list.'>)} ) (C {<echo>} {(DQ )}) (C {<echo>} { (DQ <'Do you wish to abort [y/n: y] '> <Id.Lit_BadBackslash '\\'> <c> ) } ) (C {<read>} {<cont_ok>}) (command.Case to_match: {($ Id.VSub_DollarName cont_ok)} arms: [ (case_arm pat_list: [{<n> <Id.Lit_Star '*'>}] action: [ (C {<echo>} { (DQ <Id.Lit_BadBackslash '\\'> <'tnext host to add: '> <Id.Lit_BadBackslash '\\'> <c> ) } ) ] spids: [1544 1546 1556 -1] ) (case_arm pat_list: [{<N> <Id.Lit_Star '*'>}] action: [ (C {<echo>} { (DQ <Id.Lit_BadBackslash '\\'> <'tnext host to add: '> <Id.Lit_BadBackslash '\\'> <c> ) } ) ] spids: [1559 1561 1571 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] spids: [1574 1575 1580 -1] ) ] redirects: [] ) ] redirects: [] ) ] ) redirects: [] ) (C {<echo>} {(DQ )}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<-s>} {($ Id.VSub_DollarName hf)} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (C {<echo>} {(DQ <'The current list of yp servers looks like this:'>)} ) (C {<echo>} {(DQ )}) (C {<cat>} {($ Id.VSub_DollarName hf)}) (C {<echo>} {(DQ )}) (C {<echo>} { (DQ <'Is this correct? [y/n: y] '> <Id.Lit_BadBackslash '\\'> <c> ) } ) ] spids: [1599 1610] ) ] else_action: [ (C {<echo>} {(DQ <'You have not added any server information.'>)}) (C {<echo>} {(DQ )}) (C {<echo>} { (DQ <'Do you still wish to exit? [y/n: y] '> <Id.Lit_BadBackslash '\\'> <c> ) } ) ] redirects: [] ) (C {<read>} {<hlist_ok>}) (command.Case to_match: {($ Id.VSub_DollarName hlist_ok)} arms: [ (case_arm pat_list: [{<n> <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'got_host_list='> name: got_host_list ) op: assign_op.Equal rhs: {<F>} spids: [1692] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'first_time='> name: first_time ) op: assign_op.Equal rhs: {<F>} spids: [1696] ) ] redirects: [] ) (C {<rm>} {($ Id.VSub_DollarName hf)}) (C {<echo>} {(DQ <'Let\'s try the whole thing again...'>)}) ] spids: [1688 1690 1710 -1] ) (case_arm pat_list: [{<N> <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'got_host_list='> name: got_host_list ) op: assign_op.Equal rhs: {<F>} spids: [1717] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'first_time='> name: first_time ) op: assign_op.Equal rhs: {<F>} spids: [1721] ) ] redirects: [] ) (C {<rm>} {($ Id.VSub_DollarName hf)}) (C {<echo>} {(DQ <'Let\'s try the whole thing again...'>)}) ] spids: [1713 1715 1735 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'got_host_list='> name: got_host_list ) op: assign_op.Equal rhs: {<T>} spids: [1741] ) ] redirects: [] ) ] spids: [1738 1739 1743 -1] ) ] redirects: [] ) ] ) redirects: [] ) ] spids: [1163 1176] ) ] else_action: [ (C {<shift>}) (command.Simple words: [] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName hf)} ) ] more_env: [] do_fork: F ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.Op_Great left: {($ Id.VSub_Pound '#')} right: {<0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Subshell child: (command.Simple words: [ {<grep>} {($ Id.VSub_Number 1)} {($ Id.VSub_DollarName hosts_file)} {($ Id.VSub_DollarName hosts6_file)} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) redirects: [] ) (command.Subshell child: (C { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<is_valid_ipaddr>} {($ Id.VSub_Number 1)}) right: <Id.Backtick_Right '`'> ) } ) redirects: [] ) ] ) ] ) action: [ (command.Simple words: [{<echo>} {($ Id.VSub_Number 1)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName hf)} ) ] more_env: [] do_fork: T ) ] spids: [1779 1814] ) ] else_action: [ (C {<echo>} { (DQ <'host '> ($ Id.VSub_Number 1) <' not found in '> ($ Id.VSub_DollarName hosts_file) <' or'> ) } {(DQ ($ Id.VSub_DollarName hosts6_file) <.> <Id.Lit_BadBackslash '\\'> <'nNot added to the list.'>)} ) (C {<echo>} {(DQ )}) ] redirects: [] ) (C {<shift>}) ] ) redirects: [] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<-s>} {($ Id.VSub_DollarName hf)} {<Id.Lit_RBracket ']'>} ) ] ) action: [(C {<cp>} {($ Id.VSub_DollarName hf)} {($ Id.VSub_DollarName binding_file)})] spids: [1868 1879] ) ] else_action: [] redirects: [] ) ] spids: [1148 1160] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName slavep)} {<Id.Lit_Equals '='>} {<T>} {<Id.Lit_RBracket ']'>} ) ] ) action: [(C {<enable_this_boot>} {<'network/nis/client'> <Id.Lit_Colon ':'> <default>})] spids: [1909 1921] ) ] else_action: [(C {<enable_next_boot>} {<'network/nis/client'> <Id.Lit_Colon ':'> <default>})] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName clientp)} {<Id.Lit_Equals '='>} {<T>} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (C {<rm>} {($ Id.VSub_DollarName hf)}) (C {<'/usr/sbin/svcadm'>} {<disable>} {<'network/nis/server'> <Id.Lit_Colon ':'> <default>}) (C {<'/usr/sbin/svcadm'>} {<disable>} {<'network/nis/xfr'> <Id.Lit_Colon ':'> <default>}) (C {<'/usr/sbin/svcadm'>} {<disable>} {<'network/nis/passwd'> <Id.Lit_Colon ':'> <default>}) (C {<'/usr/sbin/svcadm'>} {<disable>} {<'network/nis/update'> <Id.Lit_Colon ':'> <default>}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<0>}) ] spids: [1957 1969] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName slavep)} {<Id.Lit_Equals '='>} {<T>} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName host)} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName master)} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (C {<echo>} { (DQ < '\x07The host specified should be a running master yp server, not this machine.' > ) } ) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] spids: [2035 2048] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'maps='> name:maps) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<ypwhich>} {<-m>}) (C {<egrep>} {($ Id.VSub_DollarName master) <Id.Lit_Dollar '$'>}) (C {<awk>} {(SQ <'{ printf("%s ",$1) }'>)} {<->}) ] negated: F stderr_indices: [] ) right: <Id.Backtick_Right '`'> ) } spids: [2068] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ ($ Id.VSub_DollarName maps))} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (C {<echo>} { (DQ <'\x07Can\'t enumerate maps from '> ($ Id.VSub_DollarName master) <'. Please check that it is running.'> ) } ) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] spids: [2094 2107] ) ] else_action: [] redirects: [] ) ] spids: [2020 2032] ) ] else_action: [] redirects: [] ) (C {<echo>} {(DQ )}) (C {<echo>} {(DQ <'Installing the YP database will require that you answer a few questions.'>)}) (C {<echo>} {(DQ <'Questions will all be asked at the beginning of the procedure.'>)}) (C {<echo>} {(DQ )}) (C {<echo>} { (DQ <'Do you want this procedure to quit on non-fatal errors? [y/n: n] '> <Id.Lit_BadBackslash '\\'> <c> ) } ) (C {<read>} {<doexit>}) (command.Case to_match: {($ Id.VSub_DollarName doexit)} arms: [ (case_arm pat_list: [{<y> <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'exit_on_error='> name:exit_on_error) op: assign_op.Equal rhs: {<T>} spids: [2175] ) ] redirects: [] ) ] spids: [2171 2173 2177 -1] ) (case_arm pat_list: [{<Y> <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'exit_on_error='> name:exit_on_error) op: assign_op.Equal rhs: {<T>} spids: [2183] ) ] redirects: [] ) ] spids: [2179 2181 2185 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (C {<echo>} {(DQ <'OK, please remember to go back and redo manually whatever fails. If you'>)} ) (C {<echo>} {(DQ <'don\'t, some part of the system (perhaps the yp itself) won\'t work.'>)}) ] spids: [2187 2188 2204 -1] ) ] redirects: [] ) (C {<echo>} {(DQ <'The yp domain directory is '> ($ Id.VSub_DollarName yproot_dir)) (DQ <'/'>) (DQ ($ Id.VSub_DollarName def_dom)) } ) (command.ForEach iter_names: [dir] iterable: (for_iter.Words words: [{($ Id.VSub_DollarName yproot_dir) <'/'> ($ Id.VSub_DollarName def_dom)}] ) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-d>} {($ Id.VSub_DollarName dir)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<echo>} { (DQ <'Can we destroy the existing '> ($ Id.VSub_DollarName dir) <' and its contents? [y/n: n] '> <Id.Lit_BadBackslash '\\'> <c> ) } ) (C {<read>} {<kill_old_dir>}) (command.Case to_match: {($ Id.VSub_DollarName kill_old_dir)} arms: [ (case_arm pat_list: [{<y> <Id.Lit_Star '*'>}] action: [ (C {<rm>} {<-r>} {<-f>} {($ Id.VSub_DollarName dir)}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '?')} {<-ne>} {<0>} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (C {<echo>} { (DQ <'\x07Can\'t clean up old directory '> ($ Id.VSub_DollarName dir) <'. Fatal error.'> ) } ) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] spids: [2289 2302] ) ] else_action: [] redirects: [] ) ] spids: [2275 2277 2320 -1] ) (case_arm pat_list: [{<Y> <Id.Lit_Star '*'>}] action: [ (C {<rm>} {<-r>} {<-f>} {($ Id.VSub_DollarName dir)}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '?')} {<-ne>} {<0>} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (C {<echo>} { (DQ <'\x07Can\'t clean up old directory '> ($ Id.VSub_DollarName dir) <'. Fatal error.'> ) } ) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] spids: [2338 2351] ) ] else_action: [] redirects: [] ) ] spids: [2324 2326 2369 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (C {<echo>} {(DQ <'OK, please clean it up by hand and start again. Bye'>)}) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<0>} ) ] spids: [2373 2374 2386 -1] ) ] redirects: [] ) ] spids: [2237 2248] ) ] else_action: [] redirects: [] ) (C {<mkdir>} {($ Id.VSub_DollarName dir)}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '?')} {<-ne>} {<0>} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (C {<echo>} { (DQ <'\x07Can\'t make new directory '> ($ Id.VSub_DollarName dir) <'. Fatal error.'> ) } ) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] spids: [2402 2415] ) ] else_action: [] redirects: [] ) ] ) redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName slavep)} {<Id.Lit_Equals '='>} {<T>} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (C {<echo>} { (DQ <'There will be no further questions. The remainder of the procedure should take'> ) } ) (C {<echo>} {(DQ <'a few minutes, to copy the data bases from '> ($ Id.VSub_DollarName master) <.>)} ) (command.ForEach iter_names: [dom] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName real_def_dom)}]) body: (command.DoGroup children: [ (command.ForEach iter_names: [map] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName maps)}]) body: (command.DoGroup children: [ (C {<echo>} {(DQ <'Transferring '> ($ Id.VSub_DollarName map) <...>)}) (C {($ Id.VSub_DollarName XFR)} {<-h>} {($ Id.VSub_DollarName master)} {<-c>} {<-d>} {($ Id.VSub_DollarName dom)} {($ Id.VSub_DollarName map)} ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '?')} {<-ne>} {<0>} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'errors_in_setup='> name: errors_in_setup ) op: assign_op.Equal rhs: {<T>} spids: [2536] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName exit_on_error)} {<Id.Lit_Equals '='>} {<T>} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] spids: [2541 2554] ) ] else_action: [] redirects: [] ) ] spids: [2520 2533] ) ] else_action: [] redirects: [] ) ] ) redirects: [] ) ] ) redirects: [] ) (C {<echo>} {(DQ )}) (C {<echo>} { (DQ (${ Id.VSub_Name host) <'\'s nis data base has been set up'> <Id.Lit_BadBackslash '\\'> <n> ) } ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName errors_in_setup)} {<Id.Lit_Equals '='>} {<T>} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (C {<echo>} {(DQ <' with errors. Please remember'>)}) (C {<echo>} {(DQ <'to figure out what went wrong, and fix it.'>)}) ] spids: [2594 2607] ) ] else_action: [(C {<echo>} {(DQ <' without any errors.'>)})] redirects: [] ) (C {<enable_this_boot>} {<'network/nis/server'> <Id.Lit_Colon ':'> <default>}) (C {<enable_this_boot>} {<'network/nis/client'> <Id.Lit_Colon ':'> <default>}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<0>}) ] spids: [2438 2450] ) ] else_action: [ (C {<rm>} {<-f>} {($ Id.VSub_DollarName yproot_dir) <'/'> <Id.Lit_Star '*'> <.time>}) (C {<echo>} {(DQ <'There will be no further questions. The remainder of the procedure should take'>)} ) (C {<echo>} {(DQ <'5 to 10 minutes.'>)}) (C {<echo>} { (DQ <'Building '> ($ Id.VSub_DollarName yproot_dir) <'/'> ($ Id.VSub_DollarName def_dom) <'/ypservers...'> ) } ) (C {<makedbm>} {($ Id.VSub_DollarName hf)} {($ Id.VSub_DollarName yproot_dir) <'/'> ($ Id.VSub_DollarName def_dom) <'/'> ($ Id.VSub_DollarName ypservers_map) } ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '?')} {<-ne>} {<0>} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (C {<echo>} { (DQ <'\x07Couldn\'t build yp data base '> ($ Id.VSub_DollarName yproot_dir) <'/'> ($ Id.VSub_DollarName def_dom) <'/'> ($ Id.VSub_DollarName ypservers_map) <.> ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'errors_in_setup='> name: errors_in_setup ) op: assign_op.Equal rhs: {<T>} spids: [2746] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName exit_on_error)} {<Id.Lit_Equals '='>} {<T>} {<Id.Lit_RBracket ']'>} ) ] ) action: [(command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})] spids: [2751 2764] ) ] else_action: [] redirects: [] ) ] spids: [2716 2729] ) ] else_action: [] redirects: [] ) (C {<rm>} {($ Id.VSub_DollarName hf)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'in_pwd='> name:in_pwd) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<pwd>}) right: <Id.Backtick_Right '`'> ) } spids: [2785] ) ] redirects: [] ) (C {<cd>} {($ Id.VSub_DollarName yproot_dir)}) (C {<echo>} {(DQ <'Running '> <Id.Lit_BadBackslash '\\'> <c>)}) (C {<echo>} {($ Id.VSub_DollarName yproot_dir)} {(DQ <Id.Lit_BadBackslash '\\'> <c>)}) (C {<echo>} {(DQ <'/Makefile...'>)}) (C {<make>} {<Id.Lit_VarLike 'NOPUSH='> <1>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '?')} {<-ne>} {<0>} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (C {<echo>} {(DQ <'\x07Error running Makefile.'>)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'errors_in_setup='> name: errors_in_setup ) op: assign_op.Equal rhs: {<T>} spids: [2855] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName exit_on_error)} {<Id.Lit_Equals '='>} {<T>} {<Id.Lit_RBracket ']'>} ) ] ) action: [(command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})] spids: [2861 2874] ) ] else_action: [] redirects: [] ) ] spids: [2831 2844] ) ] else_action: [] redirects: [] ) (C {<cd>} {($ Id.VSub_DollarName in_pwd)}) (C {<echo>} {(DQ )}) (C {<echo>} { (DQ ($ Id.VSub_DollarName host) <' has been set up as a yp master server'> <Id.Lit_BadBackslash '\\'> <c> ) } ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName errors_in_setup)} {<Id.Lit_Equals '='>} {<T>} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (C {<echo>} {(DQ <' with errors. Please remember'>)}) (C {<echo>} {(DQ <'to figure out what went wrong, and fix it.'>)}) ] spids: [2912 2925] ) ] else_action: [(C {<echo>} {(DQ <' without any errors.'>)})] redirects: [] ) (C {<echo>} {(DQ )}) (C {<echo>} {(DQ <'If there are running slave yp servers, run yppush now for any data bases'>)}) (C {<echo>} {(DQ <'which have been changed. If there are no running slaves, run ypinit on'>)}) (C {<echo>} {(DQ <'those hosts which are to be slave servers.'>)}) (C {<enable_this_boot>} {<'network/nis/server'> <Id.Lit_Colon ':'> <default>}) (C {<enable_this_boot>} {<'network/nis/xfr'> <Id.Lit_Colon ':'> <default>}) (C {<enable_this_boot>} {<'network/nis/passwd'> <Id.Lit_Colon ':'> <default>}) (C {<enable_this_boot>} {<'network/nis/update'> <Id.Lit_Colon ':'> <default>}) (C {<enable_this_boot>} {<'network/nis/client'> <Id.Lit_Colon ':'> <default>}) ] redirects: [] ) ] )