(command.CommandList children: [ (command.Simple blame_tok: <.> more_env: [] words: [{<.>} {<'./build.conf'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <export> more_env: [] words: [{<export>} {<MKFLG>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <export> more_env: [] words: [ {<export>} {<Id.Lit_VarLike 'MWD='> (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <pwd> more_env: [] words: [{<pwd>}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'ARCH_LIST='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ARCH_LIST='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ARCH_LIST='> name:ARCH_LIST) op: assign_op.Equal rhs: {(DQ <'default i686 x86_64 arm'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'ARCH_LIST_EX='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ARCH_LIST_EX='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ARCH_LIST_EX='> name:ARCH_LIST_EX) op: assign_op.Equal rhs: { (DQ < 'i486 i586 i686 x86_64 armv4l armv4tl armv5l armv6l m68k mips mips64 mipsel powerpc powerpc-440fp sh2eb sh2elf sh4 sparc' > ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'DEFAULT_x86='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'DEFAULT_x86='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DEFAULT_x86='> name:DEFAULT_x86) op: assign_op.Equal rhs: {<i686>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'DEFAULT_ARM='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'DEFAULT_ARM='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DEFAULT_ARM='> name:DEFAULT_ARM) op: assign_op.Equal rhs: {<armv6l>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'PREBUILT_BINARIES='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'PREBUILT_BINARIES='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PREBUILT_BINARIES='> name:PREBUILT_BINARIES) op: assign_op.Equal rhs: {(DQ <'http://01micko.com/wdlkmpx/woof-CE/initrd_progs-20170322-static.tar.xz'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'ARCH='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ARCH='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ARCH='> name:ARCH) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <uname> more_env: [] words: [{<uname>} {<-m>}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'OS_ARCH='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'OS_ARCH='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OS_ARCH='> name:OS_ARCH) op: assign_op.Equal rhs: {($ Id.VSub_DollarName ARCH)} ) ] redirects: [] ) (command.ShFunction keyword: <Id.KW_Function function> name_tok: <get_initrd_progs> name: get_initrd_progs body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'var='> <INITRD_PROGS>}] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_Number 1))} {<Id.Lit_Equals '='>} {(DQ <-pkg>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Sentence child: (command.ShAssignment left: <Id.Lit_VarLike 'var='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'var='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'var='> name:var) op: assign_op.Equal rhs: {<PACKAGES>} ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'arch='> ($ Id.VSub_Number 1)}] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName arch))} {<Id.Lit_Equals '='>} {(DQ )} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'arch='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'arch='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'arch='> name:arch) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <uname> more_env: [] words: [{<uname>} {<-m>}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{(DQ ($ Id.VSub_DollarName arch))}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <i> pattern: (pat.Words words:[{<i> <Id.Lit_QMark '?'> <86>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'arch='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'arch='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'arch='> name:arch) op: assign_op.Equal rhs: {(DQ <x86>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{(DQ ($ Id.VSub_DollarName arch))}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <arm> pattern: (pat.Words words:[{<arm> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'arch='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'arch='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'arch='> name:arch) op: assign_op.Equal rhs: {(SQ <arm>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {<echo>} {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') ($ Id.VSub_DollarName var) } {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') (${ Id.VSub_Name var) <Id.Lit_Underscore _> (${ Id.VSub_Name arch) } ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{(DQ ($ Id.VSub_Number 1))}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <release> pattern: (pat.Words words:[{<release>} {<tarball>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} {(DQ <'If you made changes then don\'t forget to remove all 00_* directories first'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sleep> more_env: [] words: [{<sleep>} {<4>}] redirects: [] do_fork: T ) (command.ForEach keyword: <Id.KW_For for> iter_names: [a] iterable: (for_iter.Words words: [ { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ARCH_LIST> var_name: ARCH_LIST suffix_op: (suffix_op.Unary op:<Id.VOp1_Pound '#'> arg_word:{<'default '>}) right: <Id.Right_DollarBrace '}'> ) } ] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Sentence child: (command.Simple blame_tok: <Id.VSub_Number '$0'> more_env: [] words: [ {($ Id.VSub_Number 0)} {<-nord>} {<-auto>} {<-arch>} {($ Id.VSub_DollarName a)} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'pkgx='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'pkgx='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'pkgx='> name:pkgx) op: assign_op.Equal rhs: {<initrd_progs-> (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <date> more_env: [] words: [{<date>} {(DQ <'+%Y%m%d'>)}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) <-static.tar.xz> } ) ] redirects: [] ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} {<-e>} { (DQ <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'n*** Creating '> ($ Id.VSub_DollarName pkgx) ) } ] redirects: [] do_fork: T ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <read> more_env: [] words: [{<read>} {<ARCH>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.ForEach keyword: <Id.KW_For for> iter_names: [PROG] iterable: (for_iter.Words words: [ { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <get_initrd_progs> more_env: [] words: [ {<get_initrd_progs>} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ARCH> var_name: ARCH suffix_op: (suffix_op.Unary op: <Id.VOp1_Pound '#'> arg_word: {<00_>} ) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName PROG)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Left_DoubleQuote '"'> pattern: (pat.Words words:[{(DQ )} {(SQ <'#'>) <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'progs2tar+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'progs2tar+='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'progs2tar+='> name: progs2tar ) op: assign_op.PlusEqual rhs: { (DQ <' '> (${ Id.VSub_Name ARCH) <'/bin/'> (${ Id.VSub_Name PROG)) } ) ] redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [ (Redir op: <Id.Redir_TLess '<<<'> loc: (redir_loc.Fd fd:0) arg: { (DQ (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <ls> more_env: [] words: [{<ls>} {<-d>} {<00_> <Id.Lit_Star '*'>}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) ) } ) ] ) (command.Simple blame_tok: <tar> more_env: [] words: [{<tar>} {<-Jcf>} {($ Id.VSub_DollarName pkgx)} {(${ Id.VSub_Name progs2tar)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <Done.>)}] redirects: [] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Exit exit>) ] ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{(DQ ($ Id.VSub_Number 1))}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <w> pattern: (pat.Words words:[{<w>} {<w_apps>} {<c>}]) middle: <Id.Right_CasePat _> action: [ (command.ForEach keyword: <Id.KW_For for> iter_names: [a] iterable: (for_iter.Words words: [ { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ARCH_LIST> var_name: ARCH_LIST suffix_op: (suffix_op.Unary op:<Id.VOp1_Pound '#'> arg_word:{<'default '>}) right: <Id.Right_DollarBrace '}'> ) } ] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Sentence child: (command.Simple blame_tok: <Id.VSub_Number '$0'> more_env: [] words: [ {($ Id.VSub_Number 0)} {<-nord>} {<-auto>} {<-arch>} {($ Id.VSub_DollarName a)} {<-pkg>} {<w_apps>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ControlFlow keyword:<Id.ControlFlow_Exit exit>) ] ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.ShFunction keyword: <Id.KW_Function function> name_tok: <fatal_error> name: fatal_error body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Sentence child: (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {<-e>} {(DQ ($ Id.VSub_At '@'))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>}) terminator: <Id.Op_Semi _> ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <help_msg> name: help_msg body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ <'Build static apps in the queue defined in build.conf\n'> <'\n'> <'Usage:\n'> <' '> ($ Id.VSub_Number 0) <' [options]\n'> <'\n'> <'Options:\n'> <' -pkg pkg : compile specific pkg only\n'> <' -all : force building all *_static pkgs\n'> <' -arch target: compile for target arch\n'> <' -sysgcc : use system gcc\n'> <' -cross : use the cross compilers from Aboriginal Linux\n'> <' -download : download pkgs only, this overrides other options\n'> <' -specs file : DISTRO_SPECS file to use\n'> <' -prebuilt : use prebuilt binaries\n'> <' -lang locale: set locale\n'> <' -keymap km : set keyboard layout\n'> <' -auto : don\'t prompt for input\n'> <' -gz|-xz : compression method for the initrd\n'> <' -help : show help and exit\n'> <'\n'> <' Valid <targets> for -arch:\n'> <' '> ($ Id.VSub_DollarName ARCH_LIST_EX) <'\n'> <'\n'> <' The most relevant <targets> for Puppy are:\n'> <' '> (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ARCH_LIST> var_name: ARCH_LIST suffix_op: (suffix_op.Unary op:<Id.VOp1_Pound '#'> arg_word:{<'default '>}) right: <Id.Right_DollarBrace '}'> ) <'\n'> <'\n'> <' Note that one target not yet supported by musl is aarch64 (arm64)\n'> ) } ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShAssignment left: <Id.Lit_VarLike 'USE_SYS_GCC='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'USE_SYS_GCC='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'USE_SYS_GCC='> name:USE_SYS_GCC) op: assign_op.Equal rhs: {<no>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'CROSS_COMPILE='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'CROSS_COMPILE='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CROSS_COMPILE='> name:CROSS_COMPILE) op: assign_op.Equal rhs: {<no>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'FORCE_BUILD_ALL='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'FORCE_BUILD_ALL='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'FORCE_BUILD_ALL='> name:FORCE_BUILD_ALL) op: assign_op.Equal rhs: {<no>} ) ] redirects: [] ) (command.Simple blame_tok: <export> more_env: [] words: [{<export>} {<Id.Lit_VarLike 'DLD_ONLY='> <no>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'INITRD_CREATE='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'INITRD_CREATE='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'INITRD_CREATE='> name:INITRD_CREATE) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{(${ Id.VSub_Name INITRD_COMP)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <gz> pattern: (pat.Words words:[{<gz>} {<xz>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'ok='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ok='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ok='> name:ok) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'INITRD_COMP='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'INITRD_COMP='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'INITRD_COMP='> name:INITRD_COMP) op: assign_op.Equal rhs: {(DQ <gz>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [{<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_Number 1))} {<Id.Lit_RBracket ']'>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_Number 1)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <-sysgcc> pattern: (pat.Words words:[{<-sysgcc>}]) middle: <Id.Right_CasePat _> action: [ (command.Sentence child: (command.ShAssignment left: <Id.Lit_VarLike 'USE_SYS_GCC='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'USE_SYS_GCC='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'USE_SYS_GCC='> name: USE_SYS_GCC ) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.ShAssignment left: <Id.Lit_VarLike 'USE_PREBUILT='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'USE_PREBUILT='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'USE_PREBUILT='> name: USE_PREBUILT ) op: assign_op.Equal rhs: {<no>} ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-cross> pattern: (pat.Words words:[{<-cross>}]) middle: <Id.Right_CasePat _> action: [ (command.Sentence child: (command.ShAssignment left: <Id.Lit_VarLike 'CROSS_COMPILE='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'CROSS_COMPILE='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'CROSS_COMPILE='> name: CROSS_COMPILE ) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.ShAssignment left: <Id.Lit_VarLike 'USE_PREBUILT='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'USE_PREBUILT='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'USE_PREBUILT='> name: USE_PREBUILT ) op: assign_op.Equal rhs: {<no>} ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-all> pattern: (pat.Words words:[{<-all>}]) middle: <Id.Right_CasePat _> action: [ (command.Sentence child: (command.ShAssignment left: <Id.Lit_VarLike 'FORCE_BUILD_ALL='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'FORCE_BUILD_ALL='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'FORCE_BUILD_ALL='> name: FORCE_BUILD_ALL ) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-gz> pattern: (pat.Words words:[{<-gz>} {<-xz>} {<gz>} {<xz>}]) middle: <Id.Right_CasePat _> action: [ (command.Sentence child: (command.ShAssignment left: <Id.Lit_VarLike 'INITRD_COMP='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'INITRD_COMP='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INITRD_COMP='> name: INITRD_COMP ) op: assign_op.Equal rhs: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 1> var_name: 1 suffix_op: (suffix_op.Unary op:<Id.VOp1_Pound '#'> arg_word:{<->}) right: <Id.Right_DollarBrace '}'> ) } ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-download> pattern: (pat.Words words:[{<-download>}]) middle: <Id.Right_CasePat _> action: [ (command.Sentence child: (command.ShAssignment left: <Id.Lit_VarLike 'DLD_ONLY='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'DLD_ONLY='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DLD_ONLY='> name:DLD_ONLY) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-prebuilt> pattern: (pat.Words words:[{<-prebuilt>}]) middle: <Id.Right_CasePat _> action: [ (command.Sentence child: (command.ShAssignment left: <Id.Lit_VarLike 'USE_PREBUILT='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'USE_PREBUILT='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'USE_PREBUILT='> name: USE_PREBUILT ) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-nord> pattern: (pat.Words words:[{<-nord>}]) middle: <Id.Right_CasePat _> action: [ (command.Sentence child: (command.ShAssignment left: <Id.Lit_VarLike 'INITRD_CREATE='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'INITRD_CREATE='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INITRD_CREATE='> name: INITRD_CREATE ) op: assign_op.Equal rhs: {<no>} ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-auto> pattern: (pat.Words words:[{<-auto>}]) middle: <Id.Right_CasePat _> action: [ (command.Sentence child: (command.ShAssignment left: <Id.Lit_VarLike 'PROMPT='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'PROMPT='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PROMPT='> name:PROMPT) op: assign_op.Equal rhs: {<no>} ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-v> pattern: (pat.Words words:[{<-v>}]) middle: <Id.Right_CasePat _> action: [ (command.Sentence child: (command.ShAssignment left: <Id.Lit_VarLike 'V='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'V='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'V='> name:V) op: assign_op.Equal rhs: {<-v>} ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-lang> pattern: (pat.Words words:[{<-lang>}]) middle: <Id.Right_CasePat _> action: [ (command.Sentence child: (command.ShAssignment left: <Id.Lit_VarLike 'LOCALE='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'LOCALE='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'LOCALE='> name:LOCALE) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_Number 2))} ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>} {<2>}] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName LOCALE))} {<Id.Lit_Equals '='>} {(DQ )} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <fatal_error> more_env: [] words: [ {<fatal_error>} {(DQ ($ Id.VSub_Number 0) <' -locale: No locale specified'>)} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-keymap> pattern: (pat.Words words:[{<-keymap>}]) middle: <Id.Right_CasePat _> action: [ (command.Sentence child: (command.ShAssignment left: <Id.Lit_VarLike 'KEYMAP='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'KEYMAP='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'KEYMAP='> name:KEYMAP) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_Number 2))} ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>} {<2>}] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName KEYMAP))} {<Id.Lit_Equals '='>} {(DQ )} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <fatal_error> more_env: [] words: [ {<fatal_error>} {(DQ ($ Id.VSub_Number 0) <' -locale: No keymap specified'>)} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-pkg> pattern: (pat.Words words:[{<-pkg>}]) middle: <Id.Right_CasePat _> action: [ (command.Sentence child: (command.ShAssignment left: <Id.Lit_VarLike 'BUILD_PKG='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'BUILD_PKG='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'BUILD_PKG='> name: BUILD_PKG ) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_Number 2))} ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>} {<2>}] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName BUILD_PKG))} {<Id.Lit_Equals '='>} {(DQ )} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <fatal_error> more_env: [] words: [ {<fatal_error>} {(DQ ($ Id.VSub_Number 0) <' -pkg: Specify a pkg to compile'>)} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-arch> pattern: (pat.Words words:[{<-arch>}]) middle: <Id.Right_CasePat _> action: [ (command.Sentence child: (command.ShAssignment left: <Id.Lit_VarLike 'TARGET_ARCH='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'TARGET_ARCH='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'TARGET_ARCH='> name: TARGET_ARCH ) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_Number 2))} ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>} {<2>}] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName TARGET_ARCH))} {<Id.Lit_Equals '='>} {(DQ )} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <fatal_error> more_env: [] words: [ {<fatal_error>} {(DQ ($ Id.VSub_Number 0) <' -arch: Specify a target arch'>)} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-specs> pattern: (pat.Words words:[{<-specs>}]) middle: <Id.Right_CasePat _> action: [ (command.Sentence child: (command.ShAssignment left: <Id.Lit_VarLike 'DISTRO_SPECS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'DISTRO_SPECS='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'DISTRO_SPECS='> name: DISTRO_SPECS ) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_Number 2))} ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>} {<2>}] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} {(DQ ($ Id.VSub_DollarName DISTRO_SPECS))} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <fatal_error> more_env: [] words: [ {<fatal_error>} { (DQ ($ Id.VSub_Number 0) <' -specs: \''> (${ Id.VSub_Name DISTRO_SPECS) <'\' is not a regular file'> ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-h> pattern: (pat.Words words:[{<-h>} {<-help>} {<--help>}]) middle: <Id.Right_CasePat _> action: [ (command.Sentence child: (command.Simple blame_tok: <help_msg> more_env: [] words: [{<help_msg>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.ControlFlow keyword:<Id.ControlFlow_Exit exit>) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-clean> pattern: (pat.Words words:[{<-clean>}]) middle: <Id.Right_CasePat _> action: [ (command.Sentence child: (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} {<-e>} { (DQ < 'Press P and hit enter to proceed, any other combination to cancel..' > ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Simple blame_tok: <read> more_env: [] words: [{<read>} {<zz>}] redirects: [] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName zz)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <p> pattern: (pat.Words words:[{<p>} {<P>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} {<rm>} {<-rf>} {<initrd.> <Id.Lit_LBracket '['> <gx> <Id.Lit_RBracket ']'> <z>} {<initrd_progs-> <Id.Lit_Star '*'> <.tar.> <Id.Lit_Star '*'>} {<ZZ_initrd-expanded>} {<00_> <Id.Lit_Star '*'>} {<0sources>} {<cross-compiler> <Id.Lit_Star '*'>} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.ControlFlow keyword:<Id.ControlFlow_Exit exit>) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'Unrecognized option: '> ($ Id.VSub_Number 1))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ShFunction keyword: <Id.KW_Function function> name_tok: <use_prebuilt_binaries> name: use_prebuilt_binaries body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {(DQ ($ Id.VSub_DollarName PREBUILT_BINARIES))} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Sentence child: (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <ERROR>)}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>}) terminator: <Id.Op_Semi _> ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DAmp _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'zfile='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'zfile='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'zfile='> name:zfile) op: assign_op.Equal rhs: {<'0sources/'> (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name PREBUILT_BINARIES> var_name: PREBUILT_BINARIES suffix_op: (suffix_op.Unary op: <Id.VOp1_DPound '##'> arg_word: {<Id.Lit_Other '*'> <Id.Lit_Slash '/'>} ) right: <Id.Right_DollarBrace '}'> ) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<-f>} {(DQ ($ Id.VSub_DollarName zfile))} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.AndOr children: [ (command.Simple blame_tok: <tar> more_env: [] words: [{<tar>} {<-taf>} {(DQ ($ Id.VSub_DollarName zfile))}] redirects: [ (Redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] do_fork: T ) (command.Simple blame_tok: <rm> more_env: [] words: [{<rm>} {<-f>} {(DQ ($ Id.VSub_DollarName zfile))}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) ] spids: [1125 1139] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} {(DQ ($ Id.VSub_DollarName zfile))} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <mkdir> more_env: [] words: [{<mkdir>} {<-p>} {<0sources>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <wget> more_env: [] words: [ {<wget>} {<-P>} {<0sources>} {<--no-check-certificate>} {(DQ ($ Id.VSub_DollarName PREBUILT_BINARIES))} ] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '?')} {<-eq>} {<0>} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Sentence child: (command.Simple blame_tok: <rm> more_env: [] words: [{<rm>} {<-f>} {(DQ ($ Id.VSub_DollarName zfile))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <ERROR>)}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) terminator: <Id.Op_Semi _> ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DPipe _>] ) ] spids: [1171 1187] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ <'* Extracting '> (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name zfile> var_name: zfile suffix_op: (suffix_op.Unary op: <Id.VOp1_DPound '##'> arg_word: {<Id.Lit_Other '*'> <Id.Lit_Slash '/'>} ) right: <Id.Right_DollarBrace '}'> ) <...> ) } ] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <tar> more_env: [] words: [{<tar>} {<-xaf>} {(DQ ($ Id.VSub_DollarName zfile))}] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Sentence child: (command.Simple blame_tok: <rm> more_env: [] words: [{<rm>} {<-f>} {(DQ ($ Id.VSub_DollarName zfile))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <ERROR>)}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>}) terminator: <Id.Op_Semi _> ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DPipe _>] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction keyword: <Id.KW_Function function> name_tok: <set_compiler> name: set_compiler body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.AndOr children: [ (command.Simple blame_tok: <which> more_env: [] words: [{<which>} {<make>}] redirects: [ (Redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] do_fork: T ) (command.Simple blame_tok: <fatal_error> more_env: [] words: [ {<fatal_error>} {<echo>} {(DQ <'It looks like development tools are not installed.. stopping'>)} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName USE_SYS_GCC))} {<Id.Lit_Equals '='>} {(DQ <no>)} {<-a>} {(DQ ($ Id.VSub_DollarName CROSS_COMPILE))} {<Id.Lit_Equals '='>} {(DQ <no>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName ARCH)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <i> pattern: (pat.Words words:[{<i> <Id.Lit_QMark '?'> <86>} {<x86_64>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'CROSS_COMPILE='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'CROSS_COMPILE='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'CROSS_COMPILE='> name: CROSS_COMPILE ) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'USE_SYS_GCC='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'USE_SYS_GCC='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'USE_SYS_GCC='> name: USE_SYS_GCC ) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [1336 1366] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName USE_SYS_GCC))} {<Id.Lit_Equals '='>} {(DQ <yes>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.AndOr children: [ (command.Simple blame_tok: <which> more_env: [] words: [{<which>} {<gcc>}] redirects: [ (Redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] do_fork: T ) (command.Simple blame_tok: <fatal_error> more_env: [] words: [{<fatal_error>} {(DQ <'No gcc, aborting...'>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} {<-e>} { (DQ <Id.Lit_BadBackslash '\\'> <'nBuilding in: '> ($ Id.VSub_DollarName ARCH)) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} {<-e>} { (DQ <Id.Lit_BadBackslash '\\'> <'n* Using system gcc'> <Id.Lit_BadBackslash '\\'> <n> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sleep> more_env: [] words: [{<sleep>} {<1.5>}] redirects: [] do_fork: T ) ] spids: [1420 1438] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'CROSS_COMPILE='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'CROSS_COMPILE='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'CROSS_COMPILE='> name: CROSS_COMPILE ) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName ARCH)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <i> pattern: (pat.Words words:[{<i> <Id.Lit_QMark '?'> <86>} {<x86_64>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'ok='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ok='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ok='> name:ok) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <fatal_error> more_env: [] words: [ {<fatal_error>} { (DQ <'*** Only use x86 systems to cross-compile'> <Id.Lit_BadBackslash '\\'> <'n* Run '> ($ Id.VSub_Number 0) <' -sysgcc to use the system gcc ... '> <Id.Lit_BadBackslash '\\'> <n> ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction keyword: <Id.KW_Function function> name_tok: <select_target_arch> name: select_target_arch body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName CROSS_COMPILE))} {<Id.Lit_Equals '='>} {(DQ <no>)} {<-a>} {(DQ ($ Id.VSub_DollarName USE_PREBUILT))} {<Id.Lit_Equals '='>} {(DQ <no>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Return return>) ] ops: [<Id.Op_DAmp _>] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName TARGET_ARCH)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <default> pattern: (pat.Words words:[{<default>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'TARGET_ARCH='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'TARGET_ARCH='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'TARGET_ARCH='> name: TARGET_ARCH ) op: assign_op.Equal rhs: {(${ Id.VSub_Name ARCH)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <x86> pattern: (pat.Words words:[{<x86>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'TARGET_ARCH='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'TARGET_ARCH='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'TARGET_ARCH='> name: TARGET_ARCH ) op: assign_op.Equal rhs: {(${ Id.VSub_Name DEFAULT_x86)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <arm> pattern: (pat.Words words:[{<arm>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'TARGET_ARCH='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'TARGET_ARCH='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'TARGET_ARCH='> name: TARGET_ARCH ) op: assign_op.Equal rhs: {(${ Id.VSub_Name DEFAULT_ARM)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'VALID_TARGET_ARCH='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'VALID_TARGET_ARCH='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'VALID_TARGET_ARCH='> name: VALID_TARGET_ARCH ) op: assign_op.Equal rhs: {<no>} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName TARGET_ARCH))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ )} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ForEach keyword: <Id.KW_For for> iter_names: [a] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName ARCH_LIST_EX)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName TARGET_ARCH))} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName a))} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'VALID_TARGET_ARCH='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'VALID_TARGET_ARCH='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'VALID_TARGET_ARCH='> name: VALID_TARGET_ARCH ) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Break break> ) ] ops: [<Id.Op_DAmp _> <Id.Op_DAmp _>] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName VALID_TARGET_ARCH))} {<Id.Lit_Equals '='>} {(DQ <no>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} {(DQ <'Invalid target arch: '> ($ Id.VSub_DollarName TARGET_ARCH))} ] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] spids: [1708 1726] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName TARGET_ARCH))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <default>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'ARCH='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ARCH='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ARCH='> name:ARCH) op: assign_op.Equal rhs: {(${ Id.VSub_Name TARGET_ARCH)} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [1644 1662] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName VALID_TARGET_ARCH))} {<Id.Lit_Equals '='>} {(DQ <no>)} {<-a>} {(DQ ($ Id.VSub_DollarName PROMPT))} {<Id.Lit_Equals '='>} {(DQ <yes>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} {<-e>} { (DQ <Id.Lit_BadBackslash '\\'> <'nWe\'re going to compile apps for the init ram disk'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} {<-e>} { (DQ <'Select the arch you want to compile to'> <Id.Lit_BadBackslash '\\'> <n>) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'x='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'x='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'x='> name:x) op: assign_op.Equal rhs: {<1>} ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [a] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName ARCH_LIST)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName a)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <default> pattern: (pat.Words words:[{<default>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ <'\t'> (${ Id.VSub_Name x) <') default ['> (${ Id.VSub_Name ARCH) <']'> ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ <'\t'> (${ Id.VSub_Name x) <') '> ($ Id.VSub_DollarName a)) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Simple blame_tok: <let> more_env: [] words: [{<let>} {<x> <Id.Lit_Other '+'> <Id.Lit_Other '+'>}] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'\t*) default ['> (${ Id.VSub_Name ARCH) <']'>)}] redirects: [] do_fork: T ) (command.Sentence child: (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} {<-en>} {(DQ <Id.Lit_BadBackslash '\\'> <'nEnter your choice: '>)} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Simple blame_tok: <read> more_env: [] words: [{<read>} {<choice>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'x='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'x='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'x='> name:x) op: assign_op.Equal rhs: {<1>} ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [a] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName ARCH_LIST)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName x))} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName choice))} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'selected_arch='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'selected_arch='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'selected_arch='> name: selected_arch ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName a)} ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Break break> ) ] ops: [<Id.Op_DAmp _> <Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.Simple blame_tok: <let> more_env: [] words: [{<let>} {<x> <Id.Lit_Other '+'> <Id.Lit_Other '+'>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [a] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName ARCH_LIST_EX)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName a))} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName choice))} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'selected_arch='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'selected_arch='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'selected_arch='> name: selected_arch ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName a)} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName selected_arch)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <default> pattern: (pat.Words words:[{<default>} {(DQ )}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'ok='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ok='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ok='> name:ok) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'ARCH='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ARCH='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ARCH='> name:ARCH) op: assign_op.Equal rhs: {($ Id.VSub_DollarName selected_arch)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [1778 1808] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName USE_PREBUILT))} {<Id.Lit_Equals '='>} {(DQ <yes>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'Arch: '> ($ Id.VSub_DollarName ARCH))}] redirects: [] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Return return>) ] ops: [<Id.Op_DAmp _> <Id.Op_DAmp _>] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName DLD_ONLY))} {<Id.Lit_Equals '='>} {(DQ <no>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName OS_ARCH)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'> <64>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'ok='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ok='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ok='> name:ok) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName ARCH)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'> <64>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <fatal_error> more_env: [] words: [ {<fatal_error>} { (DQ <Id.Lit_BadBackslash '\\'> < 'n*** Trying to compile for a 64bit arch in a 32bit system?' > <Id.Lit_BadBackslash '\\'> <'n*** That\'s not possible.. exiting..'> ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [2093 2111] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'Arch: '> ($ Id.VSub_DollarName ARCH))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <sleep> more_env: [] words: [{<sleep>} {<1.5>}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction keyword: <Id.KW_Function function> name_tok: <setup_cross_compiler> name: setup_cross_compiler body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName CROSS_COMPILE))} {<Id.Lit_Equals '='>} {(DQ <no>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Return return>) ] ops: [<Id.Op_DAmp _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'CCOMP_DIR='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'CCOMP_DIR='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CCOMP_DIR='> name:CCOMP_DIR) op: assign_op.Equal rhs: {<cross-compiler-> (${ Id.VSub_Name ARCH)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'URL='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'URL='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'URL='> name:URL) op: assign_op.Equal rhs: {<http> <Id.Lit_Colon ':'> <'//landley.net/aboriginal/downloads/binaries'>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'PACKAGE='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'PACKAGE='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PACKAGE='> name:PACKAGE) op: assign_op.Equal rhs: {(${ Id.VSub_Name CCOMP_DIR) <.tar.gz>} ) ] redirects: [] ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} {(DQ <'0sources/'> (${ Id.VSub_Name PACKAGE))} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'Download cross compiler from Aboriginal Linux'>)}] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName PROMPT))} {<Id.Lit_Equals '='>} {(DQ <yes>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {<-n>} {(DQ <'Press enter to continue, CTRL-C to cancel...'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <read> more_env: [] words: [{<read>} {<zzz>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _> <Id.Op_DAmp _>] ) (command.Simple blame_tok: <wget> more_env: [] words: [ {<wget>} {<-c>} {<-P>} {<0sources>} {(${ Id.VSub_Name URL) <'/'> (${ Id.VSub_Name PACKAGE)} ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '?')} {<-ne>} {<0>} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <rm> more_env: [] words: [{<rm>} {<-rf>} {(${ Id.VSub_Name CCOMP_DIR)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'failed to download '> (${ Id.VSub_Name PACKAGE))}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] spids: [2319 2333] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [2244 2261] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName DLD_ONLY))} {<Id.Lit_Equals '='>} {(DQ <yes>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'Already downloaded '> (${ Id.VSub_Name PACKAGE))}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName DLD_ONLY))} {<Id.Lit_Equals '='>} {(DQ <yes>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Return return>) ] ops: [<Id.Op_DAmp _>] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-d>} {(DQ ($ Id.VSub_DollarName CCOMP_DIR))} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <tar> more_env: [] words: [ {<tar>} {<--directory> <Id.Lit_Equals '='> ($ Id.VSub_DollarName PWD)} {<-xaf>} {<'0sources/'> (${ Id.VSub_Name PACKAGE)} ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '?')} {<-ne>} {<0>} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <rm> more_env: [] words: [{<rm>} {<-rf>} {(${ Id.VSub_Name CCOMP_DIR)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <rm> more_env: [] words: [{<rm>} {<-fv>} {<'0sources/'> (${ Id.VSub_Name PACKAGE)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'failed to extract '> (${ Id.VSub_Name PACKAGE))}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] spids: [2451 2465] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [2418 2434] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-d>} {(DQ ($ Id.VSub_DollarName CCOMP_DIR))} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Sentence child: (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ ($ Id.VSub_DollarName CCOMP_DIR) <' not found'>)}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>}) terminator: <Id.Op_Semi _> ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DAmp _>] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<-d>} {<cross-compiler-> (${ Id.VSub_Name ARCH) <'/cc/lib'>} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <cp> more_env: [] words: [ {<cp>} {<cross-compiler-> (${ Id.VSub_Name ARCH) <'/cc/lib/'> <Id.Lit_Star '*'>} {<cross-compiler-> (${ Id.VSub_Name ARCH) <'/lib'>} ] redirects: [] do_fork: T ) ] spids: [2544 2560] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} {<-e>} { (DQ <Id.Lit_BadBackslash '\\'> <'nUsing cross compiler from Aboriginal Linux'> <Id.Lit_BadBackslash '\\'> <n> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <export> more_env: [] words: [{<export>} {<Id.Lit_VarLike 'OVERRIDE_ARCH='> (${ Id.VSub_Name ARCH)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <export> more_env: [] words: [ {<export>} {<Id.Lit_VarLike 'XPATH='> (${ Id.VSub_Name PWD) <'/'> (${ Id.VSub_Name CCOMP_DIR)} ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction keyword: <Id.KW_Function function> name_tok: <check_bin> name: check_bin body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName init_pkg)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Left_DoubleQuote '"'> pattern: (pat.Words words:[{(DQ )} {(SQ <'#'>) <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [(command.ControlFlow keyword:<Id.ControlFlow_Continue continue>)] right: <Id.Op_DSemi _> ) (CaseArm left: <coreutils_static> pattern: (pat.Words words:[{<coreutils_static>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'static_bins='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'static_bins='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'static_bins='> name: static_bins ) op: assign_op.Equal rhs: {(SQ <cp>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <dosfstools_static> pattern: (pat.Words words:[{<dosfstools_static>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'static_bins='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'static_bins='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'static_bins='> name: static_bins ) op: assign_op.Equal rhs: {(SQ <fsck.fat>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <e2fsprogs_static> pattern: (pat.Words words:[{<e2fsprogs_static>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'static_bins='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'static_bins='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'static_bins='> name: static_bins ) op: assign_op.Equal rhs: {(SQ <'e2fsck resize2fs'>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <exfat-utils_static> pattern: (pat.Words words:[{<exfat-utils_static>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'static_bins='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'static_bins='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'static_bins='> name: static_bins ) op: assign_op.Equal rhs: {(SQ <exfatfsck>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <fuse-exfat_static> pattern: (pat.Words words:[{<fuse-exfat_static>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'static_bins='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'static_bins='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'static_bins='> name: static_bins ) op: assign_op.Equal rhs: {(SQ <mount.exfat-fuse>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <findutils_static> pattern: (pat.Words words:[{<findutils_static>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'static_bins='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'static_bins='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'static_bins='> name: static_bins ) op: assign_op.Equal rhs: {(SQ <find>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <util-linux_static> pattern: (pat.Words words:[{<util-linux_static>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'static_bins='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'static_bins='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'static_bins='> name: static_bins ) op: assign_op.Equal rhs: {(SQ <losetup>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <util-linux-222_static> pattern: (pat.Words words:[{<util-linux-222_static>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'static_bins='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'static_bins='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'static_bins='> name: static_bins ) op: assign_op.Equal rhs: {(SQ <losetup-222>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'static_bins='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'static_bins='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'static_bins='> name: static_bins ) op: assign_op.Equal rhs: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name init_pkg> var_name: init_pkg suffix_op: (suffix_op.Unary op: <Id.VOp1_Percent '%'> arg_word: {<_> <Id.Lit_Other '*'>} ) right: <Id.Right_DollarBrace '}'> ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [sbin] iterable: (for_iter.Words words:[{(${ Id.VSub_Name static_bins)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<-f>} {<'./00_'> (${ Id.VSub_Name ARCH) <'/bin/'> (${ Id.VSub_Name sbin)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] ops: [<Id.Op_DPipe _>] ) ] right: <Id.KW_Done done> ) redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction keyword: <Id.KW_Function function> name_tok: <build_pkgs> name: build_pkgs body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <rm> more_env: [] words: [{<rm>} {<-f>} {<.fatal>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <mkdir> more_env: [] words: [ {<mkdir>} {<-p>} {<00_> (${ Id.VSub_Name ARCH) <'/bin'>} {<00_> (${ Id.VSub_Name ARCH) <'/log'>} {<0sources>} ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName DLD_ONLY))} {<Id.Lit_Equals '='>} {(DQ <no>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ < '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++' > ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} {<-e>} { (DQ <Id.Lit_BadBackslash '\\'> <'nbuilding packages for the initial ram disk'> <Id.Lit_BadBackslash '\\'> <n> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sleep> more_env: [] words: [{<sleep>} {<1>}] redirects: [] do_fork: T ) ] spids: [2838 2856] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName BUILD_PKG))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ )} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'PACKAGES='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'PACKAGES='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PACKAGES='> name:PACKAGES) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName BUILD_PKG))} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName FORCE_BUILD_ALL))} {<Id.Lit_Equals '='>} {(DQ <yes>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'PACKAGES='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'PACKAGES='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PACKAGES='> name:PACKAGES) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (command.Simple blame_tok: <find> more_env: [] words: [ {<find>} {<pkg>} {<-maxdepth>} {<1>} {<-type>} {<d>} {<-name>} {(SQ <'*_static'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [{<sed>} {(SQ <'s|.*/||'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <sort> more_env: [] words: [{<sort>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _> <Id.Op_Pipe _>] ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) ] spids: [2912 2930] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'PACKAGES='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'PACKAGES='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PACKAGES='> name:PACKAGES) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <get_initrd_progs> more_env: [] words: [{<get_initrd_progs>} {<-pkg>} {($ Id.VSub_DollarName ARCH)}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [init_pkg] iterable: (for_iter.Words words:[{(${ Id.VSub_Name PACKAGES)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName init_pkg)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Left_DoubleQuote '"'> pattern: (pat.Words words:[{(DQ )} {(SQ <'#'>) <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [(command.ControlFlow keyword:<Id.ControlFlow_Continue continue>)] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [{<Id.Lit_LBracket '['>} {<-f>} {<.fatal>} {<Id.Lit_RBracket ']'>}] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Sentence child: (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <Exiting..>)}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.Simple blame_tok: <rm> more_env: [] words: [{<rm>} {<-f>} {<.fatal>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) terminator: <Id.Op_Semi _> ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DAmp _>] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<-d>} {<'pkg/'> (DQ (${ Id.VSub_Name init_pkg) <_static>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'init_pkg='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'init_pkg='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'init_pkg='> name:init_pkg) op: assign_op.Equal rhs: {(${ Id.VSub_Name init_pkg) <_static>} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName DLD_ONLY))} {<Id.Lit_Equals '='>} {(DQ <no>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <check_bin> more_env: [] words: [{<check_bin>} {($ Id.VSub_DollarName init_pkg)}] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '?')} {<-eq>} {<0>} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Sentence child: (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ ($ Id.VSub_DollarName init_pkg) <' exists ... skipping'> ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) terminator: <Id.Op_Semi _> ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} {<-e>} { (DQ <Id.Lit_BadBackslash '\\'> < 'n+=============================================================================+' > ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} {<-e>} { (DQ <Id.Lit_BadBackslash '\\'> <'nbuilding '> ($ Id.VSub_DollarName init_pkg) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sleep> more_env: [] words: [{<sleep>} {<1>}] redirects: [] do_fork: T ) ] spids: [3084 3102] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <cd> more_env: [] words: [{<cd>} {<'pkg/'> (${ Id.VSub_Name init_pkg)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <mkdir> more_env: [] words: [ {<mkdir>} {<-p>} {(${ Id.VSub_Name MWD) <'/00_'> (${ Id.VSub_Name ARCH) <'/log'>} ] redirects: [] do_fork: T ) (command.Pipeline children: [ (command.Simple blame_tok: <sh> more_env: [] words: [{<sh>} {(${ Id.VSub_Name init_pkg) <.petbuild>}] redirects: [ (Redir op: <Id.Redir_GreatAnd '2>&'> loc: (redir_loc.Fd fd:2) arg: {<1>} ) ] do_fork: T ) (command.Simple blame_tok: <tee> more_env: [] words: [ {<tee>} {(${ Id.VSub_Name MWD) <'/00_'> (${ Id.VSub_Name ARCH) <'/log/'> (${ Id.VSub_Name init_pkg) <build.log> } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) (command.Simple blame_tok: <cd> more_env: [] words: [{<cd>} {(${ Id.VSub_Name MWD)}] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName DLD_ONLY))} {<Id.Lit_Equals '='>} {(DQ <yes>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <check_bin> more_env: [] words: [{<check_bin>} {($ Id.VSub_DollarName init_pkg)}] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '?')} {<-ne>} {<0>} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Sentence child: (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'target binary does not exist...'>)}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) terminator: <Id.Op_Semi _> ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DAmp _>] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.Simple blame_tok: <rm> more_env: [] words: [{<rm>} {<-f>} {<.fatal>}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction keyword: <Id.KW_Function function> name_tok: <set_lang> name: set_lang body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name LOCALE> var_name: LOCALE suffix_op: (suffix_op.Unary op: <Id.VOp1_Percent '%'> arg_word: {<_> <Id.Lit_Other '*'>} ) right: <Id.Right_DollarBrace '}'> ) ) } {<Id.Lit_Equals '='>} {(DQ <en>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'LOCALE='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'LOCALE='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'LOCALE='> name:LOCALE) op: assign_op.Equal rhs: {(DQ )} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {(DQ ($ Id.VSub_DollarName LOCALE))} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Sentence child: (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} {<-e>} {(DQ <Id.Lit_BadBackslash '\\'> <'n* Using default locale'>)} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.Simple blame_tok: <rm> more_env: [] words: [{<rm>} {<-f>} {<'ZZ_initrd-expanded/PUPPYLANG'>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.ControlFlow keyword:<Id.ControlFlow_Return return>) terminator: <Id.Op_Semi _> ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} {<-e>} { (DQ <'* LANG set to: '> ($ Id.VSub_DollarName LOCALE) <Id.Lit_BadBackslash '\\'> <n>) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {<-n>} {(DQ ($ Id.VSub_DollarName LOCALE))}] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'ZZ_initrd-expanded/PUPPYLANG'>} ) ] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction keyword: <Id.KW_Function function> name_tok: <set_keymap> name: set_keymap body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} {<'0initrd/lib/keymaps/'> (${ Id.VSub_Name KEYMAP) <.gz>} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'KEYMAP='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'KEYMAP='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'KEYMAP='> name:KEYMAP) op: assign_op.Equal rhs: {(DQ )} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName KEYMAP)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <default> pattern: (pat.Words words:[{<default>} {<en>} {<us>} {(DQ )}]) middle: <Id.Right_CasePat _> action: [ (command.Sentence child: (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'* Using default keymap'>)}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.Simple blame_tok: <rm> more_env: [] words: [{<rm>} {<-f>} {<'ZZ_initrd-expanded/PUPPYKEYMAP'>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.ControlFlow keyword:<Id.ControlFlow_Return return>) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {<-e>} {(DQ <'* Keymap set to: \''> (${ Id.VSub_Name KEYMAP) <'\''>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {<-n>} {(DQ ($ Id.VSub_DollarName KEYMAP))}] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'ZZ_initrd-expanded/PUPPYKEYMAP'>} ) ] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction keyword: <Id.KW_Function function> name_tok: <generate_initrd> name: generate_initrd body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName DLD_ONLY))} {<Id.Lit_Equals '='>} {(DQ <yes>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Return return>) ] ops: [<Id.Op_DAmp _>] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName INITRD_CREATE))} {<Id.Lit_Equals '='>} {(DQ <no>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Return return>) ] ops: [<Id.Op_DAmp _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'INITRD_FILE='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'INITRD_FILE='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'INITRD_FILE='> name:INITRD_FILE) op: assign_op.Equal rhs: {(DQ <initrd.> (${ Id.VSub_Name INITRD_COMP))} ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName INITRD_GZ))} {<Id.Lit_Equals '='>} {(DQ <yes>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'INITRD_FILE='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'INITRD_FILE='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'INITRD_FILE='> name:INITRD_FILE) op: assign_op.Equal rhs: {(DQ <initrd.gz>)} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName USE_PREBUILT))} {<Id.Lit_Equals '='>} {(DQ <no>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName PROMPT))} {<Id.Lit_Equals '='>} {(DQ <yes>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} {<-en>} { (DQ <Id.Lit_BadBackslash '\\'> <'nPress enter to create '> (${ Id.VSub_Name INITRD_FILE) <', CTRL-C to end here..'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <read> more_env: [] words: [{<read>} {<zzz>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _> <Id.Op_DAmp _>] ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} {<-e>} { (DQ <Id.Lit_BadBackslash '\\'> <'n============================================'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ <'Now creating the initial ramdisk ('> (${ Id.VSub_Name INITRD_FILE) <')'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} {<-e>} { (DQ <'============================================='> <Id.Lit_BadBackslash '\\'> <n> ) } ] redirects: [] do_fork: T ) ] spids: [3581 3599] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <rm> more_env: [] words: [{<rm>} {<-rf>} {<ZZ_initrd-expanded>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <mkdir> more_env: [] words: [{<mkdir>} {<-p>} {<ZZ_initrd-expanded>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <cp> more_env: [] words: [{<cp>} {<-rf>} {<'0initrd/'> <Id.Lit_Star '*'>} {<ZZ_initrd-expanded>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <find> more_env: [] words: [ {<find>} {<ZZ_initrd-expanded>} {<-type>} {<f>} {<-name>} {(SQ <'*MARKER'>)} {<-delete>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <set_lang> more_env: [] words: [{<set_lang>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <set_keymap> more_env: [] words: [{<set_keymap>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <cd> more_env: [] words: [{<cd>} {<ZZ_initrd-expanded>}] redirects: [] do_fork: T ) (command.ForEach keyword: <Id.KW_For for> iter_names: [PROG] iterable: (for_iter.Words words: [ { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <get_initrd_progs> more_env: [] words: [{<get_initrd_progs>} {(${ Id.VSub_Name ARCH)}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName PROG)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Left_DoubleQuote '"'> pattern: (pat.Words words:[{(DQ )} {(SQ <'#'>) <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [(command.ControlFlow keyword:<Id.ControlFlow_Continue continue>)] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<-f>} {<'../00_'> (${ Id.VSub_Name ARCH) <'/bin/'> (${ Id.VSub_Name PROG) } {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.AndOr children: [ (command.Pipeline children: [ (command.Simple blame_tok: <file> more_env: [] words: [ {<file>} {<'../00_'> (${ Id.VSub_Name ARCH) <'/bin/'> (${ Id.VSub_Name PROG) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <grep> more_env: [] words: [{<grep>} {<-E>} {(SQ <'dynamically|shared'>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <cp> more_env: [] words: [ {<cp>} {<-a>} {(${ Id.VSub_Name V)} {<--remove-destination>} {<'../00_'> (${ Id.VSub_Name ARCH) <'/bin/'> (${ Id.VSub_Name PROG)} {<bin>} ] redirects: [] do_fork: T ) ] spids: [3776 3795] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ <00_> (${ Id.VSub_Name ARCH) <'/bin/'> (${ Id.VSub_Name PROG) <' not found'> ) } ] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} {<'bin/nano'>} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <rm> more_env: [] words: [{<rm>} {<-rf>} {<usr>} {<'lib/terminfo'>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} {(DQ ($ Id.VSub_DollarName DISTRO_SPECS))} {<-a>} {<-f>} {<'../DISTRO_SPECS'>} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'DISTRO_SPECS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'DISTRO_SPECS='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'DISTRO_SPECS='> name: DISTRO_SPECS ) op: assign_op.Equal rhs: {(SQ <'../DISTRO_SPECS'>)} ) ] redirects: [] ) ] spids: [3903 3925] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} {(DQ ($ Id.VSub_DollarName DISTRO_SPECS))} {<-a>} {<Id.KW_Bang '!'>} {<-f>} {<'../0initrd/DISTRO_SPECS'>} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<-f>} {<'/etc/DISTRO_SPECS'>} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'DISTRO_SPECS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'DISTRO_SPECS='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'DISTRO_SPECS='> name: DISTRO_SPECS ) op: assign_op.Equal rhs: {(SQ <'/etc/DISTRO_SPECS'>)} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<-f>} {<'/initrd/DISTRO_SPECS'>} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'DISTRO_SPECS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'DISTRO_SPECS='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'DISTRO_SPECS='> name: DISTRO_SPECS ) op: assign_op.Equal rhs: {(SQ <'/initrd/DISTRO_SPECS'>)} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) ] spids: [3937 3961] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<-f>} {(DQ ($ Id.VSub_DollarName DISTRO_SPECS))} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <cp> more_env: [] words: [{<cp>} {<-f>} {(${ Id.VSub_Name V)} {(DQ (${ Id.VSub_Name DISTRO_SPECS))} {<.>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [{<Id.Lit_LBracket '['>} {<-x>} {<'../init'>} {<Id.Lit_RBracket ']'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <cp> more_env: [] words: [{<cp>} {<-f>} {(${ Id.VSub_Name V)} {<'../init'>} {<.>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <.> more_env: [] words: [{<.>} {<'./DISTRO_SPECS'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <cp> more_env: [] words: [ {<cp>} {<-f>} {(${ Id.VSub_Name V)} {<'../pkg/busybox_static/bb-'> <Id.Lit_Star '*'> <-symlinks>} {<bin>} ] redirects: [] do_fork: T ) (command.Subshell left: <Id.Op_LParen _> child: (command.CommandList children: [ (command.Sentence child: (command.Simple blame_tok: <cd> more_env: [] words: [{<cd>} {<bin>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Simple blame_tok: <sh> more_env: [] words: [{<sh>} {<bb-create-symlinks>}] redirects: [ (Redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) ] ) right: <Id.Right_Subshell _> redirects: [] ) (command.Simple blame_tok: <sed> more_env: [] words: [{<sed>} {<-i>} {(SQ <'s|^PUPDESKFLG=.*|PUPDESKFLG=0|'>)} {<init>}] redirects: [] do_fork: T ) (command.Pipeline children: [ (command.Simple blame_tok: <find> more_env: [] words: [{<find>} {<.>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <cpio> more_env: [] words: [{<cpio>} {<-o>} {<-H>} {<newc>}] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'../initrd'>} ) (Redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) (command.Simple blame_tok: <cd> more_env: [] words: [{<cd>} {<..>}] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<-f>} {<initrd.> <Id.Lit_LBracket '['> <gx> <Id.Lit_RBracket ']'> <z>} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <rm> more_env: [] words: [{<rm>} {<-f>} {<initrd.> <Id.Lit_LBracket '['> <gx> <Id.Lit_RBracket ']'> <z>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{(${ Id.VSub_Name INITRD_COMP)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <gz> pattern: (pat.Words words:[{<gz>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <gzip> more_env: [] words: [{<gzip>} {<-f>} {<initrd>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <xz> pattern: (pat.Words words:[{<xz>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <xz> more_env: [] words: [{<xz>} {<--check> <Id.Lit_Equals '='> <crc32>} {<--lzma2>} {<initrd>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '?')} {<-eq>} {<0>} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Sentence child: (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <ERROR>)}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>}) terminator: <Id.Op_Semi _> ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DPipe _>] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName INITRD_GZ))} {<Id.Lit_Equals '='>} {(DQ <yes>)} {<-a>} {<-f>} {<initrd.xz>} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <mv> more_env: [] words: [{<mv>} {<-f>} {<initrd.xz>} {<initrd.gz>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} {<-e>} { (DQ <Id.Lit_BadBackslash '\\'> <'n*** INITRD: '> (${ Id.VSub_Name INITRD_FILE) <' ['> (${ Id.VSub_Name ARCH) <']'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} {<-e>} { (DQ <'*** /DISTRO_SPECS: '> (${ Id.VSub_Name DISTRO_NAME) <' '> (${ Id.VSub_Name DISTRO_VERSION) <' '> (${ Id.VSub_Name DISTRO_TARGETARCH) ) } ] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName USE_PREBUILT))} {<Id.Lit_Equals '='>} {(DQ <yes>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Return return>) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} {<-e>} { (DQ <Id.Lit_BadBackslash '\\'> <'n@@ -- You can inspect ZZ_initrd-expanded to see the final results -- @@'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {<-e>} {(DQ <Finished.> <Id.Lit_BadBackslash '\\'> <n>)}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName USE_PREBUILT))} {<Id.Lit_Equals '='>} {(DQ <yes>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <use_prebuilt_binaries> more_env: [] words: [{<use_prebuilt_binaries>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <select_target_arch> more_env: [] words: [{<select_target_arch>}] redirects: [] do_fork: T ) ] spids: [4352 4370] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'V='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'V='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'V='> name:V) op: assign_op.Equal rhs: {(DQ <-v>)} ) ] redirects: [] ) (command.Simple blame_tok: <set_compiler> more_env: [] words: [{<set_compiler>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <select_target_arch> more_env: [] words: [{<select_target_arch>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <setup_cross_compiler> more_env: [] words: [{<setup_cross_compiler>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <build_pkgs> more_env: [] words: [{<build_pkgs>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <cd> more_env: [] words: [{<cd>} {(${ Id.VSub_Name MWD)}] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <generate_initrd> more_env: [] words: [{<generate_initrd>}] redirects: [] do_fork: T ) ] )