(List (= scope= flags=0 words=[] bindings=[('PATH', {[LIT_CHARS /sbin] [LIT_OTHER ":"] [LIT_CHARS /usr/sbin] [LIT_OTHER ":"] [LIT_CHARS /bin] [LIT_OTHER ":"] [LIT_CHARS /usr/bin]})]) (= scope= flags=1 words=[{[LIT_CHARS PATH]}] bindings=[]) (= scope= flags=0 words=[] bindings=[('scriptname', {[DQ [VarSub 0]]})]) (Com {[LIT_CHARS umask]} {[LIT_CHARS 022]}) (FunctionDef on_exit [] (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "error: '"][VarSub scriptname][LIT_CHARS "' exited outside the expected code flow."]]}) ) (Com {[LIT_CHARS trap]} {[LIT_CHARS on_exit]} {[LIT_CHARS EXIT]}) (Com {[LIT_CHARS trap]} {[DQ [LIT_CHARS ":"]]} {[LIT_CHARS INT]} {[LIT_CHARS QUIT]} {[LIT_CHARS TSTP]}) (Com {[LIT_CHARS stty]} {[LIT_CHARS onlcr]} < (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 0), > ) (= scope= flags=0 words=[] bindings=[('runlevel', {[VarSub RUNLEVEL]})]) (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[DQ [VarSub 1]]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[DQ ]} {[LIT_OTHER "]"]}) (= scope= flags=0 words=[] bindings=[('runlevel', {[VarSub 1]})]) ) (If (Com {[LIT_OTHER "["]} {[DQ [VarSub runlevel]]} {[LIT_OTHER "="]} {[DQ ]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Usage: "][VarSub scriptname][LIT_CHARS " "]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (= scope= flags=0 words=[] bindings=[('previous', {[VarSub PREVLEVEL]})]) (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[DQ [VarSub previous]]} {[LIT_OTHER "="]} {[DQ ]} {[LIT_OTHER "]"]}) (= scope= flags=0 words=[] bindings=[('previous', {[LIT_CHARS N]})]) ) (= scope= flags=1 words=[{[LIT_CHARS runlevel]}, {[LIT_CHARS previous]}] bindings=[]) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS -f]} {[LIT_CHARS /etc/default/rcS]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS .]} {[LIT_CHARS /etc/default/rcS]}) ) (= scope= flags=1 words=[{[LIT_CHARS VERBOSE]}] bindings=[]) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS -f]} {[LIT_CHARS /lib/lsb/init-functions]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS .]} {[LIT_CHARS /lib/lsb/init-functions]}) (ElseTrue) (List (FunctionDef log_action_msg [] (Com {[LIT_CHARS echo]} {[VarSub @]}) ) (FunctionDef log_failure_msg [] (Com {[LIT_CHARS echo]} {[VarSub @]}) ) (FunctionDef log_warning_msg [] (Com {[LIT_CHARS echo]} {[VarSub @]}) ) ) ) (= scope= flags=0 words=[] bindings=[('CONCURRENCY', {[LIT_CHARS makefile]})]) (AndOr OP_OR_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -s]} {[LIT_CHARS /etc/init.d/.depend.boot]}) (= scope= flags=0 words=[] bindings=[('CONCURRENCY', {[DQ [LIT_CHARS none]]})]) ) (AndOr OP_OR_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -s]} {[LIT_CHARS /etc/init.d/.depend.start]}) (= scope= flags=0 words=[] bindings=[('CONCURRENCY', {[DQ [LIT_CHARS none]]})]) ) (AndOr OP_OR_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -s]} {[LIT_CHARS /etc/init.d/.depend.stop]}) (= scope= flags=0 words=[] bindings=[('CONCURRENCY', {[DQ [LIT_CHARS none]]})]) ) (If (Com {[LIT_CHARS test]} {[LIT_CHARS -e]} {[LIT_CHARS /etc/init.d/.legacy-bootordering]}) (= scope= flags=0 words=[] bindings=[('CONCURRENCY', {[DQ [LIT_CHARS none]]})]) ) (If (Pipeline! (Com {[LIT_CHARS test]} {[LIT_CHARS -e]} {[LIT_CHARS /proc/stat]}) ) (If (Com {[LIT_OTHER "["]} {[DQ [ComSub (Com {[LIT_CHARS uname]})]]} {[LIT_OTHER "="]} {[DQ [LIT_CHARS GNU/kFreeBSD]]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS mount]} {[LIT_CHARS -t]} {[LIT_CHARS linprocfs]} {[LIT_CHARS linprocfs]} {[LIT_CHARS /proc]}) ) ) (AndOr OP_OR_IF (Com {[LIT_CHARS startpar]} {[LIT_CHARS -v]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) (= scope= flags=0 words=[] bindings=[('CONCURRENCY', {[DQ [LIT_CHARS none]]})]) ) (Case to_match={[DQ [VarSub CONCURRENCY]]}, pat_word_list=[[{[LIT_CHARS makefile]}, {[LIT_CHARS startpar]}, {[LIT_CHARS shell]}], [{[LIT_CHARS none]}, {[LIT_OTHER "*"]}]] (List (= scope= flags=0 words=[] bindings=[('CONCURRENCY', {[LIT_CHARS makefile]})]) (Com {[LIT_CHARS log_action_msg]} {[DQ [LIT_CHARS "Using makefile-style concurrent boot in runlevel "][VarSub runlevel]]}) (FunctionDef startup [] (List (Com {[LIT_CHARS eval]} {[DQ [ComSub (Com {[LIT_CHARS startpar]} {[LIT_CHARS -p]} {[LIT_CHARS 4]} {[LIT_CHARS -t]} {[LIT_CHARS 20]} {[LIT_CHARS -T]} {[LIT_CHARS 3]} {[LIT_CHARS -M]} {[VarSub 1]} {[LIT_CHARS -P]} {[VarSub previous]} {[LIT_CHARS -R]} {[VarSub runlevel]})]]}) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS -n]} {[DQ [VarSub failed_service]]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS log_failure_msg]} {[DQ [LIT_CHARS "startpar: service(s) returned failure: "][VarSub failed_service]]}) ) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS -n]} {[DQ [VarSub skipped_service_not_installed]]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS log_warning_msg]} {[DQ [LIT_CHARS "startpar: service(s) skipped, program is not installed: "][VarSub skipped_service_not_installed]]}) ) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS -n]} {[DQ [VarSub skipped_service_not_configured]]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS log_warning_msg]} {[DQ [LIT_CHARS "startpar: service(s) skipped, program is not configured: "][VarSub skipped_service_not_configured]]}) ) (Com {[LIT_CHARS unset]} {[LIT_CHARS failed_service]} {[LIT_CHARS skipped_service_not_installed]} {[LIT_CHARS skipped_service_not_configured]}) ) ) ) (FunctionDef startup [] (List (= scope= flags=0 words=[] bindings=[('action', {[VarSub 1]})]) (Com {[LIT_CHARS shift]}) (= scope= flags=0 words=[] bindings=[('scripts', {[DQ [VarSub @]]})]) (For script [{[VarSub scripts]}]) (Com {[VarSub debug]} {[DQ [VarSub script]]} {[VarSub action]}) ) ) ) ) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS -d]} {[LIT_CHARS /etc/rc] [VarSub runlevel] [LIT_CHARS .d]} {[LIT_OTHER "]"]}) (List (Case to_match={[DQ [VarSub runlevel]]}, pat_word_list=[[{[LIT_CHARS 0]}, {[LIT_CHARS 6]}], [{[LIT_CHARS S]}], [{[LIT_OTHER "*"]}]] (= scope= flags=0 words=[] bindings=[('ACTION', {[LIT_CHARS stop]})]) (= scope= flags=0 words=[] bindings=[('ACTION', {[LIT_CHARS start]})]) (= scope= flags=0 words=[] bindings=[('ACTION', {[LIT_CHARS start]})]) ) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS makefile]} {[LIT_OTHER "="]} {[DQ [VarSub CONCURRENCY]]} {[LIT_OTHER "]"]}) (If (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[DQ [VarSub ACTION]]} {[LIT_OTHER "="]} {[DQ [LIT_CHARS start]]} {[LIT_OTHER "]"]}) (Com {[LIT_OTHER "["]} {[DQ [VarSub previous]]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[LIT_CHARS N]} {[LIT_OTHER "]"]}) ) (Com {[LIT_CHARS startup]} {[LIT_CHARS stop]}) ) (Com {[LIT_OTHER "["]} {[DQ [VarSub previous]]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[LIT_CHARS N]} {[LIT_OTHER "]"]}) (List (= scope= flags=0 words=[] bindings=[('CURLEVEL', {[DQ ]})]) (For s [{[LIT_CHARS /etc/rc] [VarSub runlevel] [LIT_CHARS .d/K] [LIT_OTHER "*"]}]) (List (= scope= flags=0 words=[] bindings=[('level', {[VarSub s transform_ops=[VS_UNARY_POUND {[LIT_SLASH /] [LIT_CHARS etc] [LIT_SLASH /] [LIT_CHARS rc] [VarSub runlevel] [LIT_CHARS .d] [LIT_SLASH /] [LIT_CHARS K]}]]})]) (= scope= flags=0 words=[] bindings=[('level', {[VarSub level transform_ops=[VS_UNARY_DPERCENT {[LIT_CHARS "[a-zA-Z]*"]}]]})]) (If (Com {[LIT_OTHER "["]} {[DQ [VarSub level]]} {[LIT_OTHER "="]} {[DQ [VarSub CURLEVEL]]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS continue]}) ) (= scope= flags=0 words=[] bindings=[('CURLEVEL', {[VarSub level]})]) (= scope= flags=0 words=[] bindings=[('SCRIPTS', {[DQ ]})]) (For i [{[LIT_CHARS /etc/rc] [VarSub runlevel] [LIT_CHARS .d/K] [VarSub level] [LIT_OTHER "*"]}]) (List (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[LIT_OTHER "!"]} {[LIT_CHARS -f]} {[VarSub i]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS continue]}) ) (= scope= flags=0 words=[] bindings=[('suffix', {[VarSub i transform_ops=[VS_UNARY_POUND {[LIT_SLASH /] [LIT_CHARS etc] [LIT_SLASH /] [LIT_CHARS rc] [VarSub runlevel] [LIT_CHARS .d] [LIT_SLASH /] [LIT_CHARS "K[0-9][0-9]"]}]]})]) (= scope= flags=0 words=[] bindings=[('previous_stop', {[LIT_CHARS /etc/rc] [VarSub previous] [LIT_CHARS .d/K] [LIT_OTHER "["] [LIT_CHARS 0-9] [LIT_OTHER "]"] [LIT_OTHER "["] [LIT_CHARS 0-9] [LIT_OTHER "]"] [VarSub suffix]})]) (= scope= flags=0 words=[] bindings=[('previous_start', {[LIT_CHARS /etc/rc] [VarSub previous] [LIT_CHARS .d/S] [LIT_OTHER "["] [LIT_CHARS 0-9] [LIT_OTHER "]"] [LIT_OTHER "["] [LIT_CHARS 0-9] [LIT_OTHER "]"] [VarSub suffix]})]) (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[LIT_CHARS -f]} {[VarSub previous_stop]} {[LIT_OTHER "]"]}) (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[LIT_OTHER "!"]} {[LIT_CHARS -f]} {[VarSub previous_start]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS continue]}) ) ) (= scope= flags=0 words=[] bindings=[('SCRIPTS', {[DQ [VarSub SCRIPTS][LIT_CHARS " "][VarSub i]]})]) ) ) (Com {[LIT_CHARS startup]} {[LIT_CHARS stop]} {[VarSub SCRIPTS]}) ) ) ) ) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS makefile]} {[LIT_OTHER "="]} {[DQ [VarSub CONCURRENCY]]} {[LIT_OTHER "]"]}) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS S]} {[LIT_OTHER "="]} {[DQ [VarSub runlevel]]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS startup]} {[LIT_CHARS boot]}) (ElseTrue) (Com {[LIT_CHARS startup]} {[VarSub ACTION]}) ) (ElseTrue) (List (= scope= flags=0 words=[] bindings=[('CURLEVEL', {[DQ ]})]) (For s [{[LIT_CHARS /etc/rc] [VarSub runlevel] [LIT_CHARS .d/S] [LIT_OTHER "*"]}]) (List (= scope= flags=0 words=[] bindings=[('level', {[VarSub s transform_ops=[VS_UNARY_POUND {[LIT_SLASH /] [LIT_CHARS etc] [LIT_SLASH /] [LIT_CHARS rc] [VarSub runlevel] [LIT_CHARS .d] [LIT_SLASH /] [LIT_CHARS S]}]]})]) (= scope= flags=0 words=[] bindings=[('level', {[VarSub level transform_ops=[VS_UNARY_DPERCENT {[LIT_CHARS "[a-zA-Z]*"]}]]})]) (If (Com {[LIT_OTHER "["]} {[DQ [VarSub level]]} {[LIT_OTHER "="]} {[DQ [VarSub CURLEVEL]]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS continue]}) ) (= scope= flags=0 words=[] bindings=[('CURLEVEL', {[VarSub level]})]) (= scope= flags=0 words=[] bindings=[('SCRIPTS', {[DQ ]})]) (For i [{[LIT_CHARS /etc/rc] [VarSub runlevel] [LIT_CHARS .d/S] [VarSub level] [LIT_OTHER "*"]}]) (List (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[LIT_OTHER "!"]} {[LIT_CHARS -f]} {[VarSub i]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS continue]}) ) (= scope= flags=0 words=[] bindings=[('suffix', {[VarSub i transform_ops=[VS_UNARY_POUND {[LIT_SLASH /] [LIT_CHARS etc] [LIT_SLASH /] [LIT_CHARS rc] [VarSub runlevel] [LIT_CHARS .d] [LIT_SLASH /] [LIT_CHARS "S[0-9][0-9]"]}]]})]) (If (Com {[LIT_OTHER "["]} {[DQ [VarSub previous]]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[LIT_CHARS N]} {[LIT_OTHER "]"]}) (List (= scope= flags=0 words=[] bindings=[('stop', {[LIT_CHARS /etc/rc] [VarSub runlevel] [LIT_CHARS .d/K] [LIT_OTHER "["] [LIT_CHARS 0-9] [LIT_OTHER "]"] [LIT_OTHER "["] [LIT_CHARS 0-9] [LIT_OTHER "]"] [VarSub suffix]})]) (= scope= flags=0 words=[] bindings=[('previous_start', {[LIT_CHARS /etc/rc] [VarSub previous] [LIT_CHARS .d/S] [LIT_OTHER "["] [LIT_CHARS 0-9] [LIT_OTHER "]"] [LIT_OTHER "["] [LIT_CHARS 0-9] [LIT_OTHER "]"] [VarSub suffix]})]) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS start]} {[LIT_OTHER "="]} {[DQ [VarSub ACTION]]} {[LIT_OTHER "]"]}) (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[LIT_CHARS -f]} {[VarSub previous_start]} {[LIT_OTHER "]"]}) (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[LIT_OTHER "!"]} {[LIT_CHARS -f]} {[VarSub stop]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS continue]}) ) ) (ElseTrue) (List (= scope= flags=0 words=[] bindings=[('previous_stop', {[LIT_CHARS /etc/rc] [VarSub previous] [LIT_CHARS .d/K] [LIT_OTHER "["] [LIT_CHARS 0-9] [LIT_OTHER "]"] [LIT_OTHER "["] [LIT_CHARS 0-9] [LIT_OTHER "]"] [VarSub suffix]})]) (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[LIT_CHARS -f]} {[VarSub previous_stop]} {[LIT_OTHER "]"]}) (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[LIT_OTHER "!"]} {[LIT_CHARS -f]} {[VarSub previous_start]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS continue]}) ) ) ) ) ) ) (= scope= flags=0 words=[] bindings=[('SCRIPTS', {[DQ [VarSub SCRIPTS][LIT_CHARS " "][VarSub i]]})]) ) ) (Com {[LIT_CHARS startup]} {[VarSub ACTION]} {[VarSub SCRIPTS]}) ) ) ) ) ) ) (Com {[LIT_CHARS trap]} {[LIT_CHARS -]} {[LIT_CHARS EXIT]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 0]}) )