(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_railsver) op:Equal rhs:{(4.2)} spids:[9])]
      spids: [9]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(redmine)} spids:[12])]
      spids: [12]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(3.2.1)} spids:[15])]
      spids: [15]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(2)} spids:[18])]
      spids: [18]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgdesc)
          op: Equal
          rhs: {(DQ ("Project management web application written in Ruby"))}
          spids: [21]
        )
      ]
      spids: [21]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:url)
          op: Equal
          rhs: {(DQ ("http://redmine.org"))}
          spids: [26]
        )
      ]
      spids: [26]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (noarch))} spids:[31])]
      spids: [31]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (GPL2))} spids:[36])]
      spids: [36]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:depends)
          op: Equal
          rhs: 
            {
              (DQ ("ruby\n") ("\truby-actionpack-action_caching") (${ VSub_Name _railsver) ("\n") 
                ("\truby-actionpack-xml_parser") (${ VSub_Name _railsver) ("\n") ("\truby-bigdecimal\n") ("\truby-coderay\n") ("\truby-fastercsv\n") 
                ("\truby-i18n\n") ("\truby-jquery-rails") (${ 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") 
                (${ VSub_Name _railsver) ("\n") ("\truby-rbpdf\n") ("\truby-rdoc\n") ("\truby-redcarpet\n") ("\truby-request_store\n") 
                ("\truby-rmagick\n") ("\truby-protected_attributes") (${ VSub_Name _railsver) ("\n") ("\truby-roadie-rails\n") ("\n") 
                ("\truby-io-console\n") ("\t")
              )
            }
          spids: [47]
        )
      ]
      spids: [47]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:depends_dev)
          op: Equal
          rhs: {(ruby-io-console)}
          spids: [96]
        )
      ]
      spids: [96]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:makedepends)
          op: Equal
          rhs: {(DQ ($ VSub_Name "$depends_dev"))}
          spids: [99]
        )
      ]
      spids: [99]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:install)
          op: Equal
          rhs: 
            {
              (DQ ($ VSub_Name "$pkgname") (".pre-install ") ($ VSub_Name "$pkgname") (.post-install))
            }
          spids: [104]
        )
      ]
      spids: [104]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:subpackages) op:Equal rhs:{(DQ )} spids:[112])]
      spids: [112]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgusers)
          op: Equal
          rhs: {(DQ ($ VSub_Name "$pkgname"))}
          spids: [116]
        )
      ]
      spids: [116]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkggroups)
          op: Equal
          rhs: {(DQ ($ VSub_Name "$pkgname") (" www-data"))}
          spids: [121]
        )
      ]
      spids: [121]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:source)
          op: Equal
          rhs: 
            {
              (DQ ("http://www.redmine.org/releases/redmine-") ($ VSub_Name "$pkgver") (".tar.gz\n") 
                ("\tgemfile.patch\n") ("\tdatabase.yml.patch\n") ("\t")
              )
            }
          spids: [127]
        )
      ]
      spids: [127]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_webapps)
          op: Equal
          rhs: {(DQ (usr/share/webapps))}
          spids: [137]
        )
      ]
      spids: [137]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_builddir)
          op: Equal
          rhs: {(DQ ($ VSub_Name "$srcdir")) (/redmine-) ($ VSub_Name "$pkgver")}
          spids: [143]
        )
      ]
      spids: [143]
    )
    (FuncDef
      name: prepare
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:i) op:Equal spids:[160])]
              spids: [158]
            )
            (C {(cd)} {(DQ ($ VSub_Name "$_builddir"))})
            (ForEach
              iter_name: i
              iter_words: [{($ VSub_Name "$source")}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {($ VSub_Name "$i")}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other "*") (.patch)}]
                          action: [
                            (Sentence
                              child: (C {(msg)} {($ VSub_Name "$i")})
                              terminator: <Op_Semi ";">
                            )
                            (AndOr
                              children: [
                                (C {(patch)} {(-p1)} {(-i)} 
                                  {(DQ ($ VSub_Name "$srcdir")) (/) ($ VSub_Name "$i")}
                                )
                                (ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(1)}
                                )
                              ]
                              op_id: Op_DPipe
                            )
                          ]
                          spids: [189 191 215 -1]
                        )
                      ]
                      spids: [182 186 218]
                    )
                  ]
                  spids: [179 221]
                )
              spids: [175 177]
            )
          ]
          spids: [155]
        )
      spids: [151 154]
    )
    (FuncDef
      name: build
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name "$_builddir"))})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (Pipeline children:[(C {(bundler)} {(check)})] negated:True)
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(bundler)} {(list)})
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
                  ]
                  spids: [-1 253]
                )
              ]
              spids: [-1 266]
            )
          ]
          spids: [230]
        )
      spids: [226 229]
    )
    (FuncDef
      name: package
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name "$_builddir"))})
            (AndOr
              children: [
                (C {(mkdir)} {(-p)} 
                  {
                    (DQ ($ VSub_Name "$pkgdir") (/) ($ VSub_Name "$_webapps") (/) 
                      ($ VSub_Name "$pkgname")
                    )
                  } {(DQ ($ VSub_Name "$pkgdir")) (/etc/redmine)}
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (AndOr
              children: [
                (C {(install)} {(-o)} {(redmine)} {(-g)} {(www-data)} {(-m775)} {(-d)} 
                  {(DQ ($ VSub_Name "$pkgdir")) (/var/lib/redmine)} {(DQ ($ VSub_Name "$pkgdir")) (/var/log/redmine)}
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (ForEach
              iter_name: i
              iter_words: [
                {(database.yml.example)}
                {(configuration.yml.example)}
                {(additional_environment.rb.example)}
                {(routes.rb)}
              ]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (AndOr
                      children: [
                        (C {(mv)} {(config/) (${ VSub_Name i)} 
                          {(DQ ($ VSub_Name "$pkgdir")) (/etc/redmine/) 
                            (BracedVarSub
                              token: <VSub_Name i>
                              suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(.example)})
                              spids: [386 390]
                            )
                          }
                        )
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(1)}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                    (AndOr
                      children: [
                        (C {(ln)} {(-s)} 
                          {(/etc/redmine/) 
                            (BracedVarSub
                              token: <VSub_Name i>
                              suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(.example)})
                              spids: [404 408]
                            )
                          } 
                          {(config/) 
                            (BracedVarSub
                              token: <VSub_Name i>
                              suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(.example)})
                              spids: [411 415]
                            )
                          }
                        )
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(1)}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  spids: [372 426]
                )
              spids: [360 370]
            )
            (ForEach
              iter_name: i
              iter_words: [{(db)} {(files)} {(tmp)} {(public/plugin_assets)}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (AndOr
                      children: [
                        (C {(chown)} {(redmine) (Lit_Other ":") (www-data)} {($ VSub_Name "$i")})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(1)}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                    (AndOr
                      children: [
                        (C {(chmod)} {(775)} {($ VSub_Name "$i")})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(1)}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                    (AndOr
                      children: [
                        (C {(mv)} {($ VSub_Name "$i")} 
                          {(DQ ($ VSub_Name "$pkgdir")) (/var/lib/redmine/)}
                        )
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(1)}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                    (AndOr
                      children: [
                        (C {(ln)} {(-s)} 
                          {(/var/lib/redmine/) 
                            (BracedVarSub
                              token: <VSub_Name i>
                              suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{("*") (Lit_Slash /)})
                              spids: [501 506]
                            )
                          } {($ VSub_Name "$i")}
                        )
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(1)}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  spids: [449 517]
                )
              spids: [439 447]
            )
            (AndOr
              children: [
                (C {(chown)} {(redmine)} {(Gemfile.lock)})
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (C {(ln)} {(-s)} {(/var/lib/redmine/secret_token.rb)} {(config/initializers/)})
            (AndOr
              children: [
                (C {(rm)} {(-r)} {(log)})
                (AndOr
                  children: [
                    (C {(ln)} {(-s)} {(/var/log/redmine)} {(log)})
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
                  ]
                  op_id: Op_DPipe
                )
              ]
              op_id: Op_DAmp
            )
            (AndOr
              children: [
                (C {(mv)} {(Lit_Other "*")} 
                  {
                    (DQ ($ VSub_Name "$pkgdir") (/) ($ VSub_Name "$_webapps") (/) 
                      ($ VSub_Name "$pkgname")
                    )
                  }
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
          ]
          spids: [275]
        )
      spids: [271 274]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:md5sums)
          op: Equal
          rhs: 
            {
              (DQ ("425aa0c56b66bf48c878798a9f7c6546  redmine-3.2.1.tar.gz\n") 
                ("a80146b41b912f248140e616154073f6  gemfile.patch\n") ("d834bef9b5f01484f1e0ee82676f4109  database.yml.patch")
              )
            }
          spids: [597]
        )
      ]
      spids: [597]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha256sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
"5e69ad50eef27b581e58ea0d72f2dcb19f38db3626e3bd6ed27b74d5a4da5bd6  redmine-3.2.1.tar.gz\n"
                ) ("d9d94fcb696aed05b308114c0b053f878918e3d2dbd12e5ee0b46c041bd18bcd  gemfile.patch\n") 
                (
"28b1ec099ae87c43d00d7e997edabaece01d6fc2e67b46c50735e9a1bb72f130  database.yml.patch"
                )
              )
            }
          spids: [604]
        )
      ]
      spids: [604]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha512sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
"20bc63f82aa58a67c10733338e7aebae3348689531f1f0a6dbedb00301f128ef6a29bd6a33d3075b614e01b23f5311a9739b251fb911298e54d4df06df628bf3  redmine-3.2.1.tar.gz\n"
                ) 
                (
"9f3be9039f9c576b56d77e3e3f477fe16fdd5d0f8b8b1bb3722cad1aff669f2ee65c308d27ec8c25300b4a3991b65fcf9d4d127abd0542477f1dd8f5af82d7ee  gemfile.patch\n"
                ) 
                (
"1b5880979f050a71d726c844369cc5340a8d4aa0b59b2301e1d32dea28f70ca2a85e619c8b845c37de08772154eef13fa63716c1beaaa50d97b80fd65c297bf9  database.yml.patch"
                )
              )
            }
          spids: [611]
        )
      ]
      spids: [611]
    )
  ]
)