(command.CommandList children: [ (C {<.>} {(${ Id.VSub_Name BACKEND) <'/functions-mountoptical.sh'>}) (command.ShFunction name: start_extract_dist body: (BraceGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ ($ Id.VSub_Number '$1'))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Sentence child: (C {<exit_err>} {(DQ <'Called dist extraction with no directory set!'>)}) terminator: <Id.Op_Semi _> ) ] spids: [101 115] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ ($ Id.VSub_DollarName '$INSFILE'))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Sentence child: (C {<exit_err>} {(DQ <'Called extraction with no install file set!'>)}) terminator: <Id.Op_Semi _> ) ] spids: [127 140] ) ] ) (C {<local>} {<Id.Lit_VarLike 'DDIR='> (DQ ($ Id.VSub_Number '$1'))}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ (${ Id.VSub_Name INSTALLMODE))} {<Id.Lit_Equals '='>} {(DQ <upgrade>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TAROPTS) op: assign_op.Equal rhs: {(DQ <'-X '> (${ Id.VSub_Name PROGDIR) <'/conf/exclude-from-upgrade'>)} spids: [187] ) ] ) ] spids: [165 184] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TAROPTS) op: assign_op.Equal rhs: {(DQ )} spids: [200] ) ] ) ] ) (command.ForEach iter_name: di iter_words: [{($ Id.VSub_DollarName '$INSFILE')}] do_arg_iter: F body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-e>} {(DQ (${ Id.VSub_Name DDIR) <'/MANIFEST'>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:count) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<grep>} {(DQ <'^'> (${ Id.VSub_Name di) <.txz>)} {(${ Id.VSub_Name DDIR) <'/MANIFEST'>} ) (C {<awk>} {(SQ <'{print $3}'>)}) ] negated: F ) ) } spids: [249] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-z>} {(DQ ($ Id.VSub_DollarName '$count'))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<echo>} {(DQ <'INSTALLCOUNT: '> ($ Id.VSub_DollarName '$count'))} ) ] spids: [278 294] ) ] ) ] spids: [229 245] ) ] ) (C {<echo_log>} {(DQ <'pc-sysinstall: Starting Extraction ('> (${ Id.VSub_Name di) <')'>)} ) (command.Simple words: [ {<tar>} {<-xpv>} {<-C>} {(${ Id.VSub_Name FSMNT)} {<-f>} {(${ Id.VSub_Name DDIR) <'/'> (${ Id.VSub_Name di) <.txz>} {(${ Id.VSub_Name TAROPTS)} ] redirects: [ (redir op: <Id.Redir_GreatAnd '>&'> loc: (redir_loc.Fd fd:1) arg: {<1>} ) (redir op: <Id.Redir_GreatAnd '2>&'> loc: (redir_loc.Fd fd:2) arg: {<1>} ) ] do_fork: T ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '$?')} {<-ne>} {<0>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<exit_err>} { (DQ <'ERROR: Failed extracting the dist file: '> ($ Id.VSub_DollarName '$di') ) } ) ] spids: [354 367] ) ] ) ] ) ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ (${ Id.VSub_Name INSTALLMEDIUM))} {<Id.Lit_Equals '='>} {(DQ <ftp>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<echo_log>} {(DQ <'Cleaning up downloaded archives'>)}) (C {<rm>} {<-rf>} {(${ Id.VSub_Name DDIR)}) ] spids: [389 408] ) ] ) (C {<echo_log>} {(DQ <'pc-sysinstall: Extraction Finished'>)}) ] ) ) (command.Sentence child: (command.ShFunction name: start_extract_uzip_tar body: (BraceGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ ($ Id.VSub_DollarName '$INSFILE'))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<exit_err>} {(DQ <'ERROR: Called extraction with no install file set!'>)}) ] spids: [450 463] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-e>} {(DQ (${ Id.VSub_Name INSFILE) <.count>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<echo>} { (DQ <'INSTALLCOUNT: '> (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<cat>} {(${ Id.VSub_Name INSFILE) <.count>}) ) ) } ) ] spids: [481 497] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ (${ Id.VSub_Name INSTALLMODE))} {<Id.Lit_Equals '='>} {(DQ <upgrade>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TAROPTS) op: assign_op.Equal rhs: { (DQ <'-X '> (${ Id.VSub_Name PROGDIR) <'/conf/exclude-from-upgrade'>) } spids: [547] ) ] ) ] spids: [525 544] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TAROPTS) op: assign_op.Equal rhs: {(DQ )} spids: [560] ) ] ) ] ) (C {<echo_log>} {(DQ <'pc-sysinstall: Starting Extraction'>)}) (command.Case to_match: {(${ Id.VSub_Name PACKAGETYPE)} arms: [ (case_arm pat_list: [{<uzip>}] action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.Pipeline children: [ (C {<kldstat>} {<-v>}) (C {<grep>} {<-q>} {(DQ <geom_uzip>)}) ] negated: T ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<exit_err>} {(DQ <'Kernel module geom_uzip not loaded'>)})] spids: [590 610] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:MDDEVICE) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<mdconfig>} {<-a>} {<-t>} {<vnode>} {<-o>} {<readonly>} {<-f>} {(${ Id.VSub_Name INSFILE)} ) ) } spids: [628] ) ] ) (C {<mkdir>} {<-p>} {(${ Id.VSub_Name FSMNT) <.uzip>}) (C {<mount>} {<-r>} {<'/dev/'> (${ Id.VSub_Name MDDEVICE) <.uzip>} {(${ Id.VSub_Name FSMNT) <.uzip>} ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '$?')} {<-ne>} {<0>} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (C {<exit_err>} {(DQ <'ERROR: Failed mounting the '> (${ Id.VSub_Name INSFILE))} ) ] spids: [678 691] ) ] ) (C {<cd>} {(${ Id.VSub_Name FSMNT) <.uzip>}) (command.Pipeline children: [ (command.Simple words: [{<tar>} {<cvf>} {<->} {<.>}] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) (command.Simple words: [ {<tar>} {<-xpv>} {<-C>} {(${ Id.VSub_Name FSMNT)} {(${ Id.VSub_Name TAROPTS)} {<-f>} {<->} ] redirects: [ (redir op: <Id.Redir_GreatAnd '2>&'> loc: (redir_loc.Fd fd:2) arg: {<1>} ) ] do_fork: T ) (C {<tee>} {<-a>} {(${ Id.VSub_Name FSMNT) <'/.tar-extract.log'>}) ] negated: F ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '$?')} {<-ne>} {<0>} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (C {<cd>} {<'/'>}) (command.Simple words: [{<echo>} {(DQ <'TAR failure occurred:'>)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {(${ Id.VSub_Name LOGOUT)} ) ] do_fork: T ) (command.Pipeline children: [ (C {<cat>} {(${ Id.VSub_Name FSMNT) <'/.tar-extract.log'>}) (command.Simple words: [{<grep>} {(DQ <'tar:'>)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {(${ Id.VSub_Name LOGOUT)} ) ] do_fork: T ) ] negated: F ) (C {<umount>} {(${ Id.VSub_Name FSMNT) <.uzip>}) (C {<mdconfig>} {<-d>} {<-u>} {(${ Id.VSub_Name MDDEVICE)}) (C {<exit_err>} {(DQ <'ERROR: Failed extracting the tar image'>)}) ] spids: [766 779] ) ] ) (C {<cd>} {<'/'>}) (C {<umount>} {(${ Id.VSub_Name FSMNT) <.uzip>}) (C {<mdconfig>} {<-d>} {<-u>} {(${ Id.VSub_Name MDDEVICE)}) ] spids: [586 587 878 -1] ) (case_arm pat_list: [{<tar>}] action: [ (command.Simple words: [ {<tar>} {<-xpv>} {<-C>} {(${ Id.VSub_Name FSMNT)} {<-f>} {(${ Id.VSub_Name INSFILE)} {(${ Id.VSub_Name TAROPTS)} ] redirects: [ (redir op: <Id.Redir_GreatAnd '>&'> loc: (redir_loc.Fd fd:1) arg: {<1>} ) (redir op: <Id.Redir_GreatAnd '2>&'> loc: (redir_loc.Fd fd:2) arg: {<1>} ) ] do_fork: T ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '$?')} {<-ne>} {<0>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<exit_err>} {(DQ <'ERROR: Failed extracting the tar image'>)}) ] spids: [912 925] ) ] ) ] spids: [881 882 938 -1] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {(DQ (${ Id.VSub_Name INSTALLMEDIUM))} {<Id.Lit_Equals '='>} {(DQ <ftp>)} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (C {<echo_log>} {(DQ <'Cleaning up downloaded archive'>)}) (C {<rm>} {(${ Id.VSub_Name INSFILE)}) (command.Simple words: [{<rm>} {(${ Id.VSub_Name INSFILE) <.count>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) (command.Simple words: [{<rm>} {(${ Id.VSub_Name INSFILE) <.md5>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) ] spids: [949 968] ) ] ) (C {<echo_log>} {(DQ <'pc-sysinstall: Extraction Finished'>)}) ] ) ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.ShFunction name: start_extract_split body: (BraceGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ (${ Id.VSub_Name INSDIR))} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (C {<exit_err>} {(DQ <'ERROR: Called extraction with no install directory set!'>)} ) ] spids: [1040 1055] ) ] ) (C {<echo_log>} {(DQ <'pc-sysinstall: Starting Extraction'>)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DESTDIR) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name FSMNT))} spids: [1081] ) ] ) (C {<export>} {<DESTDIR>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HERE) op: assign_op.Equal rhs: {(command_sub left_token:<Id.Left_Backtick '`'> child:(C {<pwd>}))} spids: [1095] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DIRS) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<ls>} {<-d>} {(${ Id.VSub_Name INSDIR) <'/'> <Id.Lit_Star '*'>}) (C {<grep>} {<-Ev>} {(SQ <'(uzip|kernels|src)'>)}) ] negated: F ) ) } spids: [1103] ) ] ) (command.ForEach iter_name: dir iter_words: [{(${ Id.VSub_Name DIRS)}] do_arg_iter: F body: (command.DoGroup children: [ (C {<cd>} {(DQ (${ Id.VSub_Name dir))}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<-f>} {(DQ <install.sh>)} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (C {<echo_log>} {(DQ <Extracting>)} { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<basename>} {(${ Id.VSub_Name dir)}) ) } ) (command.Pipeline children: [ (C {<echo>} {(DQ <y>)}) (command.Simple words: [{<sh>} {<install.sh>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] do_fork: T ) ] negated: F ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '$?')} {<-ne>} {<0>} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (C {<exit_err>} {(DQ <'ERROR: Failed extracting '> (${ Id.VSub_Name dir))} ) ] spids: [1199 1212] ) ] ) ] spids: [1150 1163] ) ] else_action: [ (C {<exit_err>} {(DQ <'ERROR: '> (${ Id.VSub_Name dir) <'/install.sh does not exist'>)} ) ] ) ] ) ) (C {<cd>} {(DQ (${ Id.VSub_Name HERE))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:KERNELS) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<ls>} {<-d>} {(${ Id.VSub_Name INSDIR) <'/'> <Id.Lit_Star '*'>}) (C {<grep>} {<kernels>}) ] negated: F ) ) } spids: [1259] ) ] ) (C {<cd>} {(DQ (${ Id.VSub_Name KERNELS))}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<-f>} {(DQ <install.sh>)} {<Id.Lit_RBracket ']'>}) ] ) action: [ (C {<echo_log>} {(DQ <Extracting>)} { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<basename>} {(${ Id.VSub_Name KERNELS)}) ) } ) (command.Pipeline children: [ (C {<echo>} {(DQ <y>)}) (command.Simple words: [{<sh>} {<install.sh>} {<generic>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] do_fork: T ) ] negated: F ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '$?')} {<-ne>} {<0>} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (C {<exit_err>} {(DQ <'ERROR: Failed extracting '> (${ Id.VSub_Name KERNELS))} ) ] spids: [1339 1352] ) ] ) (C {<rm>} {<-rf>} {(DQ (${ Id.VSub_Name FSMNT) <'/boot/kernel'>)}) (C {<mv>} {(DQ (${ Id.VSub_Name FSMNT) <'/boot/GENERIC'>)} {(DQ (${ Id.VSub_Name FSMNT) <'/boot/kernel'>)} ) ] spids: [1288 1301] ) ] else_action: [ (C {<exit_err>} {(DQ <'ERROR: '> (${ Id.VSub_Name KERNELS) <'/install.sh does not exist'>)} ) ] ) (C {<cd>} {(DQ (${ Id.VSub_Name HERE))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:SOURCE) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<ls>} {<-d>} {(${ Id.VSub_Name INSDIR) <'/'> <Id.Lit_Star '*'>}) (C {<grep>} {<src>}) ] negated: F ) ) } spids: [1424] ) ] ) (C {<cd>} {(DQ (${ Id.VSub_Name SOURCE))}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<-f>} {(DQ <install.sh>)} {<Id.Lit_RBracket ']'>}) ] ) action: [ (C {<echo_log>} {(DQ <Extracting>)} { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<basename>} {(${ Id.VSub_Name SOURCE)}) ) } ) (command.Pipeline children: [ (C {<echo>} {(DQ <y>)}) (command.Simple words: [{<sh>} {<install.sh>} {<all>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] do_fork: T ) ] negated: F ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '$?')} {<-ne>} {<0>} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (C {<exit_err>} {(DQ <'ERROR: Failed extracting '> (${ Id.VSub_Name SOURCE))} ) ] spids: [1504 1517] ) ] ) ] spids: [1453 1466] ) ] else_action: [ (C {<exit_err>} {(DQ <'ERROR: '> (${ Id.VSub_Name SOURCE) <'/install.sh does not exist'>)} ) ] ) (C {<cd>} {(DQ (${ Id.VSub_Name HERE))}) (C {<echo_log>} {(DQ <'pc-sysinstall: Extraction Finished'>)}) ] ) ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.ShFunction name: fetch_dist_file body: (BraceGroup children: [ (C {<get_value_from_cfg>} {<ftpPath>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ ($ Id.VSub_DollarName '$VAL'))} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (C {<exit_err>} { (DQ <'ERROR: Install medium was set to ftp, but no ftpPath was provided!'> ) } ) ] spids: [1585 1598] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:FTPPATH) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name VAL))} spids: [1613] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<-d>} {(DQ (${ Id.VSub_Name FSMNT) <'/usr'>)} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DLDIR) op: assign_op.Equal rhs: { (DQ (${ Id.VSub_Name FSMNT) <'/usr/.fetch.'> ($ Id.VSub_Dollar '$$')) } spids: [1646] ) ] ) ] spids: [1627 1643] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DLDIR) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name FSMNT) <'/.fetch.'> ($ Id.VSub_Dollar '$$'))} spids: [1659] ) ] ) ] ) (C {<mkdir>} {<-p>} {(${ Id.VSub_Name DLDIR)}) (command.ForEach iter_name: di iter_words: [{($ Id.VSub_DollarName '$INSFILE')}] do_arg_iter: F body: (command.DoGroup children: [ (C {<fetch_file>} {(DQ (${ Id.VSub_Name FTPPATH) <'/'> (${ Id.VSub_Name di) <.txz>)} {(DQ (${ Id.VSub_Name DLDIR) <'/'> (${ Id.VSub_Name di) <.txz>)} {(DQ <1>)} ) ] ) ) (C {<fetch_file>} {(DQ (${ Id.VSub_Name FTPPATH) <'/MANIFEST'>)} {(DQ (${ Id.VSub_Name DLDIR) <'/MANIFEST'>)} {(DQ <0>)} ) (C {<export>} {<DLDIR>}) ] ) ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.ShFunction name: fetch_install_file body: (BraceGroup children: [ (C {<get_value_from_cfg>} {<ftpPath>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ ($ Id.VSub_DollarName '$VAL'))} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (C {<exit_err>} { (DQ <'ERROR: Install medium was set to ftp, but no ftpPath was provided!'> ) } ) ] spids: [1783 1796] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:FTPPATH) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name VAL))} spids: [1811] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<-d>} {(DQ (${ Id.VSub_Name FSMNT) <'/usr'>)} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:OUTFILE) op: assign_op.Equal rhs: { (DQ (${ Id.VSub_Name FSMNT) <'/usr/.fetch-'> (${ Id.VSub_Name INSFILE) ) } spids: [1844] ) ] ) ] spids: [1825 1841] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:OUTFILE) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name FSMNT) <'/.fetch-'> (${ Id.VSub_Name INSFILE))} spids: [1859] ) ] ) ] ) (C {<fetch_file>} {(DQ (${ Id.VSub_Name FTPPATH) <'/'> (${ Id.VSub_Name INSFILE))} {(DQ (${ Id.VSub_Name OUTFILE))} {(DQ <1>)} ) (C {<fetch_file>} {(DQ (${ Id.VSub_Name FTPPATH) <'/'> (${ Id.VSub_Name INSFILE) <.count>)} {(DQ (${ Id.VSub_Name OUTFILE) <.count>)} {(DQ <0>)} ) (C {<fetch_file>} {(DQ (${ Id.VSub_Name FTPPATH) <'/'> (${ Id.VSub_Name INSFILE) <.md5>)} {(DQ (${ Id.VSub_Name OUTFILE) <.md5>)} {(DQ <0>)} ) (C {<export>} {<Id.Lit_VarLike 'INSFILE='> (DQ (${ Id.VSub_Name OUTFILE))}) ] ) ) terminator: <Id.Op_Semi _> ) (command.ShFunction name: fetch_split_files body: (BraceGroup children: [ (C {<get_ftpHost>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ ($ Id.VSub_DollarName '$VAL'))} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (C {<exit_err>} {(DQ <'ERROR: Install medium was set to ftp, but no ftpHost was provided!'>)} ) ] spids: [1994 2007] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:FTPHOST) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name VAL))} spids: [2021] ) ] ) (C {<get_ftpDir>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ ($ Id.VSub_DollarName '$VAL'))} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (C {<exit_err>} {(DQ <'ERROR: Install medium was set to ftp, but no ftpDir was provided!'>)} ) ] spids: [2033 2046] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:FTPDIR) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name VAL))} spids: [2060] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<-d>} {(DQ (${ Id.VSub_Name FSMNT) <'/usr'>)} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:OUTFILE) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name FSMNT) <'/usr/.fetch-'> (${ Id.VSub_Name INSFILE))} spids: [2092] ) ] ) ] spids: [2073 2089] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:OUTFILE) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name FSMNT) <'/.fetch-'> (${ Id.VSub_Name INSFILE))} spids: [2107] ) ] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DIRS) op: assign_op.Equal rhs: {(DQ <'base catpages dict doc info manpages proflibs kernels src'>)} spids: [2123] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {(DQ (${ Id.VSub_Name FBSD_ARCH))} {<Id.Lit_Equals '='>} {(DQ <amd64>)} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DIRS) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name DIRS) <' lib32'>)} spids: [2151] ) ] ) ] spids: [2129 2148] ) ] ) (command.ForEach iter_name: d iter_words: [{(${ Id.VSub_Name DIRS)}] do_arg_iter: F body: (command.DoGroup children: [ (C {<mkdir>} {<-p>} {(DQ (${ Id.VSub_Name OUTFILE) <'/'> (${ Id.VSub_Name d))}) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:NETRC) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name OUTFILE) <'/.netrc'>)} spids: [2198] ) ] ) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_span_id: 2230 stdin_parts: [ <'machine '> (${ Id.VSub_Name FTPHOST) <'\n'> <'login anonymous\n'> <'password anonymous\n'> <'macdef INSTALL\n'> <'bin\n'> <'prompt\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ (${ Id.VSub_Name NETRC))} ) ] do_fork: T ) (command.ForEach iter_name: d iter_words: [{(${ Id.VSub_Name DIRS)}] do_arg_iter: F body: (command.DoGroup children: [ (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_span_id: 2279 stdin_parts: [ <'cd '> (${ Id.VSub_Name FTPDIR) <'/'> (${ Id.VSub_Name d) <'\n'> <'lcd '> (${ Id.VSub_Name OUTFILE) <'/'> (${ Id.VSub_Name d) <'\n'> <'mreget *\n'> ] ) ) (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {(DQ (${ Id.VSub_Name NETRC))} ) ] do_fork: T ) ] ) ) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_span_id: 2301 stdin_parts: [<'bye\n'> <'\n'> <'\n'>] ) ) (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {(DQ (${ Id.VSub_Name NETRC))} ) ] do_fork: T ) (command.Pipeline children: [ (C {<echo>} {(DQ <Id.Lit_Dollar '$'> <' INSTALL'>)}) (C {<ftp>} {<-N>} {(DQ (${ Id.VSub_Name NETRC))} {(DQ (${ Id.VSub_Name FTPHOST))}) ] negated: F ) (C {<export>} {<Id.Lit_VarLike 'INSFILE='> (DQ (${ Id.VSub_Name OUTFILE))}) ] ) ) (command.Sentence child: (command.ShFunction name: start_rsync_copy body: (BraceGroup children: [ (C {<get_value_from_cfg>} {<rsyncPath>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ (${ Id.VSub_Name VAL))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<exit_err>} { (DQ <'ERROR: rsyncPath is unset! Please check your config and try again.'> ) } ) ] spids: [2370 2385] ) ] ) (C {<export>} {<Id.Lit_VarLike 'RSYNCPATH='> (DQ (${ Id.VSub_Name VAL))}) (C {<get_value_from_cfg>} {<rsyncHost>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ (${ Id.VSub_Name VAL))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<exit_err>} { (DQ <'ERROR: rsyncHost is unset! Please check your config and try again.'> ) } ) ] spids: [2414 2429] ) ] ) (C {<export>} {<Id.Lit_VarLike 'RSYNCHOST='> (DQ (${ Id.VSub_Name VAL))}) (C {<get_value_from_cfg>} {<rsyncUser>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ (${ Id.VSub_Name VAL))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<exit_err>} { (DQ <'ERROR: rsyncUser is unset! Please check your config and try again.'> ) } ) ] spids: [2458 2473] ) ] ) (C {<export>} {<Id.Lit_VarLike 'RSYNCUSER='> (DQ (${ Id.VSub_Name VAL))}) (C {<get_value_from_cfg>} {<rsyncPort>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ (${ Id.VSub_Name VAL))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<exit_err>} { (DQ <'ERROR: rsyncPort is unset! Please check your config and try again.'> ) } ) ] spids: [2502 2517] ) ] ) (C {<export>} {<Id.Lit_VarLike 'RSYNCPORT='> (DQ (${ Id.VSub_Name VAL))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COUNT) op: assign_op.Equal rhs: {<1>} spids: [2541] ) ] ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:z) op: assign_op.Equal rhs: {<1>} spids: [2548] ) ] ) ] ) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {(${ Id.VSub_Name COUNT)} {<-gt>} {(${ Id.VSub_Name RSYNCTRIES)} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (C {<exit_err>} {(DQ <'ERROR: Failed rsync command!'>)}) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] spids: [2555 2572] ) ] ) (C {<rsync>} {<-avvzHsR>} {<--rsync-path> <Id.Lit_Equals '='> (DQ <'rsync --fake-super'>)} {<-e>} {(DQ <'ssh -p '> (${ Id.VSub_Name RSYNCPORT))} {(${ Id.VSub_Name RSYNCUSER) <Id.Lit_At '@'> (${ Id.VSub_Name RSYNCHOST) <Id.Lit_Colon ':'> (${ Id.VSub_Name RSYNCPATH) <'/./'> } {(${ Id.VSub_Name FSMNT)} ) (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 <'Rsync failed! Tries: '> (${ Id.VSub_Name COUNT))}) ] spids: [2632 2645] ) ] else_action: [(command.ControlFlow token:<Id.ControlFlow_Break break>)] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COUNT) op: assign_op.Equal rhs: { (word_part.ArithSub anode: (arith_expr.Binary op_id: Id.Arith_Plus left: <Id.Lit_ArithVarLike COUNT> right: {<Id.Lit_Digits 1>} ) ) } spids: [2668] ) ] ) ] ) ) ] ) ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.ShFunction name: start_image_install body: (BraceGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ (${ Id.VSub_Name IMAGE_FILE))} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (C {<exit_err>} {(DQ <'ERROR: installMedium set to image but no image file specified!'>)} ) ] spids: [2692 2707] ) ] ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands:[(C {<read>} {<line>})]) body: (command.DoGroup children: [ (command.Pipeline children: [ (C {<echo>} {($ Id.VSub_DollarName '$line')}) (command.Simple words: [{<grep>} {<-q>} {(DQ <'^disk0='>)}] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) ] negated: F ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '$?')} {<-eq>} {<0>} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (C {<get_value_from_string>} {(DQ (${ Id.VSub_Name line))}) (C {<strip_white_space>} {(DQ ($ Id.VSub_DollarName '$VAL'))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DISK) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$VAL'))} spids: [2789] ) ] ) ] spids: [2753 2766] ) ] ) (command.Pipeline children: [ (C {<echo>} {($ Id.VSub_DollarName '$line')}) (command.Simple words: [{<grep>} {<-q>} {(DQ <'^commitDiskPart'>)}] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) ] negated: F ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '$?')} {<-eq>} {<0>} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ (${ Id.VSub_Name DISK))} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (C {<write_image>} {(DQ (${ Id.VSub_Name IMAGE_FILE))} {(DQ (${ Id.VSub_Name DISK))} ) (C {<unset>} {<DISK>}) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] spids: [2837 2852] ) ] else_action: [ (C {<exit_err>} { (DQ < 'ERROR: commitDiskPart was called without procceding disk<num>= and partition= entries!!!' > ) } ) ] ) ] spids: [2817 2830] ) ] ) ] ) redirects: [ (redir op: <Id.Redir_Less '<'> loc: (redir_loc.Fd fd:0) arg: {(${ Id.VSub_Name CFGF)} ) ] ) ] ) ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.ShFunction name: init_extraction body: (BraceGroup children: [ (C {<get_value_from_cfg>} {<installFile>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ (${ Id.VSub_Name VAL))} {<Id.Lit_RBracket ']'>} ) ] ) action: [(C {<export>} {<Id.Lit_VarLike 'INSFILE='> (DQ (${ Id.VSub_Name VAL))})] spids: [2937 2952] ) ] else_action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$INSTALLTYPE'))} {<Id.Lit_Equals '='>} {(DQ <FreeBSD>)} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (command.Case to_match: {($ Id.VSub_DollarName '$PACKAGETYPE')} arms: [ (case_arm pat_list: [{<uzip>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSFILE) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name FBSD_UZIP_FILE))} spids: [3002] ) ] ) ] spids: [2999 3000 3009 -1] ) (case_arm pat_list: [{<tar>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSFILE) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name FBSD_TAR_FILE))} spids: [3015] ) ] ) ] spids: [3012 3013 3022 -1] ) (case_arm pat_list: [{<dist>}] action: [ (C {<get_value_from_cfg_with_spaces>} {<distFiles>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ ($ Id.VSub_DollarName '$VAL'))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<exit_err>} {(DQ <'No dist files specified!'>)})] spids: [3035 3049] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSFILE) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name VAL))} spids: [3062] ) ] ) ] spids: [3025 3026 3071 -1] ) (case_arm pat_list: [{<split>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSDIR) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name FBSD_BRANCH_DIR))} spids: [3078] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSFILE) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name INSDIR))} spids: [3091] ) ] ) ] spids: [3074 3075 3099 -1] ) ] ) ] spids: [2972 2989] ) ] else_action: [ (command.Case to_match: {($ Id.VSub_DollarName '$PACKAGETYPE')} arms: [ (case_arm pat_list: [{<uzip>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSFILE) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name UZIP_FILE))} spids: [3118] ) ] ) ] spids: [3115 3116 3125 -1] ) (case_arm pat_list: [{<tar>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSFILE) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name TAR_FILE))} spids: [3131] ) ] ) ] spids: [3128 3129 3138 -1] ) (case_arm pat_list: [{<dist>}] action: [ (C {<get_value_from_cfg_with_spaces>} {<distFiles>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ ($ Id.VSub_DollarName '$VAL'))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<exit_err>} {(DQ <'No dist files specified!'>)})] spids: [3151 3165] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSFILE) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name VAL))} spids: [3178] ) ] ) ] spids: [3141 3142 3187 -1] ) ] ) ] ) (C {<export>} {<INSFILE>}) ] ) (command.Case to_match: {(${ Id.VSub_Name INSTALLMEDIUM)} arms: [ (case_arm pat_list: [{<dvd>} {<usb>}] action: [ (C {<opt_mount>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ (${ Id.VSub_Name INSDIR))} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSDIR) op: assign_op.Equal rhs: { (DQ (${ Id.VSub_Name CDMNT) <'/'> (${ Id.VSub_Name INSDIR) ) } spids: [3250] ) ] ) terminator: <Id.Op_Semi _> ) (C {<export>} {<INSDIR>}) (C {<start_extract_split>}) ] spids: [3232 3247] ) ] else_action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$PACKAGETYPE'))} {<Id.Lit_Equals '='>} {(DQ <dist>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<start_extract_dist>} {(DQ (${ Id.VSub_Name CDMNT) <'/usr/freebsd-dist'>)} ) ] spids: [3275 3293] ) ] else_action: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSFILE) op: assign_op.Equal rhs: { (DQ (${ Id.VSub_Name CDMNT) <'/'> (${ Id.VSub_Name INSFILE) ) } spids: [3309] ) ] ) terminator: <Id.Op_Semi _> ) (C {<export>} {<INSFILE>}) (C {<start_extract_uzip_tar>}) ] ) ] ) ] spids: [3218 3221 3336 -1] ) (case_arm pat_list: [{<ftp>}] action: [ (command.Case to_match: {($ Id.VSub_DollarName '$PACKAGETYPE')} arms: [ (case_arm pat_list: [{<split>}] action: [ (C {<fetch_split_files>}) (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSDIR) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name INSFILE))} spids: [3359] ) ] ) terminator: <Id.Op_Semi _> ) (C {<export>} {<INSDIR>}) (C {<start_extract_split>}) ] spids: [3351 3352 3376 -1] ) (case_arm pat_list: [{<dist>}] action: [ (C {<fetch_dist_file>}) (C {<start_extract_dist>} {(DQ ($ Id.VSub_DollarName '$DLDIR'))}) ] spids: [3379 3380 3393 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [(C {<fetch_install_file>}) (C {<start_extract_uzip_tar>})] spids: [3396 3397 3407 -1] ) ] ) ] spids: [3340 3341 3413 -1] ) (case_arm pat_list:[{<sftp>}] spids:[3417 3418 3420 -1]) (case_arm pat_list: [{<rsync>}] action: [(C {<start_rsync_copy>})] spids: [3424 3425 3429 -1] ) (case_arm pat_list: [{<image>}] action: [(C {<start_image_install>})] spids: [3432 3433 3437 -1] ) (case_arm pat_list: [{<local>}] action: [ (C {<get_value_from_cfg>} {<localPath>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ ($ Id.VSub_DollarName '$VAL'))} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (C {<exit_err>} { (DQ < 'Install medium was set to local, but no localPath was provided!' > ) } ) ] spids: [3449 3462] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:LOCALPATH) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$VAL')} spids: [3475] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$PACKAGETYPE'))} {<Id.Lit_Equals '='>} {(DQ <dist>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSFILE) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name INSFILE))} spids: [3500] ) ] ) terminator: <Id.Op_Semi _> ) (C {<export>} {<INSFILE>}) (C {<start_extract_dist>} {(DQ ($ Id.VSub_DollarName '$LOCALPATH'))}) ] spids: [3479 3497] ) ] else_action: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSFILE) op: assign_op.Equal rhs: { (DQ (${ Id.VSub_Name LOCALPATH) <'/'> (${ Id.VSub_Name INSFILE) ) } spids: [3524] ) ] ) terminator: <Id.Op_Semi _> ) (C {<export>} {<INSFILE>}) (C {<start_extract_uzip_tar>}) ] ) ] spids: [3440 3441 3548 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [(C {<exit_err>} {(DQ <'ERROR: Unknown install medium'>)})] spids: [3551 3552 3560 -1] ) ] ) ] ) ) terminator: <Id.Op_Semi _> ) ] )