(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgname)
          op: assign_op.Equal
          rhs: {<xnbd>}
          spids: [6]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgver)
          op: assign_op.Equal
          rhs: {<0.3.0>}
          spids: [9]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgrel)
          op: assign_op.Equal
          rhs: {<0>}
          spids: [12]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgdesc)
          op: assign_op.Equal
          rhs: 
            {(DQ <'NBD server program enabling live block device migration over wide-area networks'>)}
          spids: [15]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:url)
          op: assign_op.Equal
          rhs: {(DQ <'https://bitbucket.org/hirofuchi/xnbd/wiki/Home'>)}
          spids: [20]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:arch)
          op: assign_op.Equal
          rhs: {(DQ <all>)}
          spids: [25]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:license)
          op: assign_op.Equal
          rhs: {(DQ <GPL-2>)}
          spids: [30]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:depends)
          op: assign_op.Equal
          rhs: {(DQ )}
          spids: [35]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:depends_dev)
          op: assign_op.Equal
          rhs: {(DQ )}
          spids: [39]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:makedepends)
          op: assign_op.Equal
          rhs: 
            {
              (DQ ($ Id.VSub_DollarName '$depends_dev') 
                <' glib-dev automake autoconf libtool linux-headers'>
              )
            }
          spids: [43]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:install)
          op: assign_op.Equal
          rhs: {(DQ )}
          spids: [49]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:subpackages)
          op: assign_op.Equal
          rhs: 
            {
              (DQ ($ Id.VSub_DollarName '$pkgname') <'-dev '> ($ Id.VSub_DollarName '$pkgname') <-doc>)
            }
          spids: [53]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:source)
          op: assign_op.Equal
          rhs: 
            {
              (DQ <'https://bitbucket.org/hirofuchi/xnbd/downloads/xnbd-'> 
                ($ Id.VSub_DollarName '$pkgver') <'.tar.bz2\n'> <'\tremove-pagesize.patch\n'> <'\tfix-cblocksize.patch\n'> <'\tremove-sys_siglist.patch'>
              )
            }
          spids: [61]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:_builddir)
          op: assign_op.Equal
          rhs: {(DQ ($ Id.VSub_DollarName '$srcdir')) <'/xnbd-'> ($ Id.VSub_DollarName '$pkgver')}
          spids: [72]
        )
      ]
    )
    (command.ShFunction
      name: prepare
      body: 
        (BraceGroup
          children: [
            (C {<local>} {<i>})
            (C {<cd>} {(DQ ($ Id.VSub_DollarName '$_builddir'))})
            (command.ForEach
              iter_name: i
              iter_words: [{($ Id.VSub_DollarName '$source')}]
              do_arg_iter: F
              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: [117 119 143 -1]
                        )
                      ]
                    )
                  ]
                )
            )
          ]
        )
    )
    (command.ShFunction
      name: build
      body: 
        (BraceGroup
          children: [
            (C {<cd>} {(DQ ($ Id.VSub_DollarName '$_builddir'))})
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {<autoreconf>} {<-vif>})
                (command.ControlFlow
                  token: <Id.ControlFlow_Return return>
                  arg_word: {<1>}
                )
              ]
            )
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {<'./configure'>} {<--build> <Id.Lit_Equals '='> ($ Id.VSub_DollarName '$CBUILD')} 
                  {<--host> <Id.Lit_Equals '='> ($ Id.VSub_DollarName '$CHOST')} {<--prefix> <Id.Lit_Equals '='> <'/usr'>} {<--sysconfdir> <Id.Lit_Equals '='> <'/etc'>} 
                  {<--mandir> <Id.Lit_Equals '='> <'/usr/share/man'>} {<--infodir> <Id.Lit_Equals '='> <'/usr/share/info'>} {<--localstatedir> <Id.Lit_Equals '='> <'/var'>}
                )
                (command.ControlFlow
                  token: <Id.ControlFlow_Return return>
                  arg_word: {<1>}
                )
              ]
            )
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {<make>} {<-j1>})
                (command.ControlFlow
                  token: <Id.ControlFlow_Return return>
                  arg_word: {<1>}
                )
              ]
            )
          ]
        )
    )
    (command.ShFunction
      name: package
      body: 
        (BraceGroup
          children: [
            (C {<cd>} {(DQ ($ Id.VSub_DollarName '$_builddir'))})
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {<make>} {<Id.Lit_VarLike 'DESTDIR='> (DQ ($ Id.VSub_DollarName '$pkgdir'))} 
                  {<install>}
                )
                (command.ControlFlow
                  token: <Id.ControlFlow_Return return>
                  arg_word: {<1>}
                )
              ]
            )
          ]
        )
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:md5sums)
          op: assign_op.Equal
          rhs: 
            {
              (DQ <'73327ea76230e123aee6e115f9eed779  xnbd-0.3.0.tar.bz2\n'> 
                <'358c26ecf6fc9a82ac2c6bca3b12d4d6  remove-pagesize.patch\n'> <'1c33da534f8b4f8fb3aad4d97532ed00  fix-cblocksize.patch\n'> 
                <'d8bda14a419a89c7279ff4d83a0325b4  remove-sys_siglist.patch'>
              )
            }
          spids: [281]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:sha256sums)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                <
'8bbac0a95ab31ffac20e06825b5170dd2cf16bd1acfe07e54656ea823a339b4a  xnbd-0.3.0.tar.bz2\n'
                > <'1a8a86a114ed2ad0471261d9974a9d6bb704e0741a29e5ce3ea5c4901dc7fa6a  remove-pagesize.patch\n'> 
                <
'f8214480f998e516fb27fa2b945caf783e8ed9a398918ef795199061b80e29a6  fix-cblocksize.patch\n'
                > <'20d026e88dc22cc25888f4507400d5c8395f51c4dddad81ee57cbc160f6530bb  remove-sys_siglist.patch'>
              )
            }
          spids: [289]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:sha512sums)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                <
'650874ae2790619970217917a6d56c7855dd6ab723269c8e027f1ce7abbf9b5b718131571f4ae4f7b3301bde1516f464ec1b1aeb6581e84bfefff5e73903c74f  xnbd-0.3.0.tar.bz2\n'
                > 
                <
'9fa5106787cd0fc1ade23fa82f9caa37b920bda90be87aa948a5b11d0c604879663a3d7ae140857beed6af03e18d2b83580201262e1c99162ff697df90346ae3  remove-pagesize.patch\n'
                > 
                <
'7fffb13527db255b95e335d648dbb74ca2f26f44a07e126ae7514c3cb0705465b6d57aa660bf5a345a28f54ffe3b77f27a1e3022ef53ae29a811f3f164997a03  fix-cblocksize.patch\n'
                > 
                <
'611575a15386940085bf37d933d37c3599d8de4f4ed741822e552a471a5727a380e0bddfd126a516a8de3d2819f4b1c5aef1e71d57ee1427727c0aff8772e4c9  remove-sys_siglist.patch'
                >
              )
            }
          spids: [297]
        )
      ]
    )
  ]
)