(command.CommandList
  children: [
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:pkgname spids:[6])
          op: Equal
          rhs: {(opennebula)}
          spids: [6]
        )
      ]
      spids: [6]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:pkgver spids:[9])
          op: Equal
          rhs: {(4.9.80)}
          spids: [9]
        )
      ]
      spids: [9]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:pkgrel spids:[12])
          op: Equal
          rhs: {(2)}
          spids: [12]
        )
      ]
      spids: [12]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:pkgdesc spids:[15])
          op: Equal
          rhs: 
            {
              (DQ 
                (
'Virtual management infrastructure as a service (IaaS) toolkit for cloud computing'
                )
              )
            }
          spids: [15]
        )
      ]
      spids: [15]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:url spids:[20])
          op: Equal
          rhs: {(DQ ('http://opennebula.org'))}
          spids: [20]
        )
      ]
      spids: [20]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:arch spids:[25])
          op: Equal
          rhs: {(DQ )}
          spids: [25]
        )
      ]
      spids: [25]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:license spids:[29])
          op: Equal
          rhs: {(DQ (Apache))}
          spids: [29]
        )
      ]
      spids: [29]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:depends spids:[34])
          op: Equal
          rhs: 
            {
              (DQ ('ruby-json ruby-sequel ruby-nokogiri ruby-sqlite ruby-mysql2 ruby-nokogiri\n') 
                ('\truby-rack14 ruby-sinatra ruby-thin ruby-crack ruby-thin ruby-net-ldap\n') ('\truby-uuidtools ruby-curb ruby-amazon-ec2 ruby-io-console bash\n') ('\tcurl wget')
              )
            }
          spids: [34]
        )
      ]
      spids: [34]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:depends_dev spids:[42])
          op: Equal
          rhs: {(DQ ('xmlrpc-c-dev sqlite-dev openssl-dev libxml2-dev curl-dev'))}
          spids: [42]
        )
      ]
      spids: [42]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:makedepends spids:[47])
          op: Equal
          rhs: {(DQ ($ VSub_DollarName '$depends_dev') (' scons ruby bash'))}
          spids: [47]
        )
      ]
      spids: [47]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:install spids:[53])
          op: Equal
          rhs: {(DQ (opennebula.pre-install))}
          spids: [53]
        )
      ]
      spids: [53]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:pkgusers spids:[58])
          op: Equal
          rhs: {(oneadmin)}
          spids: [58]
        )
      ]
      spids: [58]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:pkggroups spids:[61])
          op: Equal
          rhs: {(oneadmin)}
          spids: [61]
        )
      ]
      spids: [61]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:subpackages spids:[64])
          op: Equal
          rhs: 
            {
              (DQ ($ VSub_DollarName '$pkgname') ('-dev ') ($ VSub_DollarName '$pkgname') ('-doc ') 
                ($ VSub_DollarName '$pkgname') ('-node-kvm:node_kvm')
              )
            }
          spids: [64]
        )
      ]
      spids: [64]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:source spids:[74])
          op: Equal
          rhs: 
            {
              (DQ ('http://downloads.opennebula.org/packages/opennebula-') 
                ($ VSub_DollarName '$pkgver') (/opennebula-) ($ VSub_DollarName '$pkgver') ('.tar.gz\n') ('\topennebula.initd\n') 
                ('\topennebula.confd\n') ('\tgetopt.patch\n') ('\tssh.config\n') ('\tone_auth')
              )
            }
          spids: [74]
        )
      ]
      spids: [74]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:_builddir spids:[89])
          op: Equal
          rhs: {(DQ ($ VSub_DollarName '$srcdir')) (/opennebula-) ($ VSub_DollarName '$pkgver')}
          spids: [89]
        )
      ]
      spids: [89]
    )
    (command.FuncDef
      name: prepare
      body: 
        (command.BraceGroup
          children: [
            (command.Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(lhs_expr.LhsName name:i spids:[106]) op:Equal spids:[106])]
              spids: [104]
            )
            (C {(cd)} {(DQ ($ VSub_DollarName '$_builddir'))})
            (command.ForEach
              iter_name: i
              iter_words: [{($ VSub_DollarName '$source')}]
              do_arg_iter: F
              body: 
                (command.DoGroup
                  children: [
                    (command.Case
                      to_match: {($ VSub_DollarName '$i')}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other '*') (.patch)}]
                          action: [
                            (command.Sentence
                              child: (C {(msg)} {($ VSub_DollarName '$i')})
                              terminator: <Op_Semi ';'>
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(patch)} {(-p1)} {(-i)} 
                                  {(DQ ($ VSub_DollarName '$srcdir')) (/) ($ VSub_DollarName '$i')}
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(1)}
                                )
                              ]
                            )
                          ]
                          spids: [135 137 161 16777215]
                        )
                      ]
                      spids: [128 132 164]
                    )
                  ]
                  spids: [125 167]
                )
              spids: [121 123]
            )
          ]
          spids: [101]
        )
      spids: [97 100]
    )
    (command.FuncDef
      name: build
      body: 
        (command.BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_DollarName '$_builddir'))})
            (command.AndOr
              ops: [Op_DPipe]
              children: [
                (C {(scons)} 
                  {(-j) 
                    (word_part.BracedVarSub
                      token: <VSub_Name JOBS>
                      suffix_op: (suffix_op.StringUnary op_id:VTest_ColonHyphen arg_word:{(2)})
                      spids: [189 193]
                    )
                  }
                )
                (command.ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
            )
          ]
          spids: [176]
        )
      spids: [172 175]
    )
    (command.FuncDef
      name: package
      body: 
        (command.BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_DollarName '$_builddir'))})
            (command.AndOr
              ops: [Op_DPipe]
              children: [
                (command.SimpleCommand
                  words: [
                    {(./install.sh)}
                    {(-u)}
                    {($ VSub_DollarName '$pkgusers')}
                    {(-g)}
                    {($ VSub_DollarName '$pkggroups')}
                  ]
                  more_env: [
                    (env_pair
                      name: DESTDIR
                      val: {(DQ ($ VSub_DollarName '$pkgdir'))}
                      spids: [218]
                    )
                  ]
                )
                (command.ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
            )
            (command.AndOr
              ops: [Op_DPipe]
              children: [
                (C {(install)} {(-m755)} {(-D)} 
                  {(DQ ($ VSub_DollarName '$srcdir')) (/) ($ VSub_DollarName '$pkgname') (.initd)} {(DQ ($ VSub_DollarName '$pkgdir')) (/etc/init.d/) ($ VSub_DollarName '$pkgname')}
                )
                (command.ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
            )
            (command.AndOr
              ops: [Op_DPipe]
              children: [
                (C {(install)} {(-m644)} {(-D)} 
                  {(DQ ($ VSub_DollarName '$srcdir')) (/) ($ VSub_DollarName '$pkgname') (.confd)} {(DQ ($ VSub_DollarName '$pkgdir')) (/etc/conf.d/) ($ VSub_DollarName '$pkgname')}
                )
                (command.ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
            )
            (command.AndOr
              ops: [Op_DPipe]
              children: [
                (C {(install)} {(-o)} {($ VSub_DollarName '$pkgusers')} {(-g)} 
                  {($ VSub_DollarName '$pkggroups')} {(-d)} {(DQ ($ VSub_DollarName '$pkgdir')) (/var/lib/one/.ssh)} 
                  {(DQ ($ VSub_DollarName '$pkgdir')) (/var/lib/one/.one)}
                )
                (command.ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
            )
            (command.AndOr
              ops: [Op_DPipe]
              children: [
                (C {(install)} {(-m600)} {(-o)} {($ VSub_DollarName '$pkgusers')} {(-g)} 
                  {($ VSub_DollarName '$pkggroups')} {(-D)} {(DQ ($ VSub_DollarName '$srcdir')) (/ssh.config)} 
                  {(DQ ($ VSub_DollarName '$pkgdir')) (/var/lib/one/.ssh/config)}
                )
                (command.ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
            )
            (command.AndOr
              ops: [Op_DPipe]
              children: [
                (C {(install)} {(-m600)} {(-o)} {($ VSub_DollarName '$pkgusers')} {(-g)} 
                  {($ VSub_DollarName '$pkggroups')} {(-D)} {(DQ ($ VSub_DollarName '$srcdir')) (/one_auth)} 
                  {(DQ ($ VSub_DollarName '$pkgdir')) (/var/lib/one/.one/one_auth)}
                )
                (command.ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
            )
            (command.AndOr
              ops: [Op_DPipe]
              children: [
                (command.SimpleCommand
                  words: [
                    {(echo)}
                    {(-e)}
                    {(DQ (Lit_Other '\\') ('nEMULATOR = /usr/bin/qemu-system-x86_64'))}
                  ]
                  redirects: [
                    (redir.Redir
                      op: <Redir_DGreat '>>'>
                      fd: 16777215
                      arg_word: 
                        {(DQ ($ VSub_DollarName '$pkgdir')) (/etc/one/vmm_exec/vmm_exec_kvm.conf)}
                    )
                  ]
                )
                (command.ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
            )
          ]
          spids: [208]
        )
      spids: [204 207]
    )
    (command.FuncDef
      name: node_kvm
      body: 
        (command.BraceGroup
          children: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:pkgdesc spids:[439])
                  op: Equal
                  rhs: {(DQ ('KVM node for OpenNebula'))}
                  spids: [439]
                )
              ]
              spids: [439]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:arch spids:[445])
                  op: Equal
                  rhs: {(DQ (noarch))}
                  spids: [445]
                )
              ]
              spids: [445]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:install spids:[451])
                  op: Equal
                  rhs: {(DQ (opennebula-node-kvm.pre-install))}
                  spids: [451]
                )
              ]
              spids: [451]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:depends spids:[457])
                  op: Equal
                  rhs: {(DQ ('ruby openssh qemu-x86_64 libvirt-qemu procps bash'))}
                  spids: [457]
                )
              ]
              spids: [457]
            )
            (C {(mkdir)} {(-p)} {(DQ ($ VSub_DollarName '$subpkgdir'))})
          ]
          spids: [436]
        )
      spids: [432 435]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:md5sums spids:[474])
          op: Equal
          rhs: 
            {
              (DQ ('43ef6a658b5ae121ad4461178abdbd88  opennebula-4.9.80.tar.gz\n') 
                ('44ecaf28b2f0293d55aa401e0ec49948  opennebula.initd\n') ('0b9c5ef240d1cb13d35b21c081e756ad  opennebula.confd\n') 
                ('8f1a346b4020b7c3e2853f42cc38d35b  getopt.patch\n') ('37b82927bd6b0c1dd9cbde2a3728e719  ssh.config\n') ('3ae86352df192e0aae9fdee58532610e  one_auth')
              )
            }
          spids: [474]
        )
      ]
      spids: [474]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:sha256sums spids:[484])
          op: Equal
          rhs: 
            {
              (DQ 
                (
'8e69dedd69001bce6d224661649bc3f5b1608bf87e69dd1ac5ff1e774745a3c9  opennebula-4.9.80.tar.gz\n'
                ) ('20ea2103ccd37988c1426a7e39f37c9923465e1769cc3669dc47751876f3266a  opennebula.initd\n') 
                (
'296d445dfaee90c114a5cd8ecb208c495a3a22dabde13ec9ece623368f5627a1  opennebula.confd\n'
                ) ('072ad62b3ef18eb3c9d33b47acb7a867d076c3083ce561bdbffcf98bb852d663  getopt.patch\n') 
                ('e934a2b5083a04126e5948a6abf1adfa8e557bb086010453824b44282dafdc8b  ssh.config\n') ('4af1f964af87ed62f2b953e8b0269b2ad8dfbcba57b5eebddcb9e8f0cc4379da  one_auth')
              )
            }
          spids: [484]
        )
      ]
      spids: [484]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:sha512sums spids:[494])
          op: Equal
          rhs: 
            {
              (DQ 
                (
'54aff34770a29262a4e3ef886957044489f4d4b1905e847522adff6ad1012df21e9c2caa46bc060fbbbb9d1ce23cb41768f28ca90af5c4e5844b054c0d0d7349  opennebula-4.9.80.tar.gz\n'
                ) 
                (
'2b87e93bce79325ecd57be053e08cc626bdec2bfd9048635452957efc88e5104cbbf74d3c2757e3e42738276b7bd37db2c9845e85570b7ff5f27117dad1d06e2  opennebula.initd\n'
                ) 
                (
'0b5c98642a74a804e36729f0a0abb5434a55ecaa5a9c29620f8940ba69b141f47fa1693a63bc22298e735bba61d3f0b15c82278b5d8071eeb19f02398332f6ae  opennebula.confd\n'
                ) 
                (
'7f39da47a89011bd368217bc7cb33a1647b49d43960bf47f22b742dfa109d04e9b18ad0827d5d3b4c05bd6b31d723322b9c899520fbb2db5b4217a38bab9eefe  getopt.patch\n'
                ) 
                (
'9da0adff52401e5bd50b25a0ec240e781257330f9084c55c6ca741c9179c29681ee6855bc3607d05949124559828f6fdd029b3ea01b881f472292c96489c64cf  ssh.config\n'
                ) 
                (
'8aaab56ae8c8bf7d1c06a47f4f3339c9e62486270b9ab00751dd21fabee19824f05b20b3d979741886539570e761fd3227acd5ef55a04a9273f0b706f93c813f  one_auth'
                )
              )
            }
          spids: [494]
        )
      ]
      spids: [494]
    )
  ]
)