(command.CommandList children: [ (C {<echo>} {(DQ <'*** GET SYSLINUX BEGIN ***'>)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:SRC_DIR) op: assign_op.Equal rhs: {(command_sub left_token:<Id.Left_DollarParen '$('> child:(C {<pwd>}))} spids: [11] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DOWNLOAD_URL) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<grep>} {<-i>} {<Id.Lit_Other '^'> <SYSLINUX_SOURCE_URL>} {<.config>}) (C {<cut>} {<-f2>} {<-d> (SQ <'='>)}) ] negated: F ) ) } spids: [20] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ARCHIVE_FILE) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name DOWNLOAD_URL> suffix_op: (suffix_op.Unary tok: <Id.VOp1_DPound '##'> arg_word: {<Id.Lit_Other '*'> <Id.Lit_Slash '/'>} ) ) } spids: [47] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:USE_LOCAL_SOURCE) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<grep>} {<-i>} {<Id.Lit_Other '^'> <USE_LOCAL_SOURCE>} {<.config>}) (C {<cut>} {<-f2>} {<-d> (SQ <'='>)}) ] negated: F ) ) ) } spids: [59] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$USE_LOCAL_SOURCE'))} {<Id.Lit_Equals '='>} {(DQ <true>)} {<-a>} {<Id.KW_Bang '!'>} {<-f>} {($ Id.VSub_DollarName '$SRC_DIR') <'/source/'> ($ Id.VSub_DollarName '$ARCHIVE_FILE') } {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<echo>} { (DQ <'Source bundle '> ($ Id.VSub_DollarName '$SRC_DIR') <'/source/'> ($ Id.VSub_DollarName '$ARCHIVE_FILE') <' is missing and will be downloaded.'> ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:USE_LOCAL_SOURCE) op: assign_op.Equal rhs: {(DQ <false>)} spids: [127] ) ] ) ] spids: [85 113] ) ] ) (C {<cd>} {<source>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {(DQ ($ Id.VSub_DollarName '$USE_LOCAL_SOURCE'))} {<Id.Lit_Equals '='>} {(DQ <true>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<echo>} { (DQ <'Downloading SYSLINUX source bundle from '> ($ Id.VSub_DollarName '$DOWNLOAD_URL') ) } ) (C {<wget>} {<-c>} {($ Id.VSub_DollarName '$DOWNLOAD_URL')}) ] spids: [140 160] ) ] else_action: [ (C {<echo>} { (DQ <'Using local SYSLINUX source bundle '> ($ Id.VSub_DollarName '$SRC_DIR') <'/source/'> ($ Id.VSub_DollarName '$ARCHIVE_FILE') ) } ) ] ) (C {<echo>} {(DQ <'Removing SYSLINUX work area. This may take a while...'>)}) (C {<rm>} {<-rf>} {<'../work/syslinux'>}) (C {<mkdir>} {<'../work/syslinux'>}) (C {<tar>} {<-xvf>} {($ Id.VSub_DollarName '$ARCHIVE_FILE')} {<-C>} {<'../work/syslinux'>}) (C {<cd>} {($ Id.VSub_DollarName '$SRC_DIR')}) (C {<echo>} {(DQ <'*** GET SYSLINUX END ***'>)}) ] )