(command.CommandList children: [ (command.ShFunction name: pause body: (command.BraceGroup children: [(C {<echo>} {<-n>} {(DQ <'Press enter to continue...'>)}) (C {<read>} {<zzz>})] ) ) (command.ShFunction name: log_ver body: (command.BraceGroup children: [ (C {<touch>} {(${ Id.VSub_Name BUILD_LOG)}) (command.Pipeline children: [ (command.Subshell command_list: (command.CommandList children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-f>} {</etc/DISTRO_SPECS>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<.>} {</etc/DISTRO_SPECS>}) (C {<echo>} { (DQ ($ Id.VSub_DollarName '$DISTRO_NAME') <' '> ($ Id.VSub_DollarName '$DISTRO_VERSION') <' ['> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [(C {<uname>} {<-m>})] ) ) <']'> ) } ) ] spids: [54 66] ) ] ) (command.Pipeline children: [(C {<gcc>} {<--version>}) (C {<head>} {<-1>})] negated: F ) (command.Pipeline children: [(C {<git>} {<--version>}) (C {<head>} {<-1>})] negated: F ) (command.Pipeline children: [(C {<mksquashfs>} {<-version>}) (C {<head>} {<-1>})] negated: F ) (C {<echo>}) ] ) ) (C {<tee>} {<-a>} {(${ Id.VSub_Name BUILD_LOG)}) ] negated: F ) ] ) ) (command.ShFunction name: config_is_set body: (command.BraceGroup children: [ (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {(DQ ($ Id.VSub_Number '$1'))} {<-o>} {<Id.KW_Bang '!'>} {(DQ ($ Id.VSub_Number '$2'))} {<Id.Lit_RBracket ']'>} ) (command.ControlFlow token:<Id.ControlFlow_Return return>) ] ) (C {<local>} {<Id.Lit_VarLike 'opt='> ($ Id.VSub_Number '$1')} {<Id.Lit_VarLike 'file='> ($ Id.VSub_Number '$2')} ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<grep>} {<-q>} {<-E>} {(DQ <'^'> (${ Id.VSub_Name opt) <'=y|^'> (${ Id.VSub_Name opt) <'=m'>)} {(DQ ($ Id.VSub_DollarName '$file'))} ) terminator: <Id.Op_Semi _> ) ] action: [(command.ControlFlow token:<Id.ControlFlow_Return return> arg_word:{<0>})] spids: [189 215] ) ] else_action: [(command.ControlFlow token:<Id.ControlFlow_Return return> arg_word:{<1>})] ) ] ) ) (command.ShFunction name: config_set body: (command.BraceGroup children: [ (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {(DQ ($ Id.VSub_Number '$1'))} {<-o>} {<Id.KW_Bang '!'>} {(DQ ($ Id.VSub_Number '$2'))} {<-o>} {<Id.KW_Bang '!'>} {(DQ ($ Id.VSub_Number '$3'))} {<Id.Lit_RBracket ']'>} ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] ) (C {<local>} {<Id.Lit_VarLike 'type='> ($ Id.VSub_Number '$1')} {<Id.Lit_VarLike 'opt='> ($ Id.VSub_Number '$2')} {<Id.Lit_VarLike 'file='> ($ Id.VSub_Number '$3')} {<t>} ) (command.Case to_match: {($ Id.VSub_DollarName '$type')} arms: [ (case_arm pat_list: [{<builtin>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:t) op: assign_op.Equal rhs: {(SQ <y>)} spids: [311] ) ] ) ] spids: [308 309 316 -1] ) (case_arm pat_list: [{<custom>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:t) op: assign_op.Equal rhs: {(SQ <c>)} spids: [322] ) ] ) ] spids: [319 320 327 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:t) op: assign_op.Equal rhs: {(SQ <m>)} spids: [336] ) ] ) ] spids: [333 334 341 -1] ) ] ) (C {<sed>} {<-i>} {<-e>} { (DQ <'s|# '> ($ Id.VSub_DollarName '$opt') <' .*|'> (${ Id.VSub_Name opt) <'='> (${ Id.VSub_Name t) <'|'> ) } {<-e>} { (DQ <'s|^'> ($ Id.VSub_DollarName '$opt') <'=.*|'> (${ Id.VSub_Name opt) <'='> (${ Id.VSub_Name t) <'|'> ) } {(DQ ($ Id.VSub_DollarName '$file'))} ) ] ) ) (command.ShFunction name: config_unset body: (command.BraceGroup children: [ (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {(DQ ($ Id.VSub_Number '$1'))} {<-o>} {<Id.KW_Bang '!'>} {(DQ ($ Id.VSub_Number '$2'))} {<Id.Lit_RBracket ']'>} ) (command.ControlFlow token:<Id.ControlFlow_Return return>) ] ) (C {<local>} {<Id.Lit_VarLike 'opt='> ($ Id.VSub_Number '$1')} {<Id.Lit_VarLike 'file='> ($ Id.VSub_Number '$2')} ) (C {<sed>} {<-i>} {<-e>} { (DQ <'s|^'> (${ Id.VSub_Name opt) <'=y|# '> ($ Id.VSub_DollarName '$opt') <' is not set|'> ) } {<-e>} {(DQ <'s|^'> (${ Id.VSub_Name opt) <'=m|# '> ($ Id.VSub_DollarName '$opt') <' is not set|'>)} {(DQ ($ Id.VSub_DollarName '$file'))} ) ] ) ) (command.ShFunction name: config_toggle body: (command.BraceGroup children: [ (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {(DQ ($ Id.VSub_Number '$1'))} {<-o>} {<Id.KW_Bang '!'>} {(DQ ($ Id.VSub_Number '$2'))} {<Id.Lit_RBracket ']'>} ) (command.ControlFlow token:<Id.ControlFlow_Return return>) ] ) (C {<local>} {<Id.Lit_VarLike 'opt='> ($ Id.VSub_Number '$1')} {<Id.Lit_VarLike 'file='> ($ Id.VSub_Number '$2')} ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<config_is_set>} {($ Id.VSub_DollarName '$opt')} {(DQ ($ Id.VSub_DollarName '$file'))} ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<config_unset>} {($ Id.VSub_DollarName '$opt')} {(DQ ($ Id.VSub_DollarName '$file'))} ) ] spids: [514 526] ) ] else_action: [ (C {<config_set>} {<module>} {($ Id.VSub_DollarName '$opt')} {(DQ ($ Id.VSub_DollarName '$file'))} ) ] ) ] ) ) (command.ShFunction name: config_delete body: (command.BraceGroup children: [ (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {(DQ ($ Id.VSub_Number '$1'))} {<-o>} {<Id.KW_Bang '!'>} {(DQ ($ Id.VSub_Number '$2'))} {<Id.Lit_RBracket ']'>} ) (command.ControlFlow token:<Id.ControlFlow_Return return>) ] ) (C {<local>} {<Id.Lit_VarLike 'opt='> ($ Id.VSub_Number '$1')} {<Id.Lit_VarLike 'file='> ($ Id.VSub_Number '$2')} ) (C {<sed>} {<-i>} {<-e>} {(DQ <'/^'> (${ Id.VSub_Name opt) <'=y/d'>)} {<-e>} {(DQ <'/ '> (${ Id.VSub_Name opt) <' /d'>)} {(DQ ($ Id.VSub_DollarName '$file'))} ) ] ) ) (command.ShFunction name: config_get_builtin body: (command.BraceGroup children: [ (command.Sentence child: (command.Pipeline children: [ (C {<grep>} {(SQ <'=y'>)} {(DQ ($ Id.VSub_Number '$1'))}) (C {<cut>} {<-f1>} {<-d>} {(SQ <'='>)}) ] negated: F ) terminator: <Id.Op_Semi _> ) ] ) ) (command.ShFunction name: config_get_module body: (command.BraceGroup children: [ (command.Sentence child: (command.Pipeline children: [ (C {<grep>} {(SQ <'=m'>)} {(DQ ($ Id.VSub_Number '$1'))}) (C {<cut>} {<-f1>} {<-d>} {(SQ <'='>)}) ] negated: F ) terminator: <Id.Op_Semi _> ) ] ) ) (command.ShFunction name: config_get_set body: (command.BraceGroup children: [ (command.Sentence child: (command.Pipeline children: [ (C {<grep>} {<-E>} {(SQ <'=m|=y'>)} {(DQ ($ Id.VSub_Number '$1'))}) (C {<cut>} {<-f1>} {<-d>} {(SQ <'='>)}) ] negated: F ) terminator: <Id.Op_Semi _> ) ] ) ) (command.ShFunction name: config_get_unset body: (command.BraceGroup children: [ (command.Sentence child: (command.Pipeline children: [ (C {<grep>} {(SQ <'not set'>)} {(DQ ($ Id.VSub_Number '$1'))}) (C {<cut>} {<-f2>} {<-d>} {(SQ <' '>)}) ] negated: F ) terminator: <Id.Op_Semi _> ) ] ) ) (command.ShFunction name: fix_config body: (command.BraceGroup children: [ (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {(DQ ($ Id.VSub_Number '$1'))} {<-o>} {<Id.KW_Bang '!'>} {(DQ ($ Id.VSub_Number '$2'))} {<Id.Lit_RBracket ']'>} ) (command.ControlFlow token:<Id.ControlFlow_Return return>) ] ) (C {<local>} {<Id.Lit_VarLike 'file='> ($ Id.VSub_Number '$1')} {<Id.Lit_VarLike 'fixed_opts='> ($ Id.VSub_Number '$2')} ) (command.Subshell command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<cat>} {($ Id.VSub_DollarName '$fixed_opts')}) (C {<sed>} {<-e>} {(SQ <'s| is not set||'>)} {<-e>} {(SQ <'/^$/d'>)} {<-e>} {(SQ <'/##/d'>)} ) (command.WhileUntil keyword: <Id.KW_While while> cond: [ (command.Sentence child: (C {<read>} {<line>}) terminator: <Id.Op_Semi _> ) ] body: (command.DoGroup children: [ (command.Case to_match: {($ Id.VSub_DollarName '$line')} arms: [ (case_arm pat_list: [{<Id.Lit_Star '*'> (SQ <'=m'>)}] action: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:C_OPT) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name line> suffix_op: (suffix_op.Unary op_id: Id.VOp1_Percent arg_word: {<'=*'>} ) ) } spids: [875] ) ] ) terminator: <Id.Op_Semi _> ) (C {<echo>} { (DQ <'s%.*'> (${ Id.VSub_Name C_OPT) <'.*%'> (${ Id.VSub_Name C_OPT) <'=m%'> ) } ) ] spids: [869 873 898 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'> (SQ <'=y'>)}] action: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:C_OPT) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name line> suffix_op: (suffix_op.Unary op_id: Id.VOp1_Percent arg_word: {<'=*'>} ) ) } spids: [907] ) ] ) terminator: <Id.Op_Semi _> ) (C {<echo>} { (DQ <'s%.*'> (${ Id.VSub_Name C_OPT) <'.*%'> (${ Id.VSub_Name C_OPT) <'=y%'> ) } ) ] spids: [901 905 930 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:C_OPT) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name line> suffix_op: (suffix_op.Slice begin: (arith_expr.ArithWord w: {<Id.Lit_Digits 2>} ) ) ) } spids: [936] ) ] ) terminator: <Id.Op_Semi _> ) (C {<echo>} { (DQ <'s%.*'> (${ Id.VSub_Name C_OPT) <'.*%# '> (${ Id.VSub_Name C_OPT) <' is not set%'> ) } ) ] spids: [933 934 959 -1] ) ] ) ] ) ) ] negated: F ) ] ) redirects: [(redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{</tmp/ksed.file>})] ) (C {<cp>} {(DQ ($ Id.VSub_Number '$1'))} {(DQ ($ Id.VSub_Number '$1')) <.orig>}) (C {<sed>} {<-i>} {<-f>} {</tmp/ksed.file>} {(DQ ($ Id.VSub_Number '$1'))}) ] ) ) (command.ShFunction name: set_pae body: (command.BraceGroup children: [ (C {<config_set>} {<builtin>} {<CONFIG_X86_PAE>} {($ Id.VSub_Number '$1')}) (C {<config_set>} {<builtin>} {<CONFIG_HIGHMEM64G>} {($ Id.VSub_Number '$1')}) (C {<config_unset>} {<CONFIG_HIGHMEM4G>} {($ Id.VSub_Number '$1')}) ] ) ) (command.ShFunction name: unset_pae body: (command.BraceGroup children: [ (C {<config_delete>} {<CONFIG_X86_PAE>} {($ Id.VSub_Number '$1')}) (C {<config_unset>} {<CONFIG_HIGHMEM64G>} {($ Id.VSub_Number '$1')}) (C {<config_set>} {<builtin>} {<CONFIG_HIGHMEM4G>} {($ Id.VSub_Number '$1')}) ] ) ) (command.ShFunction name: set_i486 body: (command.BraceGroup children: [ (C {<config_set>} {<builtin>} {<CONFIG_M486>} {($ Id.VSub_Number '$1')}) (command.ForEach iter_name: i iter_words: [ {<CONFIG_M386>} {<CONFIG_M686>} {<CONFIG_M586>} {<CONFIG_M586TSC>} {<CONFIG_M586MMX>} {<CONFIG_MPENTIUMII>} {<CONFIG_MPENTIUMIII>} {<CONFIG_MPENTIUMM>} {<CONFIG_MPENTIUM4>} {<CONFIG_MK6>} {<CONFIG_MK7>} {<CONFIG_MK8>} {<CONFIG_MCRUSOE>} {<CONFIG_MEFFICEON>} {<CONFIG_MWINCHIPC6>} {<CONFIG_MWINCHIP3D>} {<CONFIG_MELAN>} {<CONFIG_MGEODEGX1>} {<CONFIG_MGEODE_LX>} {<CONFIG_MCYRIXIII>} {<CONFIG_MVIAC3_2>} {<CONFIG_MVIAC7>} {<CONFIG_MCORE2>} {<CONFIG_MATOM>} ] do_arg_iter: F body: (command.DoGroup children: [ (C {<config_unset>} {($ Id.VSub_DollarName '$i')} {($ Id.VSub_Number '$1')}) ] ) ) ] ) ) (command.ShFunction name: set_i686 body: (command.BraceGroup children: [ (C {<config_set>} {<builtin>} {<CONFIG_M686>} {($ Id.VSub_Number '$1')}) (command.ForEach iter_name: i iter_words: [ {<CONFIG_M386>} {<CONFIG_M486>} {<CONFIG_M586>} {<CONFIG_M586TSC>} {<CONFIG_M586MMX>} {<CONFIG_MPENTIUMII>} {<CONFIG_MPENTIUMIII>} {<CONFIG_MPENTIUMM>} {<CONFIG_MPENTIUM4>} {<CONFIG_MK6>} {<CONFIG_MK7>} {<CONFIG_MK8>} {<CONFIG_MCRUSOE>} {<CONFIG_MEFFICEON>} {<CONFIG_MWINCHIPC6>} {<CONFIG_MWINCHIP3D>} {<CONFIG_MELAN>} {<CONFIG_MGEODEGX1>} {<CONFIG_MGEODE_LX>} {<CONFIG_MCYRIXIII>} {<CONFIG_MVIAC3_2>} {<CONFIG_MVIAC7>} {<CONFIG_MCORE2>} {<CONFIG_MATOM>} ] do_arg_iter: F body: (command.DoGroup children: [ (C {<config_unset>} {($ Id.VSub_DollarName '$i')} {($ Id.VSub_Number '$1')}) ] ) ) ] ) ) (command.ShFunction name: i386_specific_stuff body: (command.BraceGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$HOST_ARCH'))} {<Id.Lit_Equals '='>} {(DQ <x86>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$x86_disable_pae'))} {<Id.Lit_Equals '='>} {(DQ <yes>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<grep>} {(SQ <'CONFIG_X86_PAE=y'>)} {<.config>}) terminator: <Id.Op_Semi _> ) ] action: [ (C {<log_msg>} {(DQ <'Disabling PAE...'>)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:MAKEOLDCONFIG) op: assign_op.Equal rhs: {<1>} spids: [1360] ) ] ) (C {<unset_pae>} {<.config>}) ] spids: [1335 1347] ) ] ) ] spids: [1314 1332] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$x86_enable_pae'))} {<Id.Lit_Equals '='>} {(DQ <yes>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Pipeline children: [ (C {<grep>} {(SQ <'CONFIG_X86_PAE=y'>)} {<.config>}) ] negated: T ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<log_msg>} {(DQ <'Enabling PAE...'>)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:MAKEOLDCONFIG) op: assign_op.Equal rhs: {<1>} spids: [1420] ) ] ) (C {<set_pae>} {<.config>}) ] spids: [1396 1410] ) ] ) ] spids: [1375 1393] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$x86_set_i486'))} {<Id.Lit_Equals '='>} {(DQ <yes>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<grep>} {<-q>} {(SQ <'CONFIG_OUTPUT_FORMAT="elf32-i386"'>)} {<.config>} ) terminator: <Id.Op_Semi _> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Pipeline children: [ (C {<grep>} {<-q>} {(SQ <'CONFIG_M486=y'>)} {<.config>} ) ] negated: T ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<log_msg>} {(DQ <'Forcing i486...'>)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:MAKEOLDCONFIG) op: assign_op.Equal rhs: {<1>} spids: [1499] ) ] ) (C {<set_i486>} {<.config>}) ] spids: [1473 1489] ) ] ) ] spids: [1456 1470] ) ] ) ] spids: [1435 1453] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$x86_set_i686'))} {<Id.Lit_Equals '='>} {(DQ <yes>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<grep>} {<-q>} {(SQ <'CONFIG_OUTPUT_FORMAT="elf32-i386"'>)} {<.config>} ) terminator: <Id.Op_Semi _> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Pipeline children: [ (C {<grep>} {<-q>} {(SQ <'CONFIG_M686=y'>)} {<.config>} ) ] negated: T ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<log_msg>} {(DQ <'Forcing i686...'>)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:MAKEOLDCONFIG) op: assign_op.Equal rhs: {<1>} spids: [1581] ) ] ) (C {<set_i686>} {<.config>}) ] spids: [1555 1571] ) ] ) ] spids: [1538 1552] ) ] ) ] spids: [1517 1535] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$MAKEOLDCONFIG'))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ )} {<Id.Lit_RBracket ']'>} ) (C {<make>} {<silentoldconfig>}) ] ) ] spids: [1293 1311] ) ] ) ] ) ) ] )