(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_railsver='> name:_railsver) op: assign_op.Equal rhs: {<4.2>} spids: [9] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'pkgname='> name:pkgname) op: assign_op.Equal rhs: {<redmine>} spids: [12] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'pkgver='> name:pkgver) op: assign_op.Equal rhs: {<3.2.1>} spids: [15] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'pkgrel='> name:pkgrel) op: assign_op.Equal rhs: {<2>} spids: [18] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'pkgdesc='> name:pkgdesc) op: assign_op.Equal rhs: {(DQ <'Project management web application written in Ruby'>)} spids: [21] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'url='> name:url) op: assign_op.Equal rhs: {(DQ <'http://redmine.org'>)} spids: [26] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'arch='> name:arch) op: assign_op.Equal rhs: {(DQ <noarch>)} spids: [31] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'license='> name:license) op: assign_op.Equal rhs: {(DQ <GPL2>)} spids: [36] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'depends='> name:depends) op: assign_op.Equal rhs: { (DQ <'ruby\n'> <'\truby-actionpack-action_caching'> (${ Id.VSub_Name _railsver) <'\n'> <'\truby-actionpack-xml_parser'> (${ Id.VSub_Name _railsver) <'\n'> <'\truby-bigdecimal\n'> <'\truby-coderay\n'> <'\truby-fastercsv\n'> <'\truby-i18n\n'> <'\truby-jquery-rails'> (${ Id.VSub_Name _railsver) <'\n'> <'\truby-json\n'> <'\truby-mocha\n'> <'\truby-net-ldap\n'> <'\truby-openid<2.4\n'> <'\truby-rack\n'> <'\truby-rack-openid\n'> <'\truby-rails'> (${ Id.VSub_Name _railsver) <'\n'> <'\truby-rbpdf\n'> <'\truby-rdoc\n'> <'\truby-redcarpet\n'> <'\truby-request_store\n'> <'\truby-rmagick\n'> <'\truby-protected_attributes'> (${ Id.VSub_Name _railsver) <'\n'> <'\truby-roadie-rails\n'> <'\n'> <'\truby-io-console\n'> <'\t'> ) } spids: [47] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'depends_dev='> name:depends_dev) op: assign_op.Equal rhs: {<ruby-io-console>} spids: [96] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'makedepends='> name:makedepends) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName depends_dev))} spids: [99] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'install='> name:install) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName pkgname) <'.pre-install '> ($ Id.VSub_DollarName pkgname) <.post-install> ) } spids: [104] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'subpackages='> name:subpackages) op: assign_op.Equal rhs: {(DQ )} spids: [112] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'pkgusers='> name:pkgusers) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName pkgname))} spids: [116] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'pkggroups='> name:pkggroups) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName pkgname) <' www-data'>)} spids: [121] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'source='> name:source) op: assign_op.Equal rhs: { (DQ <'http://www.redmine.org/releases/redmine-'> ($ Id.VSub_DollarName pkgver) <'.tar.gz\n'> <'\tgemfile.patch\n'> <'\tdatabase.yml.patch\n'> <'\t'> ) } spids: [127] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_webapps='> name:_webapps) op: assign_op.Equal rhs: {(DQ <'usr/share/webapps'>)} spids: [137] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_builddir='> name:_builddir) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName srcdir)) <'/redmine-'> ($ Id.VSub_DollarName pkgver)} spids: [143] ) ] redirects: [] ) (command.ShFunction name: prepare body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (C {<local>} {<i>}) (C {<cd>} {(DQ ($ Id.VSub_DollarName _builddir))}) (command.ForEach iter_names: [i] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName source)}]) body: (command.DoGroup children: [ (command.Case to_match: {($ Id.VSub_DollarName i)} arms: [ (case_arm pat_list: [{<Id.Lit_Star '*'> <.patch>}] action: [ (command.Sentence child: (C {<msg>} {($ Id.VSub_DollarName i)}) terminator: <Id.Op_Semi _> ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<patch>} {<-p1>} {<-i>} {(DQ ($ Id.VSub_DollarName srcdir)) <'/'> ($ Id.VSub_DollarName i)} ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] ) ] spids: [189 191 215 -1] ) ] redirects: [] ) ] ) redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: build body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (C {<cd>} {(DQ ($ Id.VSub_DollarName _builddir))}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.Pipeline children: [(C {<bundler>} {<check>})] negated: T stderr_indices: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<bundler>} {<list>}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] spids: [244 253] ) ] else_action: [] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: package body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (C {<cd>} {(DQ ($ Id.VSub_DollarName _builddir))}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<mkdir>} {<-p>} { (DQ ($ Id.VSub_DollarName pkgdir) <'/'> ($ Id.VSub_DollarName _webapps) <'/'> ($ Id.VSub_DollarName pkgname) ) } {(DQ ($ Id.VSub_DollarName pkgdir)) <'/etc/redmine'>} ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<install>} {<-o>} {<redmine>} {<-g>} {<www-data>} {<-m775>} {<-d>} {(DQ ($ Id.VSub_DollarName pkgdir)) <'/var/lib/redmine'>} {(DQ ($ Id.VSub_DollarName pkgdir)) <'/var/log/redmine'>} ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] ) (command.ForEach iter_names: [i] iterable: (for_iter.Words words: [ {<database.yml.example>} {<configuration.yml.example>} {<additional_environment.rb.example>} {<routes.rb>} ] ) body: (command.DoGroup children: [ (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<mv>} {<'config/'> (${ Id.VSub_Name i)} {(DQ ($ Id.VSub_DollarName pkgdir)) <'/etc/redmine/'> (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name i> var_name: i suffix_op: (suffix_op.Unary op: <Id.VOp1_Percent '%'> arg_word: {<.example>} ) right: <Id.Right_DollarBrace '}'> ) } ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<ln>} {<-s>} {<'/etc/redmine/'> (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name i> var_name: i suffix_op: (suffix_op.Unary op: <Id.VOp1_Percent '%'> arg_word: {<.example>} ) right: <Id.Right_DollarBrace '}'> ) } {<'config/'> (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name i> var_name: i suffix_op: (suffix_op.Unary op: <Id.VOp1_Percent '%'> arg_word: {<.example>} ) right: <Id.Right_DollarBrace '}'> ) } ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] ) ] ) redirects: [] ) (command.ForEach iter_names: [i] iterable: (for_iter.Words words:[{<db>} {<files>} {<tmp>} {<'public/plugin_assets'>}]) body: (command.DoGroup children: [ (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<chown>} {<redmine> <Id.Lit_Colon ':'> <www-data>} {($ Id.VSub_DollarName i)} ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<chmod>} {<775>} {($ Id.VSub_DollarName i)}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<mv>} {($ Id.VSub_DollarName i)} {(DQ ($ Id.VSub_DollarName pkgdir)) <'/var/lib/redmine/'>} ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<ln>} {<-s>} {<'/var/lib/redmine/'> (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name i> var_name: i suffix_op: (suffix_op.Unary op: <Id.VOp1_Pound '#'> arg_word: {<Id.Lit_Other '*'> <Id.Lit_Slash '/'>} ) right: <Id.Right_DollarBrace '}'> ) } {($ Id.VSub_DollarName i)} ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] ) ] ) redirects: [] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<chown>} {<redmine>} {<Gemfile.lock>}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] ) (C {<ln>} {<-s>} {<'/var/lib/redmine/secret_token.rb'>} {<'config/initializers/'>}) (command.AndOr ops: [Id.Op_DAmp Id.Op_DPipe] children: [ (C {<rm>} {<-r>} {<log>}) (C {<ln>} {<-s>} {<'/var/log/redmine'>} {<log>}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<mv>} {<Id.Lit_Star '*'>} { (DQ ($ Id.VSub_DollarName pkgdir) <'/'> ($ Id.VSub_DollarName _webapps) <'/'> ($ Id.VSub_DollarName pkgname) ) } ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'md5sums='> name:md5sums) op: assign_op.Equal rhs: { (DQ <'425aa0c56b66bf48c878798a9f7c6546 redmine-3.2.1.tar.gz\n'> <'a80146b41b912f248140e616154073f6 gemfile.patch\n'> <'d834bef9b5f01484f1e0ee82676f4109 database.yml.patch'> ) } spids: [597] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'sha256sums='> name:sha256sums) op: assign_op.Equal rhs: { (DQ < '5e69ad50eef27b581e58ea0d72f2dcb19f38db3626e3bd6ed27b74d5a4da5bd6 redmine-3.2.1.tar.gz\n' > <'d9d94fcb696aed05b308114c0b053f878918e3d2dbd12e5ee0b46c041bd18bcd gemfile.patch\n'> < '28b1ec099ae87c43d00d7e997edabaece01d6fc2e67b46c50735e9a1bb72f130 database.yml.patch' > ) } spids: [604] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'sha512sums='> name:sha512sums) op: assign_op.Equal rhs: { (DQ < '20bc63f82aa58a67c10733338e7aebae3348689531f1f0a6dbedb00301f128ef6a29bd6a33d3075b614e01b23f5311a9739b251fb911298e54d4df06df628bf3 redmine-3.2.1.tar.gz\n' > < '9f3be9039f9c576b56d77e3e3f477fe16fdd5d0f8b8b1bb3722cad1aff669f2ee65c308d27ec8c25300b4a3991b65fcf9d4d127abd0542477f1dd8f5af82d7ee gemfile.patch\n' > < '1b5880979f050a71d726c844369cc5340a8d4aa0b59b2301e1d32dea28f70ca2a85e619c8b845c37de08772154eef13fa63716c1beaaa50d97b80fd65c297bf9 database.yml.patch' > ) } spids: [611] ) ] redirects: [] ) ] )