(command.CommandList children: [ (command.ShFunction name: main body: (BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:desc) op: assign_op.Equal rhs: (word.Empty) spids: [20] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:comment) op: assign_op.Equal rhs: (word.Empty) spids: [23] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:debug) op: assign_op.Equal rhs: (word.Empty) spids: [26] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:uclsource) op: assign_op.Equal rhs: (word.Empty) spids: [29] ) ] ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Sentence child: (C {<getopts>} {(DQ <'do:s:u:'>)} {<arg>}) terminator: <Id.Op_Semi _> ) ] ) body: (command.DoGroup children: [ (command.Case to_match: {(${ Id.VSub_Name arg)} arms: [ (case_arm pat_list: [{<d>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:debug) op: assign_op.Equal rhs: {<1>} spids: [59] ) ] ) ] spids: [55 56 63 -1] ) (case_arm pat_list: [{<o>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:outname) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name OPTARG))} spids: [70] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:origname) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name OPTARG))} spids: [78] ) ] ) ] spids: [66 67 86 -1] ) (case_arm pat_list: [{<s>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:srctree) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name OPTARG))} spids: [93] ) ] ) ] spids: [89 90 101 -1] ) (case_arm pat_list: [{<u>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:uclfile) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name OPTARG))} spids: [108] ) ] ) ] spids: [104 105 116 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [(C {<echo>} {(DQ <'Unknown argument'>)})] spids: [119 120 130 -1] ) ] ) ] ) ) (C {<shift>} { (word_part.ArithSub anode: (arith_expr.Binary op_id: Id.Arith_Minus left: {(${ Id.VSub_Name OPTIND)} right: {<Id.Lit_Digits 1>} ) ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:outname) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<echo>} {(${ Id.VSub_Name outname)}) (C {<tr>} {(SQ <->)} {(SQ <_>)}) ] negated: F ) ) ) } spids: [157] ) ] ) (command.Case to_match: {(DQ (${ Id.VSub_Name outname))} arms: [ (case_arm pat_list: [{<runtime>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:outname) op: assign_op.Equal rhs: {(DQ <runtime>)} spids: [197] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:uclfile) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name uclfile))} spids: [203] ) ] ) ] spids: [193 194 211 -1] ) (case_arm pat_list: [{<runtime_manuals>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:outname) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name origname))} spids: [218] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pkgdeps) op: assign_op.Equal rhs: {(DQ <runtime>)} spids: [226] ) ] ) ] spids: [214 215 232 -1] ) (case_arm pat_list: [{<runtime_> <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:outname) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name origname))} spids: [240] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:uclfile) op: assign_op.Equal rhs: { (DQ (braced_var_sub token: <Id.VSub_Name outname> suffix_op: (suffix_op.Unary tok: <Id.VOp1_DPound '##'> arg_word: {<Id.Lit_Other '*'>} ) ) (${ Id.VSub_Name uclfile) ) } spids: [248] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pkgdeps) op: assign_op.Equal rhs: {(DQ <runtime>)} spids: [261] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_descr) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<make>} {<-C>} {(${ Id.VSub_Name srctree) <'/release/packages'>} {<-f>} {<Makefile.package>} {<-V>} {(${ Id.VSub_Name outname) <_DESCR>} ) ) ) } spids: [267] ) ] ) ] spids: [235 237 293 -1] ) (case_arm pat_list: [{<jail_> <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:outname) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name origname))} spids: [301] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:uclfile) op: assign_op.Equal rhs: { (DQ (braced_var_sub token: <Id.VSub_Name outname> suffix_op: (suffix_op.Unary tok: <Id.VOp1_DPound '##'> arg_word: {<Id.Lit_Other '*'>} ) ) (${ Id.VSub_Name uclfile) ) } spids: [309] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pkgdeps) op: assign_op.Equal rhs: {(DQ <runtime>)} spids: [322] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_descr) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<make>} {<-C>} {(${ Id.VSub_Name srctree) <'/release/packages'>} {<-f>} {<Makefile.package>} {<-V>} {(${ Id.VSub_Name outname) <_DESCR>} ) ) ) } spids: [328] ) ] ) ] spids: [296 298 354 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'> <_lib32_development>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:outname) op: assign_op.Equal rhs: { (DQ (braced_var_sub token: <Id.VSub_Name outname> suffix_op: (suffix_op.Unary tok: <Id.VOp1_DPercent '%%'> arg_word: {<_lib32_development>} ) ) ) } spids: [362] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_descr) op: assign_op.Equal rhs: {(DQ <'32-bit Libraries, Development Files'>)} spids: [372] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pkgdeps) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name outname))} spids: [378] ) ] ) ] spids: [357 359 386 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'> <_lib32_debug>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:outname) op: assign_op.Equal rhs: { (DQ (braced_var_sub token: <Id.VSub_Name outname> suffix_op: (suffix_op.Unary tok: <Id.VOp1_DPercent '%%'> arg_word: {<_lib32_debug>} ) ) ) } spids: [394] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_descr) op: assign_op.Equal rhs: {(DQ <'32-bit Libraries, Debugging Symbols'>)} spids: [404] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pkgdeps) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name outname))} spids: [410] ) ] ) ] spids: [389 391 418 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'> <_lib32_profile>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:outname) op: assign_op.Equal rhs: { (DQ (braced_var_sub token: <Id.VSub_Name outname> suffix_op: (suffix_op.Unary tok: <Id.VOp1_DPercent '%%'> arg_word: {<_lib32_profile>} ) ) ) } spids: [426] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_descr) op: assign_op.Equal rhs: {(DQ <'32-bit Libraries, Profiling'>)} spids: [436] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pkgdeps) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name outname))} spids: [442] ) ] ) ] spids: [421 423 450 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'> <_lib32>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:outname) op: assign_op.Equal rhs: { (DQ (braced_var_sub token: <Id.VSub_Name outname> suffix_op: (suffix_op.Unary tok: <Id.VOp1_DPercent '%%'> arg_word: {<_lib32>} ) ) ) } spids: [458] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_descr) op: assign_op.Equal rhs: {(DQ <'32-bit Libraries'>)} spids: [468] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pkgdeps) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name outname))} spids: [474] ) ] ) ] spids: [453 455 482 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'> <_development>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:outname) op: assign_op.Equal rhs: { (DQ (braced_var_sub token: <Id.VSub_Name outname> suffix_op: (suffix_op.Unary tok: <Id.VOp1_DPercent '%%'> arg_word: {<_development>} ) ) ) } spids: [490] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_descr) op: assign_op.Equal rhs: {(DQ <'Development Files'>)} spids: [500] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pkgdeps) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name outname))} spids: [506] ) ] ) ] spids: [485 487 514 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'> <_profile>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:outname) op: assign_op.Equal rhs: { (DQ (braced_var_sub token: <Id.VSub_Name outname> suffix_op: (suffix_op.Unary tok: <Id.VOp1_DPercent '%%'> arg_word: {<_profile>} ) ) ) } spids: [522] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_descr) op: assign_op.Equal rhs: {(DQ <'Profiling Libraries'>)} spids: [532] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pkgdeps) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name outname))} spids: [538] ) ] ) ] spids: [517 519 546 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'> <_debug>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:outname) op: assign_op.Equal rhs: { (DQ (braced_var_sub token: <Id.VSub_Name outname> suffix_op: (suffix_op.Unary tok: <Id.VOp1_DPercent '%%'> arg_word: {<_debug>} ) ) ) } spids: [554] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_descr) op: assign_op.Equal rhs: {(DQ <'Debugging Symbols'>)} spids: [564] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pkgdeps) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name outname))} spids: [570] ) ] ) ] spids: [549 551 578 -1] ) (case_arm pat_list: [{(${ Id.VSub_Name origname)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pkgdeps) op: assign_op.Equal rhs: {(DQ <runtime>)} spids: [587] ) ] ) ] spids: [581 584 593 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:uclfile) op: assign_op.Equal rhs: { (DQ (braced_var_sub token: <Id.VSub_Name outname> suffix_op: (suffix_op.Unary tok: <Id.VOp1_DPound '##'> arg_word: {<Id.Lit_Other '*'>} ) ) (${ Id.VSub_Name origname) ) } spids: [600] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:outname) op: assign_op.Equal rhs: { (DQ (braced_var_sub token: <Id.VSub_Name outname> suffix_op: (suffix_op.Unary tok: <Id.VOp1_DPound '##'> arg_word: {<Id.Lit_Other '*'>} ) ) (${ Id.VSub_Name origname) ) } spids: [613] ) ] ) ] spids: [596 597 626 -1] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:outname) op: assign_op.Equal rhs: { (DQ (braced_var_sub token: <Id.VSub_Name outname> suffix_op: (suffix_op.Unary tok: <Id.VOp1_DPercent '%%'> arg_word: {<_> <Id.Lit_Other '*'>} ) ) ) } spids: [633] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:desc) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<make>} {<-C>} {(${ Id.VSub_Name srctree) <'/release/packages'>} {<-f>} {<Makefile.package>} {<-V>} {(${ Id.VSub_Name outname) <_DESC>} ) ) ) } spids: [645] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:comment) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<make>} {<-C>} {(${ Id.VSub_Name srctree) <'/release/packages'>} {<-f>} {<Makefile.package>} {<-V>} {(${ Id.VSub_Name outname) <_COMMENT>} ) ) ) } spids: [671] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:uclsource) op: assign_op.Equal rhs: { (DQ (${ Id.VSub_Name srctree) <'/release/packages/'> (${ Id.VSub_Name outname) <.ucl> ) } spids: [698] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-e>} {(DQ (${ Id.VSub_Name uclsource))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:uclsource) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name srctree) <'/release/packages/template.ucl'>)} spids: [731] ) ] ) ] spids: [711 728] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-z>} {(DQ (${ Id.VSub_Name debug))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<echo>} {(DQ )}) (C {<echo>} {(DQ <'==============================================================='>)} ) (C {<echo>} {(DQ <'DEBUG:'>)}) (C {<echo>} {(DQ <'_descr='> (${ Id.VSub_Name _descr))}) (C {<echo>} {(DQ <'outname='> (${ Id.VSub_Name outname))}) (C {<echo>} {(DQ <'origname='> (${ Id.VSub_Name origname))}) (C {<echo>} {(DQ <'srctree='> (${ Id.VSub_Name srctree))}) (C {<echo>} {(DQ <'uclfile='> (${ Id.VSub_Name uclfile))}) (C {<echo>} {(DQ <'desc='> (${ Id.VSub_Name desc))}) (C {<echo>} {(DQ <'comment='> (${ Id.VSub_Name comment))}) (C {<echo>} {(DQ <'cp '> (${ Id.VSub_Name uclsource) <' -> '> (${ Id.VSub_Name uclfile))} ) (C {<echo>} {(DQ <'==============================================================='>)} ) (C {<echo>} {(DQ )}) (C {<echo>} {(DQ )}) (C {<echo>} {(DQ )}) ] spids: [744 761] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ (${ Id.VSub_Name comment))} {<Id.Lit_RBracket ']'>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:comment) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name outname) <' package'>)} spids: [911] ) ] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-z>} {(DQ (${ Id.VSub_Name _descr))} {<Id.Lit_RBracket ']'>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:comment) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name comment) <' ('> (${ Id.VSub_Name _descr) <')'>)} spids: [936] ) ] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ (${ Id.VSub_Name desc))} {<Id.Lit_RBracket ']'>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:desc) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name outname) <' package'>)} spids: [963] ) ] ) ] ) (C {<cp>} {(DQ (${ Id.VSub_Name uclsource))} {(DQ (${ Id.VSub_Name uclfile))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:cap_arg) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<make>} {<-C>} {(${ Id.VSub_Name srctree) <'/etc'>} {<-VCAP_MKDB_ENDIAN>}) ) ) } spids: [988] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pwd_arg) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<make>} {<-C>} {(${ Id.VSub_Name srctree) <'/etc'>} {<-VPWD_MKDB_ENDIAN>}) ) ) } spids: [1005] ) ] ) (C {<sed>} {<-i>} {(SQ )} {<-e>} {(DQ <'s/%VERSION%/'> (${ Id.VSub_Name PKG_VERSION) <'/'>)} {<-e>} {(DQ <'s/%PKGNAME%/'> (${ Id.VSub_Name origname) <'/'>)} {<-e>} {(DQ <'s/%COMMENT%/'> (${ Id.VSub_Name comment) <'/'>)} {<-e>} {(DQ <'s/%DESC%/'> (${ Id.VSub_Name desc) <'/'>)} {<-e>} {(DQ <'s/%CAP_MKDB_ENDIAN%/'> (${ Id.VSub_Name cap_arg) <'/g'>)} {<-e>} {(DQ <'s/%PWD_MKDB_ENDIAN%/'> (${ Id.VSub_Name pwd_arg) <'/g'>)} {<-e>} {(DQ <'s/%PKGDEPS%/'> (${ Id.VSub_Name pkgdeps) <'/'>)} {(${ Id.VSub_Name uclfile)} ) (command.ControlFlow token:<Id.ControlFlow_Return return> arg_word:{<0>}) ] ) ) (C {<main>} {(DQ (${ Id.VSub_At '@'))}) ] )