(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgname)
          op: Equal
          rhs: {(py-sqlalchemy-migrate)}
          spids: [6]
        )
      ]
      spids: [6]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_pkgname) op:Equal rhs:{(sqlalchemy-migrate)} spids:[9])]
      spids: [9]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(0.11.0)} spids:[12])]
      spids: [12]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(0)} spids:[15])]
      spids: [15]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgdesc)
          op: Equal
          rhs: {(DQ ("SQLAlchemy Schema Migration Tools"))}
          spids: [18]
        )
      ]
      spids: [18]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:url)
          op: Equal
          rhs: {(DQ ("https://github.com/openstack/sqlalchemy-migrate"))}
          spids: [23]
        )
      ]
      spids: [23]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (noarch))} spids:[28])]
      spids: [28]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (MIT))} spids:[33])]
      spids: [33]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_pydepends)
          op: Equal
          rhs: {(DQ ("py-sqlalchemy py-decorator py-six py-sqlparse py-tempita py-pbr"))}
          spids: [38]
        )
      ]
      spids: [38]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:depends)
          op: Equal
          rhs: 
            {
              (DQ (py3-) 
                (BracedVarSub
                  token: <VSub_Name pkgname>
                  suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{(py-)})
                  spids: [46 50]
                )
              )
            }
          spids: [43]
        )
      ]
      spids: [43]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:makedepends)
          op: Equal
          rhs: {(DQ ("python2-dev py-setuptools python3-dev"))}
          spids: [53]
        )
      ]
      spids: [53]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:subpackages)
          op: Equal
          rhs: 
            {
              (DQ (py2-) 
                (BracedVarSub
                  token: <VSub_Name pkgname>
                  suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{(py-)})
                  spids: [61 65]
                ) (":_py2 py3-") 
                (BracedVarSub
                  token: <VSub_Name pkgname>
                  suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{(py-)})
                  spids: [67 71]
                ) (":_py3")
              )
            }
          spids: [58]
        )
      ]
      spids: [58]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:source)
          op: Equal
          rhs: 
            {
              (DQ ($ VSub_Name "$pkgname") (-) ($ VSub_Name "$pkgver") 
                (".tar.gz::https://github.com/openstack/") ($ VSub_Name "$_pkgname") (/archive/) ($ VSub_Name "$pkgver") (.tar.gz)
              )
            }
          spids: [75]
        )
      ]
      spids: [75]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:builddir)
          op: Equal
          rhs: {(DQ ($ VSub_Name "$srcdir") (/) ($ VSub_Name "$_pkgname") (-) ($ VSub_Name "$pkgver"))}
          spids: [87]
        )
      ]
      spids: [87]
    )
    (FuncDef
      name: build
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name "$builddir"))})
            (AndOr
              children: [
                (C {(python2)} {(setup.py)} {(build)})
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (AndOr
              children: [
                (C {(python3)} {(setup.py)} {(build)})
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
          ]
          spids: [101]
        )
      spids: [97 100]
    )
    (FuncDef
      name: package
      body: 
        (BraceGroup
          children: [
            (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/bin)})
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_Local
                  pairs: [(assign_pair lhs:(LhsName name:name) op:Equal spids:[159])]
                  spids: [157]
                )
              terminator: <Op_Semi ";">
            )
            (ForEach
              iter_name: name
              iter_words: [{(migrate)} {(migrate-repository)}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (AndOr
                      children: [
                        (C {(ln)} {(-s)} {(sqlalchemy-) ($ VSub_Name "$name") (-3)} 
                          {(DQ ($ VSub_Name "$pkgdir")) (/usr/bin/sqlalchemy-) ($ VSub_Name "$name")}
                        )
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(1)}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  spids: [173 197]
                )
              spids: [167 171]
            )
          ]
          spids: [143]
        )
      spids: [139 142]
    )
    (FuncDef
      name: _py2
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:replaces)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$pkgname"))}
                  spids: [209]
                )
              ]
              spids: [209]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:depends)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name depends>
                          suffix_op: 
                            (PatSub
                              pat: {(py-)}
                              replace: {(py2-)}
                              do_all: True
                              do_prefix: False
                              do_suffix: False
                            )
                          spids: [217 224]
                        )
                      )
                    }
                  spids: [215]
                )
              ]
              spids: [215]
            )
            (C {(_py)} {(python2)})
          ]
          spids: [206]
        )
      spids: [202 205]
    )
    (FuncDef
      name: _py3
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:depends)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name depends>
                          suffix_op: 
                            (PatSub
                              pat: {(py-)}
                              replace: {(py3-)}
                              do_all: True
                              do_prefix: False
                              do_suffix: False
                            )
                          spids: [244 251]
                        )
                      )
                    }
                  spids: [242]
                )
              ]
              spids: [242]
            )
            (C {(_py)} {(python3)})
          ]
          spids: [239]
        )
      spids: [235 238]
    )
    (FuncDef
      name: _py
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:python)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number "$1"))}
                  spids: [271]
                )
              ]
              spids: [269]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pyver)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Number 1>
                          suffix_op: 
                            (Slice
                              begin: (ArithWord w:{(Lit_Digits 6)})
                              length: (ArithWord w:{(Lit_Digits 1)})
                            )
                          spids: [281 287]
                        )
                      )
                    }
                  spids: [279]
                )
              ]
              spids: [277]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$pkgdesc") (" (for ") ($ VSub_Name "$python") (")"))}
                  spids: [291]
                )
              ]
              spids: [291]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:depends)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$depends") (" ") ($ VSub_Name "$python"))}
                  spids: [300]
                )
              ]
              spids: [300]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:install_if)
                  op: Equal
                  rhs: 
                    {
                      (DQ ($ VSub_Name "$pkgname") ("=") ($ VSub_Name "$pkgver") (-r) 
                        ($ VSub_Name "$pkgrel") (" ") ($ VSub_Name "$python")
                      )
                    }
                  spids: [308]
                )
              ]
              spids: [308]
            )
            (C {(cd)} {(DQ ($ VSub_Name "$builddir"))})
            (AndOr
              children: [
                (C {($ VSub_Name "$python")} {(setup.py)} {(install)} {(--prefix) (Lit_Other "=") (/usr)} 
                  {(--root) (Lit_Other "=") (DQ ($ VSub_Name "$subpkgdir"))}
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (C {(cd)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/bin)})
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_Local
                  pairs: [(assign_pair lhs:(LhsName name:file) op:Equal spids:[362])]
                  spids: [360]
                )
              terminator: <Op_Semi ";">
            )
            (ForEach
              iter_name: file
              iter_words: [{(Lit_Other "*")}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (AndOr
                      children: [
                        (C {(mv)} {(DQ ($ VSub_Name "$file"))} 
                          {(DQ (sqlalchemy-) ($ VSub_Name "$file") (-) ($ VSub_Name "$pyver"))}
                        )
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(1)}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  spids: [374 397]
                )
              spids: [370 372]
            )
            (C {(rm)} {(-Rf)} 
              {(DQ ($ VSub_Name "$subpkgdir")) (/usr/lib/) ($ VSub_Name "$python") (Lit_Other "*") 
                (/site-packages/migrate/tests)
              }
            )
          ]
          spids: [266]
        )
      spids: [262 265]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha512sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
"07c18d2f197f2bda2caa41672f7e3e278397f3b30d3cf3297200df89a051e9e46147dc1c95e20398ed575e7f3c1dd4c56f9e525ab47a960344f51d276e70639f  py-sqlalchemy-migrate-0.11.0.tar.gz"
                )
              )
            }
          spids: [416]
        )
      ]
      spids: [416]
    )
  ]
)